毕业论文汽车服务站管理系统.doc

上传人:最*** 文档编号:1575285 上传时间:2019-10-28 格式:DOC 页数:44 大小:2.76MB
返回 下载 相关 举报
毕业论文汽车服务站管理系统.doc_第1页
第1页 / 共44页
毕业论文汽车服务站管理系统.doc_第2页
第2页 / 共44页
毕业论文汽车服务站管理系统.doc_第3页
第3页 / 共44页
点击查看更多>>
资源描述
武汉工程大学邮电与信息工程学院毕业设计( 论 文)说明书论文题目 汽车维修服务站管理系统的设计 学 号 0841530205 学生姓名 陈龙 专业班级 计算机应用02班(专) 指导教师 朱思斯 总评成绩 2011年 5 月 20 日武汉工程大学邮电与信息工程学院 毕业设计(论文)目 录摘要.IIAbstract.III第一章 绪论11.1 本次毕业设计课题的研究背景和目的11.2本次课题研究的意义1第二章 Visual Basic 企业版简介22.1 Visual Basic发展历史22.2Visual Basic语言特性32.3 Visual Basic术语32.4 VB的局限性4第三章 数据库设计( mdb )53.1 数据的概念53.2利用DATA控件访问数据库63.3连接数据63.4引用ADO连接数据库6第四章 系统设计74.1 系统目标设计74.2 开发设计思想74.3 系统功能分析74.4系统功能模块设计84.5 数据库需求分析84.6数据库概念结构设计94.7 数据库逻辑结构设计10第五章 各个功能模块的设计125.1身份验证界面的设计125.2“密码修改”界面的设计135.3主界面的设计165.4单据录入界面设计185.5单据查询界面的设计225.6客户管理界面的设计255.7零件管理界面的设计31总结.37致谢.38参考文献.39摘 要汽车维修服务站管理系统目前在汽车维修服务站已经普及。通过一个汽车维修服务站管理系统的例子,介绍了现代企业管理信息化的一般解决方案,其重要性不言而喻。但是,目前依然有少数汽车服务站在具体的业务流程处理过程中仍然使用手工操作的方式来实施,不仅费时、费力,效率低下,而且无法达到理想的效果。 本系统是根据维修服务站的特点,提供汽车服务站配件销售维修单据的录入和打印;单据的查询和统计;客户基本信息和各个零件的信息的添加、修改、删除、查找、打印等;为汽车维修服务站量身定做的管理软件。在设计过程中最大限度满足用户的要求,因此,该系统具有较强的实用性和针对性。本系统界面友好,操作简单,可维护性强,功能完备。本论文介绍了汽车维修服务站管理系统开发的全过程,主要从管理思想、系统分析说明、系统设计说明、系统使用说明、技巧与体会等方面对本管理系统加以论述。前言部分指明了选题背景和开题意义;而后又详细介绍了系统的分析、系统的开发与设计说明等内容;最后给出了系统的使用说明和系统设计的心得体会。 关键词:系统设计;系统分析;管理系统;汽车服务站管理系统AbstractAuto maintenance service station management systems currently in automobile maintenance service station has popularity. Through a vehicle maintenance service station management system example, presents a modern enterprise management informationization generally solutions, its importance is self-evident. However, there are still a few car service station in specific business process process, still use manual operation of the way to carry out, not only time-consuming, tedious, inefficient, and unable to achieve the ideal effect. This system is according to the characteristics of servicing stations, provide automobile service station accessories sales maintenance documents typing and print; Docs query and statistics; The basic information about the clients and the information of each part of add, modify and delete, search, printing, etc; For car maintenance service stations, made-to-measure management software. In the design process to satisfy users requirements, therefore, this system has strong practicability and pertinence. This system friendly interface, easy to operate, and maintainability strong, function complete. This paper introduces the car maintenance service station management system development entire process, mainly from the management idea, system analysis, how, system design description, system instructions, skill and experience this management system aspects were expounded. An introduction to choose a background and pointed out the proposal meaning; Then detailed introduction of system analysis, system development and design specifications content; The use of the system is given instructions and system design experience. Keywords: system design; System analysis; Management system; Auto service station management system - 40 -第一章 绪论1.1 本次毕业设计课题的研究背景和目的随着计算机技术的飞速发展,计算机在汽车维修站的管理中应用的普及,利用计算机实现汽车服务站的管理势在必行。对于汽车服务站管理来说,汽车服务站信息管理是一项琐碎、复杂而又十分细致的工作,工作量很大,一般不允许出错,如果实行手工操作,须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机在单据计算工作,单据核算准确无误、快速输出,而且还可以利用计算机对汽车服务站各种信息进行统计,同时计算机具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高企汽车服务站管理的效率,也是汽车服务站的科学化、正规化管理,与世界接轨的重要条件。1.2本次课题研究的意义国内外研究现状、水平和发展趋势随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给汽车服务站提出越来越严峻的挑战,对汽车服务站体系管理水平以及优质服务上都提出更高的要求。建设一个科学高效的信息管理系统是解决这一问题的必由之路。汽车服务站内部信息是运用现代化技术创造更多更高的经济效益的主要因素之一。由于汽车服务站职工信息、客户信息、配件信息都不尽相同。如果没有一个完整的管理系统来进行管理,那么势必会给管理人员带来种种麻烦,因此类似管理系统之类的软件的开发势在必。现在中国维修企业已进入新管理时代,维修企业管理在经历了计划经济时期的生产管理时代,计划经济与市场经济相结合时期的混合管理时代后,从九十年代末进入全面市场经济时期的新管理时代。新管理时代的中国维修企业管理是面向市场,基于现代企业制度,是中国模式,价值化,系统化,电脑化,国际化和普遍化管理的时代。 新管理时代的中国维修企业管理以建立竞争优势,提高维修企业竞争力为核心.要提高维修企业的竞争力就必须整合企业经营,全面强化维修企业管理,形成维修企业持久发展的内功.越来越多的质优维修企业舍得在管理系统上投资的举动,足以说明这一趋势。 在市场竞争日益激烈,用户需求不断趋向多样化,维修企业间关联程度越来越密切的今天,要求维修企业行动必须快捷,灵敏,在管理的思想观念,方式方法上不断创新.人力已经很难完全达到要求,必须借助当代信息科技的最新成果,优化和加强维修企业的运营和管理。第二章 Visual Basic 企业版简介Visual Basic(VB)是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。从任何标准来说,VB都是世界上使用人数最多的语言不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。2.1 Visual Basic发展历史1991年,微软公司推出了Visual Basic 1.0版。这在当时引起了很大的轰动。这个连接编程语言和用户界面的进步被称为Tripod(有些时候叫做Ruby),最初的设计是由阿兰库珀(Alan Cooper)完成的。许多专家把VB的出现当做是软件开发史上的一个具有划时代意义的事件。其实,以我们现在的目光来看,VB1.0的功能实在是太弱了;(不过最近VB6.0, VB.NET的功能相当大!)。但在当时,它是第一个“可视”的编程软件。这使得程序员欣喜之极,都尝试在VB的平台上进行软件创作。微软也不失时机地在四年内接连推出VB2.0,VB3.0,4.0三个版本。并且从VB3开始,微软将ACCESS的数据库驱动集成到了VB中,这使得VB的数据库编程能力大大提高。从VB4开始,VB也引入了面向对象的程序设计思想。VB功能强大,学习简单。而且,VB还引入了“控件”的概念,使得大量已经编好的VB程序可以被我们直接拿来使用。VB1.0的DOS版本VB1.0于1991年发布。这个连接编程语言和用户界面的进步被称为Tripod(有些时候叫做Ruby),最初的设计是由阿兰库珀(Alan Cooper)完成的【1】。2002年Visual Basic .NET 2002 (v7.0)问世,2003年Visual Basic .NET 2003 (v7.1)问世,2005年11月7日Visual Basic 2005 (v8.0)问世,同时间推出Visual Basic 2005的免费简化版本Visual Basic 2005 Express Edition给Visual Basic初学者及学生使用。VB 2005的“显著”优点是,可以直接编写出XP风格的按钮,以及其他的控件。但是其编写的小程序占用近10MB的内存。2007年12月,微软推出了Visual Studio 2008 Beta 2 (v9),在代码输入上可比VB2005快很多,在非特殊的情况下,VB2008会自动开启、自动完成关键字,而且支持最新的.NET Framework 3.5 Beta 2。通过几年的发展,它已成为一种专业化的开发语言和环境。用户可用Visual Basic快速创建Windows程序,现在还可以编写企业水平的客户端/服务器程序及强大的数据库应用程序。VB会吸引更多的赞誉和批评,也会继续为广大的用户和程序员使用。它非常适合用来开发拥有友好界面的程序(比如针对终端的数据),但是不适合开发其它程序(比如联合计算程序)。现在还有某一些VB软件的精简版,比如VB6的精简版。2.2Visual Basic语言特性VB的中心思想就是要便于程序员使用,无论是新手或者专家。VB使用了可以简单建立应用程序的GUI系统,但是又可以开发相当复杂的程序。VB的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组建的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。过去的版本里面VB程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。窗体控件的增加和改变可以用拖放技术实现。一个排列满控件的工具箱用来显示可用控件(比如文本框或者按钮)。每个控件都有自己的属性和事件。默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。举个例子来说:窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。在文本框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入。VB的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。有很少功能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。VB的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可以处理增加的模块。VB使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。因为越来越多组建的出现,程序员可以选用自己需要的扩展库。和有些语言不一样,VB对大小写不敏感,但是能自动转换关键词到标准的大小写状态,以及强制使得符号表入口的实体的变量名称遵循书写规则。默认情况下字符串的比较是对大小写敏感的,但是可以关闭这个功能【2】。VB使得大量的外界控件有了自己的生存空间。大量的第三方控件针对VB提供。VB也提供了建立、使用和重用这些控件的方法,但是由于语言问题,从一个应用程序创建另外一个并不简单。2.3 Visual Basic术语在讨论Visual Basic时,经常可以听到以下这些术语,因此对这些术语的基本理解十分有帮助。控件简单的说,控件就是构成或者说建造Visual Basic应用程序的图形化工具,包括窗体、按钮、复选框、列表框、数据控件、表格控件和图片控件等等.。事件由用户或操作系统引发的动作。事件的示例有击键、单击鼠标(Click)、双击鼠标(DblClick)、一段时间的限制,或从端口接收数据。方法嵌入在对象定义中的程序代码,它定义对象怎样处理信息并响应某事件。例如,数据库对象有打开纪录集并从一个记录移动到另一个记录的方法程序的基本元素,它含有定义其特征的属性,定义其任务和识别它可以响应的事件的方法。控件和窗体是Visual Basic中所有对象的示例【3】。对象一个控件、窗体等都可被看作一个对象。过程为完成某些特定的任务而编写的代码段,过程通常用于响应特定的事件,也可以当作应用程序的用户自定义函数来使用。属性属性是组成用户界面的各对象的性质的具体描述。例如上述“对象”中所提到的尺寸、位置、颜色、宽度、高度等等都称为控件的 属性。属性决定对象的外观,有时也决定对象的行为。对象的属性绝大部分是VB中已经事先定义好的,但也有的属性是需要在应用 过程中才去定义的。属性即可为对象提供数据,也能从对象取回信息。2.4 VB的局限性VB5和VB6都是面向对象的编程语言,但是不包含继承特性。VB中提供了特殊的类的功能,但是还是不能满足程序员的需求。VB.net 包含了所有面向对象的特性。多线程支持 (VB.Net 2002以及之后的版本,都支持多线程技术。)异常处理。VB.net中使用了Try-Catch-Finally来处理异常。而VB中只有On Error Goto line语句【4】。对指针的支持非常有限:VB只能支持8到32位的整形,很多语言都有无限制的支持。VB不允许在任何数组内存在不变的变量。VB不支持以上特性,程序员需要自己建构方法来实现相似的功能第三章 数据库设计( mdb )3.1 数据的概念办公软件Office套件中,最为广大用户熟悉的是Word和Excel,因为它们功能强大且方便易用,更因为它们不仅可用于办公,还可用于个人写作和家庭记帐理财等。同为Office套件中一部分的Access,虽然有着同样强大的功能,但使用的人却相对少些,不像Word和Excel那样广泛。事实上,真正用过Access的用户,对其强大功能和灵活应用均称赞有加。 Access 数据库管理系统是Microsoft Office 套件的重要组成部分,适用于小型商务活动,用以存贮和管理商务活动所需要的数据。Access不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利用各种数据源,生成窗体(表单),查询,报表和应用程序等。 有结构的数据集合,它与一般的数据文件不同,(其中的数据是无结构的)是一串文字或数字流。数据库中的数据可以是文字、图象、声音等。 Access一种关系式数据库,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。Access数据库以文件形式保存,文件的扩展名是MDB【5】。 Access 数据库由六种对象组成,它们是表、查询、窗体、报表、宏和模块。 1. 表(Table)表是数据库的基本对象,是创建其他5种对象的基础。表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。 2. 数据查询(Query)查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。 3. 数据窗体(Form)窗体提供了一种方便的浏览、输入及更改数据的窗口。还可以创建子窗体显示相关联的表的内容。窗体也称表单。 数据报表(Report)报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。5. 数据宏(Macro)宏相当于DOS中的批处理,用来自动执行一系列操作。Access列出了一些常用的操作供用户选择,使用起来十分方便。 6. 数据模块(Module)模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。模块使用Visual Basic编程【6】3.2利用DATA控件访问数据库该软件是利用ACCESS数据库,操作方便,简单。在ACCESS数据库中不需要创建数据连接,因为它是VB中默认的数据库形式。这里的数据库采用Access,用ADO作为连接数据对象【7】。3.3连接数据在Visual Basic环境下,选择“工程”“引用”命令,在随后出现的对话框中选择“Microsoft ActiveX Data Objects 2.8 Library”,然后单击“确定”按钮,如下图3.1所示: 图3.1 引用工程文件3.4引用ADO连接数据库在程序设计的公共模块中,先定义ADO连接对象。语句如下:Public conn As New ADODB.Connection 标记连接对象然后在子程序中,用如下的语句即可打开数据库:Dim connectionstring As Stringconnectionstring = provider=Microsoft.Jet.oledb.4.0; &_data source= ComputerBookmanage .mdbconn.Open connectionstring第四章 系统设计4.1 系统目标设计 通过该汽车维修服务站管理系统,利用计算机软件技术,使得、客户、零件等功能能够有利的结合起来,提高维修服务站效率和效益从而达到提高服务站管理效率的目的。 系统开发的总体任务是服务站工作人员可以轻松快捷地完成对账户管理的任务。4.2 开发设计思想 本系统开发设计思想: 通过完成这个汽车维修服务站管理系统,实现服务站单据、客户、货物管理的稳定性,易操作性,可维护性,安全性等,从而达到提高货物管理效率的目的。 可行性分析就是对项目开发的可能性和必要性进行分析,避免盲目投资。主要是必要性分析和效益分析,组织管理可行性分析,建立是否存在否定项目的可能性。 服务站管理系统需要投资费用和未来的运营维护费用,尤其投资费用主要包括设备费用,人员费用,材料费用和其他费用,如由于工作方式改变需要增加的其他开支,通常保证新系统运行的可靠性,要求手工和计算机处理在长时间并存。系统的收益主要通过新系统销售来实现,但有些指标也是难以计算的,例如如下指标:1. 单据、客户、配件管理中节省的人力,减轻的劳动强度。2. 降低成本及其他费用。3. 改进薄弱环节,提高工作效率。4. 提高数据处理的及时性和准确性。5. 其他各种有利方面。4.3 系统功能分析 系统功能分析是在系统开发的总体任务的基础上完成的。本课题要完成的功能主要有:(1) 信息管理,信息查询,系统管理。(2) 客户信息管理(3) 配件信息管理(4) 客户维修记录单据添加、修改、删除、查找、打印(5) 管理人员登陆、密码修改4.4系统功能模块设计华星龙迪汽车维修服务站管理系统登陆界面密码修改单据录入单据查询客户管理零件管理单据保存单据打印添加修改删除查找打印图4.1 功能模块单据录入模块:便于新单据各类信息的录入。单据查询模块:用于查询过去但单据,可通过多种方式查找,更加方便快捷的查找出您所需要的信息。客户管理模块:用于客户基本信息的添加、修改、删除、查找、打印。零件管理模块:用于零件基本信息的添加、修改、删除、查找、打印。4.5 数据库需求分析 数据库需求分析是数据库结构设计的第一个阶段,是收集基本、数据结构以及数据处理的流程。针对本次设计,通过对服务站的内容和数据流程分析,总结以下需求分析:(1) 单据的基本信息(2) 客户的基本信息(3) 零件的基本信息(4) 系统的管理权限通过上述系统功能和需求总结,设计如下所示的数据项和数据结构:单据信息:单据号、单据日期、零件的使用及数量、车牌照、车型客户信息:客户名称、客户电话、客户地址、客户简介零件信息:零件编号、零件名称、零件单价、零件备注访问权限:设置用户名和密码。4.6数据库概念结构设计根据上面的需求分析,得到相应的E-R图:“单据信息“实体的E-R图如下图3.2单据号日期车辆牌照车辆型号零件客户单据信息零件数量图3.2 单据信息实体E-R图“客户信息“实体的E-R图如下图3.3客户客户简介客户地址客户电话客户名称图3.3 客户信息实体E-R图“零件信息“实体的E-R图如下图3.4零件零件编号零件单价零件名称零件备注图3.4 零件信息实体E-R图4.7 数据库逻辑结构设计我们需要将上面的数据库概念结构设计转化为Microsoft Access 2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。“单据信息”表的字段设置如下表4-1:表4-1 单据信息表字段名类型可否为空默认值说明单据编号字符串否主索引字段车辆牌照字符串否主索引字段单据日期日期/时间否车型字符串否零件字符串否零件数量数字否两位小数“零件信息”表的字段设置如下表4-2 :表4-2 零件信息表字段名类型可否为空 默认值说明零件编号字符串否主索引字段零件单价货币否零件备注字符串零件名称字符串否主索引字段“客户信息”表的字段设置如下表4-3 :表4-3 客户信息表字段名类型可否为空 默认值说明客户姓名字符串否主索引字段客户电话数字否客户简介字符串客户地址字符串否主索引字段“登陆信息”表的字段设置如下表4-4:表4-4 登陆信息表字段名类型可否为空默认值说明用户名字符串否admin主索引字段密码字符串否然后在相应的表中设置索引字并输入记录。第五章 各个功能模块的设计整个软件由十四个窗体模块三个标准模块和两个数据库文件组成。两个数据库文件分别为data.mdb和db1.mdb。data.mdb相对应的是登陆界面和修改密码界面所用到的数据库,对帐号密码进行验证或修改。db1.mdb是单据、客户、零件的一个数据库。其他各项界面的操做都离不开这个数据库。三个标准模块中module1是对数据库的一个引用。module2和module3是对各种数值的转换的所建立的两个模块,如对日期的转换,货币大小写的转换等。十四的窗体模块构成了可视化的界面,这十四个界面分别为:登陆界面、密码修改界面、主界面、关于界面、单据录入界面、单据查询界面、单据界面、客户管理界面、零件管理界面、客户查找界面、零件查找界面、客户添加界面、零件添加界面、打印选择界面。这里相对重要的几个界面做简单的介绍。5.1身份验证界面的设计当进入程序以后会弹出登陆界面,这里需要输入帐号和密码。这里的帐号只有默认admin,无法在此界面新建其他帐号!当帐号与密码相对应的时候点击登陆会弹出主界面且登陆界面关闭,若不对应则会弹出密码错误窗,要求重新输入!如需修改密码,可直接点击“密码修改”按钮进入密码修改界面!如需退出单击“退出”按钮即可!设计“登陆界面”的用户验证界面如下图5.1所示。图5.1 登陆界面相应事件的代码如下:Private Sub Command1_Click()If Trim(Text1.Text) = Then MsgBox 用户名不能为空!, vbInformation, 系统登陆提示 Text1.SetFocus 光标位置 Exit SubEnd IfIf Trim(Text2.Text) = Then MsgBox 密码不能为空!, vbInformation, 系统登陆提示 Text2.SetFocus Exit SubEnd IfSql = select * from username where 用户名= & Trim(Text1.Text) & Set Rs = ExeSQL(Sql) If Rs.Fields(1) = Trim(Text2.Text) Then Rs.Close Unload Me 卸载本界面 main.Show 显示主程序 Else MsgBox 用户名或密码有误!, vbInformation, 系统登陆提示 Text1.SetFocusEnd IfEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Command3_Click() F2.Show Unload MeEnd Sub5.2“密码修改”界面的设计在进入修改页面界面以后,会出现4个文本框,对应的分别是帐号、旧密码、新密码和确认新密码。帐号和密码必须对应正确才能进行密码修改。两次输入的新密码必须相同而且不能为空,填写正确以后点击确定可进行密码修改。若输入错误,则会弹出相对应的错误提示窗口!“密码修改”界面如下图所示5.2:图5.2 密码修改界面相应事件的代码如下:Private Sub Command1_Click()Dim Sql As StringIf Text1.Text = Then MsgBox 帐号不能为空, vbOKOnly + vbExclamation Text1.SetFocus Exit SubEnd IfIf Text2.Text = Then MsgBox 旧密码为空, vbOKOnly + vbExclamation Text1.SetFocus Exit SubEnd IfIf Text3.Text = Then MsgBox 新密码为空, vbOKOnly + vbExclamation Text2.SetFocus Exit SubEnd IfIf Text4.Text = Then MsgBox 校验码为空, vbOKOnly + vbExclamation Text3.SetFocus Exit SubEnd IfIf Text3.Text = Text4.Text ThenElse: MsgBox 新密码与校验码不一致, vbOKOnly + vbExclamationExit SubEnd IfSql = select * from username where 用户名= & Text1.Text & Set Rs = ExeSQL(Sql)If Rs.Fields(1) Trim(Text2.Text) Then MsgBox 旧帐号或密码有误, vbOKOnly + vbExclamation Exit SubElse Rs.Fields(1) = Trim(Text3.Text) Rs.Update Rs.Requery MsgBox 密码修改成功, vbOKOnly + vbInformationEnd IfRs.CloseF1.ShowUnload MeEnd SubPrivate Sub Command2_Click()F1.ShowUnload MeEnd SubPrivate Sub Form_Load()PasswordClearEnd SubSub PasswordClear() 初始化Text1.Text = Text2.Text = Text3.Text = End Sub5.3主界面的设计 单击主界面的中的图片会弹出关于本软件的介绍。主界面上有5个按钮点击按钮分别进入相对应的界面且主界面不会退出,只有单击“退出”按钮后才会退出主界面。设计主界面如下图5.3:图5.3 主界面相应事件代码如下:Private Sub Form_Click()andyou.ShowEnd SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)For i = 0 To 4Image1(i).Visible = FalseImage2(i).Visible = FalseImage3(i).Visible = TrueNext iEnd SubPrivate Sub Form_Load() Timer1.Interval = 1000 Timer1.Enabled = TrueSet db = OpenDatabase(App.Path & db1.mdb)ldpic Image1(0), input.gifldpic Image1(1), djcx.gifldpic Image1(2), khgl.gifldpic Image1(3), ljgl.gifldpic Image1(4), exit.gifldpic Image3(0), input.gifldpic Image3(1), djcx.gifldpic Image3(2), khgl.gifldpic Image3(3), ljgl.gifldpic Image3(4), exit.gifFor i = 0 To 4ldpic Image2(i), shadow.gifNext iMe.ShowDim bTD As Boolean bTD = CBool(GetSetting(App.EXEName, Option, Today, 0)If bTD = False Then andyou.Show 1End IfEnd SubPrivate Sub Image1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)Image3(Index).Visible = TrueImage2(Index).Visible = FalseImage1(Index).Visible = FalseEnd SubPrivate Sub Image1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)Image2(Index).Visible = TrueImage1(Index).Visible = TrueImage3(Index).Visible = FalseSelect Case Index Case 0 Form1.Show (1) Case 1 Form3.Show (1) Case 3 ljgl.Show (1) Case 4 End Case 2 khgl.Show (1)End SelectEnd SubPrivate Sub Image3_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)If Not Button = 1 ThenImage2(Index).Visible = TrueImage1(Index).Visible = TrueImage3(Index).Visible = FalseEnd IfEnd SubPrivate Sub Image3_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)Image2.Visible = TrueEnd SubPrivate Sub Image4_Click()End SubPrivate Sub Timer1_Timer()Label5.Caption = Year(Now) & 年 & Month(Now) & 月 & Day(Now) & 日 & Time & 星期 & Weekday(Now) - 1End Sub5.4单据录入界面设计单据录入界面可实现单据的录入和打印,在输入单据的时候必须填写单据中所需要的各项信息。在输入客户和零件信息时若在数据库找不到相对应的信息则会弹出对应的客户或者是零件添加页面!单据填写完毕后,单击“保存单据”可对单据进行保存。如需打印则单击打印按钮。单据未保存是单击退出按钮会提示单据未被保存,询问是否退出。在单据输入格式方面,点击相应的文本框时,会有相应的格式输入信息提示。设计单据录入界面如下图5.4:图5.4 单据录入界面相应事件实现代码如下:Dim baocun As Boolean -在选择退出或打印是判断时候提示保存Dim nowrow As Integer -标记列表前一次row和col change时的行和列Dim nowcol As Integer -标记列表前一次row和col change时的行和列Dim changable As Boolean -判断是否可以更新列表编辑文本框的内容Dim inputstr As String - 存储text1(2)框从键盘上输入的那些文本Dim inputstr1 As String -存储ljbedit(1)框从键盘上输入的那些文本Dim text1_changable As Boolean -防止发生text框改变时的重复change事件Dim entered As Boolean -避免在日期输入检查合法性时重复检查Dim listchange As BooleanPrivate Sub Command1_Click()If Not (baocun) Then answer = MsgBox(还未保存,保存吗?, vbYesNoCancel + vbQuestion, 系统提示) If answer = vbYes Then Call Command2_Click Else If answer = vbCancel Then Exit Sub End If End IfEnd IfIf baocun Then Call printitEnd IfEnd SubPrivate Sub Command2_Click()Dim rec As Recordset -打开单据表的recordsetDim rec1 As Recordset -打开单据表对应的零件列表的recordsetDim newrec As TableDef -建立单据表对应的零件列表时用到的tabledefDim newind As Index -建立单据表对应的零件列表的索引时用到的index-错误检查模块If Text1(0).Text = Then MsgBox 必须要输入单据号, vbCritical, 系统提示 Text1(0).SetFocus Exit Sub If Not (judge(Text1(0).Text, Text1(0).Tag) Then Text1(0).SetFocus baocun = False Exit Sub End IfEnd IfIf Text1(1).Text = - - Then MsgBox 必须要输入日期, vbCritical, 系统提示 Text1(1).SetFocus Exit Sub If Not (judge(Text1(1).Text, Text1(1).Tag) Then Text1(1).SetFocus baocun = False Exit Sub End IfEnd If-开始保存Set db = OpenDatabase(App.Path & db1.mdb)Set rec = db.OpenRecordset(1)rec.Index = 单号rec.Seek =, Text1(0).Text-如果没有此单号的单数据库保存If rec.NoMatch Then -保存单的其他数据 rec.AddNew rec.Fields(客户名) = Text1(2).Text rec.Fields(客户地址) = Text1(4).Text rec.Fields(客户电话) = Text1(3).Text rec.Fields(车型) = Text1(6).Text rec.Fields(牌照) = Text1(5).Text rec.Fields(日期) = Text1(1).FormattedText rec.Fields(总金额) = hj.Text rec.Fields(销售员) = xsy.Text rec.Fields(单号) = Text1(0).Text rec.Update -保存零件 Set rec1 = db.OpenRecordset(djlj) For i = 1 To ljb.Rows - 2 rec1.AddNew If Not ljb.TextArray(i * ljb.Cols + 1) = Then rec1.Fields(slno) = ljb.TextArray(i * ljb.Cols + 0) rec1.Fields(零件编号) = ljb.TextArray(i * ljb.Cols + 1) rec1.Fields(品名) = ljb.TextArray(i * ljb.Cols + 2) rec1.Fields(数量) = ljb.TextArray(i * ljb.Cols + 3) If Not (ljb.TextArray(i * ljb.Cols + 4) = ) Then rec1.Fields(单价) = CCur(ljb.TextArray(i * ljb.Cols + 4) End If rec1.Fields(总额) = CCur(ljb.TextArray(i * ljb.Cols + 5) rec1.Fields(单据号) = Text1(0).Text End If rec1.Update Next i MsgBox 保存完成!, vbExclamation, 系统提示 baocun = True Call resetall Text1(0).SetFocusElse MsgBox 数据库中已有此单据,请改一下单据号!, vbInformation, 系统提示 baocun = FalseEnd IfEnd SubPrivate Sub Command3_Click() If Not (baocun) Then answer = MsgBox(还未保存,保存吗?, vbYesNoCancel + vbQuestion, 系统提示) If answer = vbYes Then Call Command2_Click Else If answer = vbNo Then Unload Me End If Else Unload Me End IfEnd Sub5.5单据查询界面的设计 进入单据查询界面后,会有多种信息的查询方法,在这里只需要输入一个或几种就可进行单据的查询!查询的结果会在下方查询结果表中显示。双击击查询结果表中的一项数据,会弹出单据窗口,可查看相对应的单据的详细信息。设计单据录入界面如下图5.5:图5.5 单据查询界面相应事件实现代码如下:Private Sub MSFlexGrid1_DblClick()If Not (Data1.Recordset.EOF And Data1.Recordset.BOF) ThenData1.Recordset.MoveFirstData1.Records
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 模板表格


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!