轿车4S店综合服务系统实用培训教程_第1页
轿车4S店综合服务系统实用培训教程_第2页
轿车4S店综合服务系统实用培训教程_第3页
轿车4S店综合服务系统实用培训教程_第4页
轿车4S店综合服务系统实用培训教程_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第页引言中国以前的汽车销售是由国营的汽车销售公司垄断。到了20世纪90年代中期,汽车厂商开始建立自己的销售渠道,并逐渐形成以下四种汽车渠道模式。1代理制。渠道模式可表述为厂商→总代理→区域代理→下级代理商→最终用户。2.代理制。渠道模式可表述为厂商→区域总代理→下级代理商→最终用户。3.经销制。渠道模式可表述为厂商→特许经销商→最终用户。4.专卖制。渠道模式可表述为厂商→专卖店→最终用户。但是,随着汽车市场逐渐成熟,用户的消费心理也逐渐成熟,用户需求多样化,对产品、服务的要求也越来越高,越来越严格,原有的代理销售体制已不能适应市场与用户的需求。4S店的出现,恰好能满足用户的各种需求,它可以提供装备精良、整洁干净的维修区,现代化的设备和服务管理,高度职业化的气氛,保养良好的服务设施,充足的零配件供应,迅速及时的跟踪服务体系。通过4S店的服务,可以使用户对品牌产生信赖感,所以说,4S店是汽车市场激烈竞争下的产物。第一章开发工具的软件描述1.1ADO编程模型简介在VB6.0中推出的ADO(ACTIVEDataObject)是一种数据访问策略,也是一个用于存取数据源的COM组件,它提供了编程语言和统一数据访问方式OLEDB的一个中间层。他将逐步替代DAO和RDO而成为主要的数据访问接口。ADO对象模型包括下表所示的一些可编程的对象。名称说明Connection(连接)通过“连接“可使应用程序访问数据源Command(命令)通过连接所发出的“命令“操作数据源Recordset(记录集)“记录集”描述来自数据表或命令执行结果的记录的集合Eror(错误)用于维护数据源所产生的错误信息Parameter(参数)“参数“是命令所需要的变量部分Field(字段)用于操作记录集中单个列的信息其中的每个对象都具有属性(Properties)对象,用于描述对象的属性。1.连接(Connection)对象“连接”是交换数据所必须的环境,通过“连接”可使应用程序访问数据源。ADO对象模型使用Connection对象使连接概念得宜具体化,Connection对象用于指定专门的提供者的任意参数下表列出Connection对象的常用属性和方法。名称说明ConnectionString属性设置到数据源的连接信息Open方法打开数据源的连接Excuse方法对连接执行各种操作Cansel方法取消Open或Excuse方法的调用Close方法关闭打开的Connection对象2.命令(Command)对象“命令”对象描述对数据源执行的命令。通过已建立的连接发出的“命令”可以某种方式来操作数据源。一般情况下,命令可以在数据源中添加、删除、或更新数据,或者在表中以行的格式检索数据。ADO对象模型用Command对象来体现命令概念,使用Command对象可使ADO优化命令执行,下表列出Command对象的常用属性和方法。名称说明ActiveConnection属性设置到数据源的连接信息CommandText方法指定发送的命令文本,如SQL语句等CommandType设置或返回CommandText的类型Excuse方法执行CommandText属性指定操作Cansel方法取消Excuse方法的调用3.记录集(Recordset)对象“记录集“对象描述来自数据表或命令执行结果的记录集合,其组成为记录(行)。Recordset是在进行中检查和修改数据最主要的方法。常用于指定可以检查的行,移动行,指定移动行的顺序,添加、更改或删除行,通过更改行更新数据源等。下表列出Recordset对象的常用属性和方法。名称说明ActiveConn属性tion返回Recordset对象所属的Connection对象Souce属性返回或设置Recordset对象的生成方式;Command对象、SQL语句或存储过程RecordCount属性返回Recordset对象中的记录个数BOF、EOF属性指示当前记录指针位置是否位于首记录前、末记录后Bookmark属性返回或设置Recordset对象中当前记录的书签CursorTyp属性设置或返回Recordset对象中使用的光标类型Filter属性设置Recordset对象中的数据筛选条件Sort属性设置排序字段Open方法打开代表数据库、查询结果等Recordset对象中的记录的光标Move的方法移动Recordset对象中的当前记录指针到指定位置Movefirst、Movelast、Movenext和MovePrevios方法移动Recordset对象中的当前记录指针到首记录、末记录、下一个、上一个Addnew方法为可更新的Recordset对象创建一条新记录Requery方法重新执行生成Recordset对象的查询,以更新其中数据Update方法保存对当前记录的修改Cancelupdate方法取消在调用Update方法之前对当前记录的修改Delete方法删除当前记录或记录组此外,在ADO编程模型中,Connection、Command、Recordset和Field对象都具有Properties集合。它包含所有属于各个包含对象的Property对象。

ADO对象拥有可在其上使用的诸如“整型”、“字符型”或“布尔型”这样的普通数据类型来设置或检索值的属性。然而,有必要将某些属性看成是数据类型“COLLECTIONOBJECT”的返回值。相应的,集合对象具有存储和检索适合该集合的其他对象的方法。1.1.1ADO提供执行操作的方式1、连接到数据源。同时,可确定对数据源的所有更改是否已成功或没有生。

2、指定访问数据源的命令,同时可带变量参数,或优化执行。

3、执行命令。

3、如果这个命令使数据按表中的行的形式返回,则将这些行存储在易于检查、操作或更改的缓存中。

4、适当情况下,可使用缓存行的更改内容来更新数据源。

5、提供常规方法检测错误(通常由建立连接或执行命令造成)。在典型情况下,需要在编程模型中采用所有这些步骤。但是,由于ADO有很强的灵活性,所以最后只需执行部分模块就能做一些有用的工作。1.1.2ADO的特点ADO是一种可视化、面对对象和调用事件驱动方式的结构高级程序设计,可用于Windows环境下的应用程序,她简单易学、效率高,而且功能强大。总的来说,ADO具有以下特点:1、易于使用这是ADO技术的最重要的一个特征。由于ADO是高层应用,所以相对于OLEDB或者ODBC来说,它具有面向对象的特性。同时,在ADO的对象结构中,其对象之间的层次关系并不明显。相对于DAO等访问技术来讲,又不必关心对象的构造顺序和构造层次。对于要用的对象,不必选建立连接、会话等对象,只需直接构造即可,方便了应用程序的编制。2、高速访问数据源由于ADO技术基于OLEDB,所以,它也继承了OLEDB访问数据库的高速性。3、可以访问不同数据源ADO技术可以访问包括关系数据库和非关系数据库的所有文件系统。此特点使应用程序有很多的灵活性和通用性。4、可以用于MicrosoftActiveX页ADO技术可以以ActiveX控件的形式出现,所以,可以被用于MicrosoftActiveX页,此特征可简化WEB页的编程。5、程序占用内存少由于ADO是基于组件对象模型(COM)的访问技术,所以,用ADO产生的应用程序占用内存少。1.2数据库的发展数据库(database)为满足某一部门中多个用户多种应用的需要,按照一定的数据模型在计算机系统中组织、存储和使用的互相联系的数据集合。带有数据库的计算机系统,除具备一般的硬件、软件外,必须有用以存储大量数据的直接存取存储设备、管理并控制数据库的软件——数据库管理系统(DBMS)、管理数据库的人员——数据库管理员(DBA)。这样的数据、硬件、软件和管理人员的总体构成数据库系统。数据库仅是数据库系统的一个组成部分。数据库系统的功能和特征数据库系统由文卷系统发展而来。与文卷系统相比,这种系统具有数据、体系和控制三个方面的主要特征。数据特征在文卷系统中虽然程序与数据之间可用存取方法进行转换,但文卷还是与应用程序对应的,即数据仍面向应用。每一应用各自建立自己的一组文卷。不同的应用若涉及相同的数据,则这些数据分别纳入各自的文卷之中。文卷的各种记录之间没有建立联系,因而数据冗余度大。增加新的应用,必须同时增加新的文卷。因此,文卷系统中的文卷是无结构的、不易扩充的信息集合。数据库则不仅描述数据本身,而且描述数据之间的联系。它的数据结构反映了某一部门的整体信息结构,数据冗余度小、易于扩充新的应用,因而是面向数据总体结构的信息集合,可为多个用户共享。体系特征一切数据都有逻辑和物理两个侧面。在数据库系统中,数据逻辑结构的描述称为逻辑模式。逻辑模式又分为描述全局逻辑结构的全局模式(简称模式)和描述某些应用所涉及的局部逻辑结构的子模式。数据物理结构的描述称为存储模式。这两种模式总称为数据库模式。

数据库系统中,用户根据子模式编制程序。子模式与模式模式与存储模式之间有软件进行映射。因此,程序与数据之间具有两级独立性:物理独立性和逻辑独立性。数据的存储模式改变,而模式可以不改变,因而不必改写应用程序,这称为物理独立性。模式改变时,子模式可能不改变,也就不必改写应用程序,这称为逻辑独立性。由于数据库系统具备比较高的程序与数据的独立性,可以使程序员在编制应用程序时集中精力考虑算法逻辑,不必过问物理细节,而且可以大大减少应用程序维护的工作量。控制特征数据库数据数量庞大,结构复杂,又为多个用户所共享。因此,必须由数据库管理系统在定义、建立、运行以及维护时进行统一管理和控制,以保证数据库数据的安全性、完整性和并发操作的一致性。此外,还必须有数据库管理员专门负责对数据库的管理、控制监督和改进。由于数据库系统具有上述特征,它的出现使信息系统的研制从围绕加工数据的程序为中心,转变到围绕共享的数据库来进行。这便于数据的集中管理,有利于应用程序的研制和维护。数据减少了冗余度和提高了相容性,从而提高了作出决策的相容性。因此,大型复杂的信息系统大多以数据库为核心,数据库系统在计算机应用中起着越来越重要的作用。研究课题数据库研究的课题,主要涉及三个领域。数据库管理系统软件的研制DBMS是数据库系统的基础。研制DBMS的基本目标,是扩大功能,提高性能和可用性,从而提高用户的生产率。70年代以来,研制的重点是探索关系数据库管理系统的设计,内容包括关系数据语言、查询优化、并发控制和系统性能等。另一类课题是对DBMS标准化的研究,即研究一个统一的DBMS体系结构的规范。数据库设计这是在计算机系统具有的数据库管理系统的基础上,按照应用要求以及计算机系统所提供的数据模型和功能,设计一个结构良好、使用方便、效率较高的,以数据库为核心的应用信息系统。这一领域主要的研究课题,是数据库设计方法学和设计工具的探索。例如,运用软件工程的方法和工具指导数据库设计;研究数据库设计各个阶段中完备的方法和工具;以关系数据库的规范化理论为指南进行数据库逻辑设计等。数据库理论主要研究关系数据库理论。关系数据库理论研究的意义,一方面在于它为数据库学科奠定了理论基础;另一方面它为数据库设计提供了判别标准,从而成为数据库设计的有力指南。研究的主要内容是关系的规范化理论。关系规范化理论已应用于数据库设计的各个阶段。发展数据库技术是计算机科学中发展最快的领域之一,新的领域越来越多。分布式数据库系统随着70年代后期分布计算机系统的发展,相应地研究成功分布式数据库系统。分布式数据库系统是一个在逻辑上完整,而在物理上分散在若干台互相连接的结点机上的数据库系统。它既具有分布性又具有数据库的综合性。这是数据库系统发展的一个重要方向。分布式数据库系统结构复杂,其中最复杂的是分布式数据库管理系统。数据库机器新的计算机系统的体系结构。它把由中央处理器包办的数据库操作分散给一些局部的部件来执行,或转移到一个与主计算机相连的专用计算机去执行,以提高并行性。数据库机器的发展,包括智能控制器和存储器,专用处理机和数据库计算机。数据库语义模型数据库的数据模型基本上属于语法模型,语义体现很不完备,不能明显地含有现实世界的意义。因此,用户只能按照DBMS所提供的数据操纵语言访问数据库。语义模型能准确地描述现实世界中某个部门的信息集合及其意义,使用户能基于对现实世界的认识或用类似于自然语言的形式来访问数据库。这方面的研究已发展为数据语义学。数据库智能检索数据库技术和人工智能相结合,根据数据库中的事实和知识进行推理,演绎出正确答案,这就是数据库的智能检索。这涉及到自然语言用户接口、逻辑演绎功能和数据库语义模型等问题,如70年代末所开始的知识库管理系统和演绎数据库的研究。办公室自动化系统中的数据库研究在办公室自动化系统中数据库技术的应用,其中主要研究对各种非格式化数据如图像、声音、正文的处理,以及面向端点用户的高级语言接口。第二章汽车4S店综合服务系统的分析与设计

进入21世纪以来,随着汽车工业竞争的日趋激烈,计算机的飞速发展,计算机在汽车服务方面发挥着越来越大的作用,利用计算机实现对汽车企业的管理势在必行。对于大中型企业来说,利用计算机支持企业高效完成汽车的销售、查询的日常事物以及了解客户对企业或车辆的信息反馈,只有这样才能适应现代企业的制度要求,才能推动企业走向科学化的必要条件。而在销售、查询、信息反馈方面都是一些琐碎、复杂的工作,销售额的计算,进货库和销售库的管理一般都是不允许出错的,如果实行手工操作,数量大的时候,这不仅耗时,而且不能够快速、准确无误的的算出结果,但是利用计算机进行工作,在这些工作中有着人工无法比拟的优点。例如:管理方便、存储量大、保密性好、成本低等。这些优点极大的提高汽车4S店综合服务系统的开发性和实用前景。2.1系统分析要设计一个有效的汽车4S店综合服务系统必须做全面的调查,从多方面来对系统进行考虑。重点是数据分析极其处理过程,从系统的分析的调查中获得企业用户对系统的使用要求。包括:功能要求,既要实现什么功能以及怎样实现信息要求,企业用户从数据库中获得的怎样的信息内容安全性和完整性的要求2.2系统的设计使用Visualbasic和ADO对数据库和程序设计语言进行编写和实现。在编写程序过程中,既要考虑程序实现设计功能,同时也要考虑程序的简单性,这样的目的是以便于后来的程序调试和修改。在创立数据库模块时,要从实际从发,必须考虑到每一个模块的实际意义。设计的模块有:2.2.1进货模块的设计2.2.2销售模块的设计2.2.3进货查询模块的设计2.2.4维修用户模块的查询2.2.5购车用户添加及查询模块的设计2.2.6车辆维修模块的设计2.2.7信息反馈模块的设计2.2.8汽车临配件模块的设计2.2.9车辆保养模块的设计第三章系统操作流程图及功能介绍3.1系统功能介绍:车辆进货;车辆销售;车辆进货查询;添加数据记录;信息反馈;车辆维修与保养;3.2系统功能模块图:图3.1系统功能模块图通过系统模块图,我们可以简单的了解一下系统结构,现在我们对以下的模块(销售管理、车辆资料实体、查询系统、管理系统)做一个简单的了解。以便于我们更好的了解各个模块的功能。图3.2销售管理实体E-R图图3.3车辆资料实体E-R图图3.4查询系统的模块图图3.5车辆维修系统3.6数据库管理系统图图3.7管理系统图第四章车4S店综合服务系统主体功能说明4.1陆界面的说明及功能:系统运行之后,首先呈现您的面前是系统的登陆界面,该界面是由姓名和密码组成,登陆界面如图4.1所示。图4.1登陆界面进入登陆界面后,单击用户名所对应文本框的下拉列表按钮,将看到有许燕永、张立军、王文凯、石景丰等用户名,每个用户名都有各自所对应的密码,任选一个用户名,如以许燕永为例(其默认密码为1111),在对应的文本框内输入密码,单击确定按钮,即可登陆,进如到轿车4S店主界面。如图4.2所示。图4.24S店界面但是如果密码输入错误,将出现如图4.3所示。图4.3密码错误提示对话框用它来保护系统,使系统具有较高的安全性。点确定后,用户可以重新输入密码。该系统允许输入三次密码,如果用户三次都不能输入正确的密码,则系统认为你为非法用户,试图窃取信息,所以系统会自动弹出“对不起,您无权登陆此系统!”对话框,如图4.4所示。图4.4登陆失败界面点击确定按钮后自动将用户名文本框、密码文本框变成灰色,成为不可用状态,登陆者只能取消,退出登陆界面。如果用户名和密码都正确,用户就进入到轿车4S店主界面。如图4.2。程序代码如下:PrivateSubCommand1_Click()DimbAsBoolean,DAsString,iAsInteger:StaticKAsIntegerD=False:b=False:K=K+1Adodc1.RefreshAdodc1.Recordset.MoveLastPrintKFori=1ToAdodc1.Recordset.RecordCountStep1Adodc1.Recordset.AbsolutePosition=i'i-1->iIfTrim(Adodc1.Recordset.Fields("姓名").Value)=Trim(Combo1.Text)AndTrim_(Adodc1.Recordset.Fields("密码").Value)=Trim(Text1.Text)ThenForm1.HideForm2.Show:K=0:ExitForElseb=TrueEndIfNextiIfK=1OrK=2ThenD=MsgBox("您的密码错误,请从新输入!",32,"密码错误")EndIfIfK=3ThenD=MsgBox("警告!你输入的信息有三次不正确!",32,"密码错误")Combo1.Enabled=False:Text1.Enabled=FalseEndIfEndSubPrivateSubCommand2_Click()UnloadMeEndSub4.1.1登陆界面的设计和实现:用户的登陆界面是进入应用系统的舌喉,在安全性方面占有重要的地位,是系统安全、稳定、正常运行的关键,同时为了能够真正的吸引操作人员的眼球,让他们感到舒服,美观也是很重要的,所以对登陆界面进行美观设置。图案设置:为了美化登陆界面,首先在工具箱中选择Image控件,把它拖到窗口上,然后Image的属性栏上使用Picture属性。2.控件分布:主要包括5个Label控件,它们的Caption属性分别为用户名、密码、指导老师、制作人、时间显示,其他属性为默认值;一个Textbox控件;一个Combo控件;一个Adodc控件,两个CommandButton控件,它们的属性分别为确定、取消。3.控件功能:【确定】命令按钮,首先它是判断用户名和密码是否一致,如果不一致则出现用户提示信息-“您的密码错误,请重新输入!”,如果用户名和密码一致,操作人员则可以打开主界面,进入系统进行以后的相关操作。【取消】命令按钮则是退出登陆系统。4.2轿车销售界面系统主界面包括了整个应用程序的概况,其上面显示的所有功能也就是该系统的所有功能,也是操作人员可以操作的所有显示,它是该系统的母体,如图4.2所示。在系统主界面上,有五个功能键,分别为车辆销售、汽车零配件、维修服务、信息反馈和退出,意识先各自的功能。1.图案设置:美化界面,在工具箱上选择Image控件,把它拖到窗口上,然后在在工具箱上选择Image属性栏中使用Picture属性导入图片。2.控件分布:主要包括一个Label控件,它的Caption属性为欢迎您到汽车4S界面,5个CommandButton控件,它们的属性分别为车辆销售,汽车零配件,维修服务,信息反馈和返回。单击轿车销售按钮,会显示出轿车销售界面,在轿车销售界面上有六个功能键,一个Label控件,它的Caption属性为欢迎您到汽车销售系统,5个CommandButton控件,它们的Caption属性分别为进货,销售,查询,网络连接和退出。如图4.5所示。程序代码:PrivateSubCommand1_Click()Form4.ShowForm2.HideEndSubPrivateSubCommand5_Click()Form2.HideForm1.ShowEndSub4.2.1进货界面在汽车销售系统中,单击进货按钮,您就可以进入到进货界面,该界面有多个Label控件和所对应的多个Text控件,两个CommandButton控件,它们的Caption属性分别为进货和取消,还有1个DataGrid控件。如图4.6所示。程序代码:PrivateSubjinhuo_Click()Adodc1.RefreshAdodc1.Recordset.AddNewAdodc1.Recordset.Fields("车辆序号").Value=Text1.TextAdodc1.Recordset.Fields("车辆品牌").Value=TextName.TextAdodc1.Recordset.Fields("进货数量").Value=TextSL.TextAdodc1.Recordset.Fields("车辆型号").Value=TextCX.TextAdodc1.Recordset.Fields("进价(万元/辆)").Value=Texta.TextAdodc1.Recordset.Fields("进货日期").Value=TextRQ.TextAdodc1.Recordset.Fields("备注").Value=TextBZ.TextAdodc1.Recordset.Fields("车辆生产商").Value=Text2.TextAdodc1.Recordset.Fields("查看此车辆信息").Value=Text9.TextAdodc1.Recordset.UpdateAdodc1.RefreshEndSubPrivateSubCommand2_Click()Form5.HideForm4.ShowEndSubPrivateSubCommand1_Click()Form4.ShowForm2.HideEndSubPrivateSubCommand5_Click()Form2.HideForm1.ShowEndSubPrivateSubCommand5_Click()Form2.HideForm1.ShowEndSub图4.6轿车进货界面首先,进货人员填写进货清单,它包括车辆序号、汽车生产商、车辆品牌、车辆型号、进货数量、进价(万元/辆)、进货日期、备注、查看此车辆信息,然后单击“进货”按钮,就可以完成该次进货操作,并且自动添加到库存清单中。同时,库存清单也会作相应的变动。如图4.7所示。点击进货按钮之后,库存清单也做相应的变化,如图4.8所示。图4.7添加进货界面图4.8库存变化界面图4.5销售系统界面4.2.3销售界面在汽车销售系统中,单击销售按钮,您就可以进入到销售界面,该界面有多Label控件和所对应的多个Text控件,4个CommandButton控件,它们的Caption属性分别为确认售出,结算,清空和返回,还有3个DataGrid控件。如图4.9所示。程序代码:PrivateSubCommand1_Click()DimiAsInteger,jAsInteger,KAsIntegerDimSUMAsInteger:DimtempAsBooleanIfText1=""OrText2=""ThenMsgBox"请输入车辆序号!",vbOKOnly+vbExclamation,"警告"EndIfIfLen(Text1.Text)<>4ThenMsgBox"车辆序号为4位!",vbOKOnly+vbExclamation,"警告"EndIfAdodc1.RefreshAdodc1.Recordset.MoveLast'改变库存PrintAdodc1.Recordset.RecordCountFori=1ToAdodc1.Recordset.RecordCountStep1Adodc1.Recordset.AbsolutePosition=i'i-1->iIfTrim(Adodc1.Recordset.Fields("车辆序号").Value)=Trim(Text1.Text)ThenAdodc1.Recordset.Fields("进货数量").Value=Val(Adodc1.Recordset.Fields("进货数量").Value)-Val(Text9.Text)Adodc1.Recordset.UpdateAdodc1.Refresh'若无此句,则不会马上改变数量,即关闭后再打开才有效EndIfNexti'进入顾客销售库IfAdodc2.Recordset.RecordCountThenForK=1ToAdodc2.Recordset.RecordCountAdodc2.Recordset.AbsolutePosition=KIfTrim(Adodc2.Recordset.Fields("车辆序号").Value)=Trim(Text1.Text)ThenAdodc2.Recordset.Fields("出售数量").Value=Val(Adodc2.Recordset.Fields("出售数量").Value)+Val(Text9.Text)ElseAdodc2.RefreshAdodc2.Recordset.AddNewAdodc2.Recordset.Fields("车辆序号").Value=Text1.TextAdodc2.Recordset.Fields("车辆品牌").Value=Text3.TextAdodc2.Recordset.Fields("车辆型号").Value=Text4.TextAdodc2.Recordset.Fields("出售数量").Value=Text9.TextAdodc2.Recordset.Fields("售价(万元/辆)").Value=Text11.TextAdodc2.Recordset.Fields("销售日期").Value=DateAdodc2.Recordset.UpdateEndIfNextKElseAdodc2.RefreshAdodc2.Recordset.AddNewAdodc2.Recordset.Fields("车辆序号").Value=Text1.TextAdodc2.Recordset.Fields("车辆品牌").Value=Text3.TextAdodc2.Recordset.Fields("车辆型号").Value=Text4.TextAdodc2.Recordset.Fields("出售数量").Value=Text9.TextAdodc2.Recordset.Fields("售价(万元/辆)").Value=Text11.TextAdodc2.Recordset.Fields("销售日期").Value=DateAdodc2.Recordset.UpdateAdodc2.RefreshEndIf'进入总销售库temp=FalseAdodc3.RefreshForj=1ToAdodc3.Recordset.RecordCountAdodc3.Recordset.AbsolutePosition=jIfTrim(Adodc3.Recordset.Fields("车辆序号").Value)=Trim(Text1.Text)And_Trim(Adodc3.Recordset.Fields("销售日期").Value)=Trim(Text11.Text)ThenAdodc3.Recordset.Fields("出售数量").Value=Val(Adodc3.Recordset.Fields("出售数量").Value)+Val(Text9.Text)temp=TrueAdodc3.Recordset.UpdateText1.Text=""Text2.Text=""Text3.Text=""Text4.Text=""Text9.Text=""Text10.Text=""Text11.Text=""Text12.Text=""Text13.Text=""Adodc3.RefreshEndIfNextjIfNottempThenAdodc3.RefreshAdodc3.Recordset.AddNewAdodc3.Recordset.Fields("车辆序号").Value=Text1.TextAdodc3.Recordset.Fields("车辆生产商").Value=Text2.TextAdodc3.Recordset.Fields("车辆品牌").Value=Text3.TextAdodc3.Recordset.Fields("车辆型号").Value=Text4.TextAdodc3.Recordset.Fields("出售数量").Value=Text9.TextAdodc3.Recordset.Fields("售价(万元/辆)").Value=Text11.TextAdodc3.Recordset.Fields("销售日期").Value=DateAdodc3.Recordset.Fields("备注").Value=Text12.TextAdodc3.Recordset.Fields("查看此车辆信息").Value=Text13.TextAdodc3.Recordset.UpdateAdodc3.RefreshEndIfText1.Text=""Text2.Text=""Text3.Text=""Text4.Text=""Text9.Text=""Text10.Text=""Text11.Text=""Text12.Text=""Text13.Text=""EndSubPrivateSubCommand2_Click()DimiAsInteger,DimSUMAsSingleFori=1ToAdodc2.Recordset.RecordCountAdodc2.Recordset.AbsolutePosition=iSUM=SUM+Val(Adodc2.Recordset.Fields("售价(万元/辆)"))*Val(Adodc2.Recordset.Fields("出售数量"))NextiLabel18.Caption="共需金额"&SUM&"万元人民币"EndSubPrivateSubCommand4_Click()DimjAsInteger,bAsInteger,iAsIntegerAdodc2.RefreshAdodc2.Recordset.MoveLastForj=1ToAdodc2.Recordset.RecordCountAdodc2.Recordset.MoveLastAdodc2.Recordset.DeleteAdodc2.RefreshNextjLabel18.Caption=""Adodc2.RefreshEndSubPrivateSubCommand5_Click()Form6.HideForm4.ShowEndSubPrivateSubCommand3_Click()Form14.HideForm2.ShowEndSub图4.9销售界面首先销售人员在车辆序号文本框内输入所要出售的车辆序号,则系统会自动显示该轿车的其它信息,输入销售数量,单击“确认售出”按钮,就可以完成本次的销售操作,并且系统回自动将待出售的车辆添加到顾客购买车辆清单中,同时库存的该车辆会自动在数量上减少一辆,而在销售库中则回自动在数量上增加一辆,如果销售库没有该车辆则添加一条新记录。点击“结算”按钮,就会在‘共需金额‘处自动显示此次消费所需付的金额,实现了轿车进库、出库、结算的全程自动化过程。如图4.10所示。图4.10结算界面结算完成后,销售人员还可以对顾客购买车辆清单进行清除操作,单击“清除”按钮,就可以清空顾客购买车辆清单,以方便下次操作,如图4.11所示。图4.11清空顾客购买车辆清单4.2.4查询界面在汽车销售系统中,单击查询按钮,您就可以进入到查询界面,该界面有1个Label控件,它的属性是欢迎您到查询界面,5个CommandButton控件,它们的Caption属性分别为客户添加与查询,进货查询,销售查询,维修用户查询和退出。入图4.12所示。程序代码:PrivateSubCommand3_Click()Form4.HideForm13.ShowEndSubPrivateSubCommand4_Click()Form4.HideForm2.ShowEndSub图4.12查询界面单击“客户添加与查询”按钮,您就会进入客户添加与查询界面,如图4.13所示。图4.13客户添加与查询界面程序代码:PrivateSubCommand1_Click()Adodc1.RefreshAdodc1.Recordset.AddNewAdodc1.Recordset.Fields("编号").Value=Text1.TextAdodc1.Recordset.Fields("姓名").Value=Text2.TextAdodc1.Recordset.Fields("性别").Value=Text3.TextAdodc1.Recordset.Fields("家庭住址").Value=Text4.TextAdodc1.Recordset.UpdateAdodc1.RefreshEndSub如果在顾客添加框中输入所对应的信息,点击系统则会把该记录添加到客户列表中,如图4.14所示。图4.14客户添加界面如果在查询列表,在‘请输入客户编号‘文本框中输入待查询的编号,则在查询列表中知道显示,如图4.15所示。程序代码:PrivateSubCommand2_Click()DimiAsInteger,jAsInteger,KAsIntegerDimSUMAsInteger:DimHAsIntegerH=Len(Text5.Text)IfAdodc1.Recordset.RecordCountThenAdodc1.RefreshForK=1ToAdodc1.Recordset.RecordCountAdodc1.Recordset.AbsolutePosition=KIfLeft(Trim(Adodc1.Recordset.Fields("编号").Value),H)=Trim(Text5.Text)ThenAdodc2.Refresh:Form2.ClsAdodc2.Recordset.AddNewAdodc2.Recordset.Fields("编号").Value=Adodc1.Recordset.Fields("编号").ValueAdodc2.Recordset.Fields("姓名").Value=Adodc1.Recordset.Fields("姓名").ValueAdodc2.Recordset.Fields("性别").Value=Adodc1.Recordset.Fields("性别").ValueAdodc2.Recordset.Fields("家庭住址").Value=Adodc1.Recordset.Fields("家庭住址").ValueAdodc2.Recordset.UpdateEndIfAdodc1.RefreshNextKEndIfAdodc1.RefreshPrintiEndSubPrivateSubCommand3_Click()DimjAsInteger,bAsInteger,iAsIntegerAdodc2.Refreshb=Adodc2.Recordset.RecordCountForj=1TobAdodc2.Recordset.MoveFirstAdodc2.Recordset.DeleteNextjAdodc2.RefreshAdodc2.Recordset.DeleteAdodc2.RefreshEndSub图4.15顾客查询界面单击“系统工具”按钮,您就会进入用户增加与修改界面,如图4.16所示。图4.16用户增加与修改界面程序代码:PrivateSubCommand6_Click()Form17.ShowForm13.HideEndSub在用户密码修改栏中,在用户名中填写库中以有的用户名和密码,在新密码中填写新的密码,但确认密码栏中的密码必须和新密码相同,如图4.17所示。程序代码:Adodc2.RefreshIfAdodc2.Recordset.Fields("姓名")=Text5.TextAndAdodc2.Recordset.Fields("密码").Value=Text6.TextThenIfText7.Text=Text4.TextThenAdodc2.RefreshAdodc2.Recordset.Fields("密码").Value=Text7.TextAdodc2.Recordset.UpdateAdodc2.RefreshElseD=MsgBox("您两次输入的密码不一致,请从新输入!",32,"错误")EndIfElseD=MsgBox("您的账号或密码错误,请从新输入!",32,"错误")EndIfText5.Text=""Text6.Text=""Text7.Text=""Text4.Text=""EndSubPrivateSubCommand2_Click()EndEndSub图4.17系统管理界面密码修改后,密码表中的密码自动改变。如图4.18所示。图4.18密码更改界面在新用户增加栏中,创建自己的用户名和密码,如图4.19所示。图4.19新增用户界面点击确定按钮后,系统密码表中自动添加一条新记录,如图4.20所示。图4.20增加用户界面程序代码:PrivateSubCommand3_Click()IfText2.Text=Text3.TextThenAdodc1.RefreshAdodc1.Recordset.AddNewAdodc1.Recordset.Fields("姓名").Value=Text1.TextAdodc1.Recordset.Fields("密码").Value=Text2.TextAdodc1.Recordset.UpdateAdodc1.RefreshElseD=MsgBox("您两次输入的密码不一致,请从新输入!",32,"错误")EndIfText1.Text=""Text2.Text=""Text3.Text=""EndSubPrivateSubCommand4_Click()Form13.ShowForm17.HideEndSub单击“进货查询”按钮,您就会进入进货查询界面,在‘请输入车辆序号’的文本框中输入车辆序号,查询如图4.21所示。图4.21进货查询界面程序代码:DimiAsInteger,jAsInteger,KAsInteger,SUMAsInteger:DimHAsIntegerH=Len(Text1.Text)IfAdodc1.Recordset.RecordCountThenAdodc1.RefreshForK=1ToAdodc1.Recordset.RecordCountAdodc1.Recordset.AbsolutePosition=KIfLeft(Trim(Adodc1.Recordset.Fields("车辆序号").Value),H)=Trim(Text1.Text)ThenAdodc2.Refresh:Form12.ClsAdodc2.Recordset.AddNewAdodc2.Recordset.Fields("车辆序号").Value=Adodc1.Recordset.Fields("车辆序号").ValueAdodc2.Recordset.Fields("车辆生产商").Value=Adodc1.Recordset.Fields("车辆生产商").ValueAdodc2.Recordset.Fields("车辆品牌").Value=Adodc1.Recordset.Fields("车辆品牌").ValueAdodc2.Recordset.Fields("车辆型号").Value=Adodc1.Recordset.Fields("车辆型号").ValueAdodc2.Recordset.Fields("进货数量").Value=Adodc1.Recordset.Fields("进货数量").ValueAdodc2.Recordset.Fields("进价(万元/辆)").Value=Adodc1.Recordset.Fields("进价(万元/辆)").ValueAdodc2.Recordset.Fields("进货日期").Value=Adodc1.Recordset.Fields("进货日期").ValueAdodc2.Recordset.Fields("备注").Value=Adodc1.Recordset.Fields("备注").ValueAdodc2.Recordset.Fields("查看此车辆信息").Value=Adodc1.Recordset.Fields("查看此车辆信息").ValueAdodc2.Recordset.UpdateEndIfAdodc1.RefreshNextKEndIfAdodc1.RefreshPrintiEndSubPrivateSubCommand2_Click()DimjAsInteger,bAsInteger,iAsIntegerAdodc2.Refreshb=Adodc2.Recordset.RecordCountForj=1TobAdodc2.Recordset.MoveFirstAdodc2.Recordset.DeleteNextjAdodc2.RefreshAdodc2.Recordset.DeleteAdodc2.RefreshEndSubPrivateSubCommand3_Click()Form12.HideForm13.ShowEndSub单击“销售查询”按钮,您就会进入销售查询界面,销售查询界面是系统自动帮助用户实现按日期查询,这不仅为了用户提供方便、快捷的服务,同时也为公司节省了大量的人工和费用,只要是文本框中的日期,则销售查询中显示的都是在该天的销售的所有产品,包括出售此车辆的所有信息,该车辆的车辆编号、车辆生产商、车辆品牌、车辆型号、出售数量、售价(万元/辆)、销售日期、备注、查看此车辆信息。如图4.22所示。图4.22销售未查询界面在‘请输入待查询的日期‘的文本框中输入待查询的日期,如图4.23所示。图4.23销售查询界面程序代码:PrivateSubCommand1_Click()DimiAsInteger,jAsInteger,KAsIntegerDimSUMAsInteger:DimHAsIntegerH=Len(Text1.Text)IfAdodc1.Recordset.RecordCountThenAdodc1.Refresh:Form15.ClsForK=1ToAdodc1.Recordset.RecordCount'进入查询结果库Adodc1.Recordset.AbsolutePosition=KIfLeft(Trim(Adodc1.Recordset.Fields("销售日期").Value),H)=Trim(Text1.Text)ThenAdodc2.RefreshAdodc2.Recordset.AddNewAdodc2.Recordset.Fields("车辆序号").Value=Adodc1.Recordset.Fields("车辆序号").ValueAdodc2.Recordset.Fields("车辆生产商").Value=Adodc1.Recordset.Fields("车辆生产商").ValueAdodc2.Recordset.Fields("车辆品牌").Value=Adodc1.Recordset.Fields("车辆品牌").ValueAdodc2.Recordset.Fields("车辆型号").Value=Adodc1.Recordset.Fields("车辆型号").ValueAdodc2.Recordset.Fields("出售数量").Value=Adodc1.Recordset.Fields("出售数量").ValueAdodc2.Recordset.Fields("售价(万元/辆)").Value=Adodc1.Recordset.Fields("售价(万元/辆)").ValueAdodc2.Recordset.Fields("销售日期").Value=Adodc1.Recordset.Fields("销售日期").ValueAdodc2.Recordset.Fields("备注").Value=Adodc1.Recordset.Fields("备注").ValueAdodc2.Recordset.Fields("查看此车辆信息").Value=Adodc1.Recordset.Fields("查看此车辆信息").ValueAdodc2.Recordset.UpdateEndIfAdodc1.RefreshNextKEndIfAdodc1.RefreshPrintiEndSubPrivateSubCommand2_Click()DimjAsInteger,bAsInteger,iAsIntegerAdodc2.RefreshAdodc2.Recordset.MoveLastForj=1ToAdodc2.Recordset.RecordCountAdodc2.Recordset.MoveLastAdodc2.Recordset.DeleteNextjEndSubPrivateSubCommand3_Click()Form15.HideForm13.ShowEndSub单击“维修用户查询”按钮,操作人员就会进入维修用户查询界面,如图4.24所示。图4.24维修用户未查询界面在‘请输入客户编号‘的文本框中输入客户编号,如图4.25所示。程序代码:DimiAsInteger,jAsInteger,KAsIntegerDimSUMAsInteger:DimHAsIntegerH=Len(Text1.Text)IfAdodc2.Recordset.RecordCountThenAdodc2.RefreshForK=1ToAdodc2.Recordset.RecordCountAdodc2.Recordset.AbsolutePosition=KIfLeft(Trim(Adodc2.Recordset.Fields("客户编号").Value),H)=Trim(Text1.Text)ThenAdodc1.Refresh:Form4.ClsAdodc1.Recordset.AddNewAdodc1.Recordset.Fields("客户名称").Value=Adodc2.Recordset.Fields("客户名称").ValueAdodc1.Recordset.Fields("性别").Value=Adodc2.Recordset.Fields("性别").ValueAdodc1.Recordset.Fields("地址").Value=Adodc2.Recordset.Fields("地址").ValueAdodc1.Recordset.Fields("电话").Value=Adodc2.Recordset.Fields("电话").ValueAdodc1.Recordset.Fields("送修或来访日期").Value=Adodc2.Recordset.Fields("送修或来访日期").ValueAdodc1.Recordset.Fields("送修或来访车辆型号").Value=Adodc2.Recordset.Fields("送修或来访车辆型号").ValueAdodc1.Recordset.Fields("车牌号").Value=Adodc2.Recordset.Fields("车牌号").ValueAdodc1.Recordset.Fields("维修项目").Value=Adodc2.Recordset.Fields("维修项目").ValueAdodc1.Recordset.Fields("维修记录").Value=Adodc2.Recordset.Fields("维修记录").ValueAdodc1.Recordset.UpdateEndIfAdodc2.RefreshNextKEndIfAdodc2.RefreshPrintiEndSubPrivateSubCommand2_Click()DimjAsInteger,bAsInteger,iAsIntegerAdodc1.Refreshb=Adodc1.Recordset.RecordCountForj=1TobAdodc1.Recordset.MoveFirstAdodc1.Recordset.DeleteNextjAdodc1.RefreshAdodc1.Recordset.DeleteAdodc1.RefreshEndSubPrivateSubCommand3_Click()Form13.ShowForm11.HideEndSub图4.25维修用户查询界面4.3轿车零配件界面单击轿车零配件,会显示出轿车零配件供应内容界面,在轿车零配件供应内容界面上有六个功能键,一个Label控件,它的Caption属性为轿车零配件供应内容,两个DataGrid和一个返回按钮,两个DataGrid分别是用来显示配件内容。如图4.26所示。程序代码:PrivateSubCommand3_Click()Form7.ShowForm2.HideEndSubPrivateSubCommand5_Click()Form2.HideForm1.ShowEndSub图4.26汽车车配件内容4.4维修服务界面单击维修服务按钮,会显示出轿车维修保养界面,在轿车销售界面上有六个功能键,1个Label控件,它的Caption属性为维修与保养界面,3个CommandButton控件,它的Caption属性分别为车辆保养,车辆维修和退出。如图4.27所示。程序代码:PrivateSubCommand2_Click()Form8.ShowForm2.HideEndSubPrivateSubCommand3_Click()Form7.ShowForm2.HideEndSubPrivateSubCommand1_Click()Form9.ShowForm8.HideEndSub如图4.27轿车维修保养界面在轿车维修保养界面上,用户单击‘车辆保养‘按钮,会自动弹出下图,如图4.28所示。图4.28车辆保养界面单击‘显示保养内容‘将显示保养车辆信息,如图4.29所示。图4.29显示保养内容界面随着社会的进步,人们对车辆的保养越来越重视,所以本系统为用户提供了车辆保养界面,再在轿车维修保养界面上,单击‘车辆维修‘按钮,会自动弹出下图,如图4.30所示。程序代码:PrivateSubCommand1_Click()Adodc1.RefreshAdodc1.Recordset.AddNewAdodc1.Recordset.Fields("客户编号").Value=Text9.TextAdodc1.Recordset.Fields("客户名称").Value=Text1.TextAdodc1.Recordset.Fields("性别").Value=Combo1.TextAdodc1.Recordset.Fields("地址").Value=Text2.TextAdodc1.Recordset.Fields("电话").Value=Text3.TextAdodc1.Recordset.Fields("送修或来访日期").Value=Text4.TextAdodc1.Recordset.Fields("送修或来访车辆型号").Value=Text5.Text‘显示车辆送来的信息。Adodc1.Recordset.Fields("车牌号").Value=Text6.TextAdodc1.Recordset.Fields("维修项目").Value=Text7.TextAdodc1.Recordset.Fields("维修记录").Value=Text8.TextAdodc1.Recordset.UpdateAdodc1.RefreshEndSubPrivateSubCommand2_Click()Form10.HideForm8.ShowEndSubPrivateSubCommand3_Click()Form14.HideForm2.ShowEndSub图4.30车辆维修界面在车辆维修界面上,用户可以在添加维修用户栏中添加相应信息,如图4.31所示。在上述界面上,用户单击‘确定‘按钮后,该新记录将自动加到系统中去。但值得注意的是,即使你填写错误,系统也会认为你是正确的,所以用户填写的时候必须谨慎、认真,对于维修车辆的客户必须认真细读维修规则,这是系统为用户提供的信息,如图4.32所示。图4.31维修用户添加界面图4.32客户添加表4.5信息反馈界面单击信息反馈按钮,会显示出信息反馈界面,在该界面上有24个功能键,10个Label控件,它们的Caption属性分别为主题,反馈内容,编号,姓名,地址,所在单位,邮件等,9个Text控件,3个CommandButton控件,它们的Caption属性分别为提交,重写,返回,如图4.33所示。程序代码:PrivateSubCommand1_Click()IfText1=""OrText9=""ThenMsgBox"请输入编号!",vbOKOnly+vbExclamation,"警告"EndIfAdodc1.RefreshAdodc1.Recordset.AddNewAdodc1.Recordset.Fields("编号").Value=Text9.TextAdodc1.Recordset.Fields("主题").Value=Text1.TextAdodc1.Recordset.Fields("反馈内容").Value=Text2.TextAdodc1.Recordset.Fields("姓名").Value=Text3.TextAdodc1.Recordset.Fields("地址").Value=Text4.TextAdodc1.Recordset.Fields("电话").Value=Text5.TextAdodc1.Recordset.Fields("所在单位(公司)").Value=Text6.TextAdodc1.Recordset.Fields("传真").Value=Text7.TextAdodc1.Recordset.Fields("邮件").Value=Text8.TextAdodc1.Recordset.UpdateAdodc1.RefreshEndSubPrivateSubCommand2_Click()DimjAsInteger,bAsInteger,iAsIntegerAdodc1.RefreshAdodc1.Recordset.MoveLastForj=1ToAdodc1.Recordset.RecordCountAdodc1.Recordset.MoveLastAdodc1.Recordset.DeleteNextjEndSubPrivateSubCommand3_Click()Form14.HideForm2.ShowEndSub图4.36信息反馈界面4.6网络连接单击“网络连接“按钮,操作人员就会进入网络连接界面,如图4.34所示。PrivateSubCommand1_Click()WebBrowser1.Navigate(Text1.Text)EndSubPrivateSubCommand2_Click()Form16.HideForm4.ShowEndSubPrivateSubText1_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenWebBrowser1.Navigate(Text1.Text)EndIfPrivateSubForm_Load()WebBrowser1.GoHomeEndSub图4.37网络连接界面程序代码:PrivateSubCommand2_Click()Form8.ShowForm2.HideEndSub4.7报表在大中型企业中,很多企业都需要打印很多东西,在该系统中显示报表内容。图4.38报表结论本文通过对轿车4S店的分析,成功的设计出轿车4S店综合服务系统,其功能基本符合用户的需求,它的主要功能有:实现了对轿车的管理,完成了轿车信息的添加,删除,浏览,修改等功能。实现了对用户的管理,完成了用户信息的添加,删除,浏览,修改等功能。实现了轿车4S店的管理,完成了对轿车的销售,金额结算,自动添加用户信息等功能。实现了对用户网络连接功能。实现了轿车管理的自动化服务。本文在设计时由于设计者能力有限,难免有一些漏洞,希望各位老师指出错误,我将虚心的接受并加以改进。参考文献[1]周国民,李国军.VisualBasic+Access数据库开发实例.北京.人民邮电出版社.2004,11:220-279[2]高光来,李平.VisualBasic6.0程序设计教程.呼和浩特.内蒙古大学出版社.2005,40-50[3]陆汉权,冯小霞,方红光.VisualBasic程序设计教程,浙江大学出版社.2006:104-126[4]MicrosoftOfficeAccess2003Step-ByStep,MicrosoftPress出版2004:34-87[5]刘圣才,李春葆。VisualBasic6.0程序设计导学,清华大学出版社2002:35-56[6]启明工作室。VisualBasic+Access数据库应用系统开发实例。人民邮电出版社2005:22-42[7]阮东华.Access数据库处理技法范例.北京.清华大学出版社.2003:18-19[8]王春才,高春艳.VisualBasic数据库系统开发完全手册.北京.人民邮电出版社.2006,3:283-319[9]郭瑞军.VisualBasic数据库开发实例精粹.北京.电子工业出版社.2005,2:255-312[10]陆汗权,方红光.VisualBasic程序设计教程.杭州.浙江大学出版社.2006,2:263-285谢辞在三个月中毕业设计的完成的过程中,杨建省老师给了我极大帮助。在此深表谢意!同时,其他的同学也给予我许多关心和帮助,真诚地感谢他们。总之,此次论文的写作过程,我收获了很多,即为大学四年划上了一个完美的句号,也为将来的人生之路做好了一个很好的铺垫。再次感谢老师,同学和朋友,谢谢你们!附录资料:不需要的可以自行删除实用powerpoint技巧总结一大群与会人员正襟危坐,你豪情满怀地进行着某个新产品的演示或介绍,却不小心由于鼠标左键的误操作导致幻灯片跳到了本不应该出现的位置,或者本应按下鼠标左键切换到下一张,却由于按下了右键而出现一个快捷菜单。不用担心,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论