汽车租赁管理系统的开发与实现毕业论文.doc_第1页
汽车租赁管理系统的开发与实现毕业论文.doc_第2页
汽车租赁管理系统的开发与实现毕业论文.doc_第3页
汽车租赁管理系统的开发与实现毕业论文.doc_第4页
汽车租赁管理系统的开发与实现毕业论文.doc_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

汽车租赁管理系统的开发与实现毕业论文目 录第一章 绪论11.1 课题背景及意义11.2 可行性分析11.3 系统需求分析21.4 设计工具21.5 系统功能介绍3第二章 系统分析与设计42.1 系统设计思想42.2 系统功能模块划分42.3 开发设计环境52.4 系统特点介绍52.5 数据库设计5第三章 系统实现123.1 创建工程123.2 创建模块123.4 创建登录窗体模块183.5 创建主窗体模块19第四章 系统测试604.1 测试原则、目标及方法604.2 测试内容61第五章 系统使用说明书645.1 系统登录645.2 系统功能65第六章 总结67参考文献68附录69外文资料中文译文致谢2第一章 绪论1.1 课题背景及意义现代科学的发展,使计算机进入了几乎一切领域。从科学研究到工农业生产,从企业生产管理到家庭生活,各行各业都广泛地使用着计算机。当今社会的数据信息管理离不开计算机技术的支持。如何实现对数据信息快捷、有效、实用的管理,是软件开发业追求的目标。今天,随着社会生产的发展,人民生活水平的提高,机动车租赁已成为一个极具市场潜力的行业,面对飞速发展的租赁市场,传统的人工租赁管理方式在进行繁多的业务信息处理时显得极不适应,因此,人们对于运用计算机来辅助协调和管理租赁工作的需求正在逐步提高。随着社会物质条件的改善,生产生活节奏的加快,人们越来越意识到时间的重要性,在工作中,生活中越来越注重如何节省时间,提高效率。因为工作和生活的缘故,在必要的时候向汽车出租公司提出租赁车辆的服务要求,已成为大众广为认可和接受的行为和选择。在这种社会需求的强力带动下,机动车租赁市场出现了前所未有的一片繁荣景象。各个汽车租赁公司门庭若市,业务激增。然而在繁忙的景象背后,却也暴露出机动车租赁公司在处理业务信息时以人工方式为主所带来的诸如:效率低下,管理混乱,失误增多等诸多弊端。在实践中,汽车租赁行业的业主们逐渐意识到在租赁行业中借助计算机引入信息管理的重要性,并开始不断提高自身的素质和高科技在工作中的投入,以改善信息的管理,提高服务效率。 机动车租赁管理就是对车辆信息和客户信息的管理,主要包括车辆的出租状态、车辆的基本信息、车辆的投保情况、车辆的出厂情况、客户信息的管理等。由于这些过程间的关系复杂,有一对一的关系,一对多的关系,也有多对多的关系,所有这些工作使机动车管理工作变得量大而又复杂,以前包括现在还有很多租赁公司采用人工管理,直接导致了错误的产生,服务质量的低下。机动车租赁管理系统的开发使得这一状况得到了根本的改善。这套管理系统包括涵盖了车辆租赁业务的各个方面。使得机动车租赁服务可以快速、规范地完成,节省了人力物力,提高了服务质量和经济效益。1.2 可行性分析可行性研究的目的即用最小的代价在尽可能短的时间内确定问题是否能够解决,是否值得去解决。可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。技术可行性分析:汽车租赁管理系统使用 Visual Basic 6.0作为开发工具,它提供了强大、方便、快捷的编程环境,实现了编程的高度自动化,编写为数不多的代码就可以完成大量工作。VB是Microsoft推出的一种通用程序设计语言,是目前Windows平台上设计应用程序最为快捷的工具之一。后台数据库使用Access2003数据库,以保证数据的安全和执行高效。系统所需的硬件和软件能够满足企业提出的要求。经济可行性分析:开发本系统只要一台可用作浏览器的电脑,一些数据和相关软件。从投入的人力、物力和财力方面来讲是非常小的。由此可见,开发汽车租赁管理系统具有可行性。1.3 系统需求分析需求分析是软件开发工作开始的重要步骤,形成的需求规格说明书是软件开发设计的目标(要解决用户的问题,目标软件系统必须做什么),也是软件交付使用验收审查的标准,所以应予以高度重视。用户很清楚他们所从事的工作和要解决的问题,知道必须做什么和怎么做。当他们表达时,计算机专业人员不一定就能很快完全准确地理解,而且他们的表达也不一定就完全准确;而计算机专业人员了解计算机方面的情况,但是对特定用户的特定需求并不完全清楚。在该阶段系统分析员要和用户密切配合,充分相互交流,以得出经过用户确认的系统逻辑模型。通常用数据流图、数据字典和简要的算法表示系统逻辑模型。系统逻辑模型必须准确完整地体现用户的要求,最终要用正式文档准确记录用户对目标软件系统的需求,该文档通常称为需求规格说明书。汽车租赁管理系统主要是实现统一友好的操作界面,能保证系统的易用性。规范、完善的基础信息设置,灵活的报表设计及打印功能,实现货物申请、审核、调度的全过程,全方位的信息查询功能和相应的报表导出功能,保证系统数据的安全性。1.4 设计工具Visual Basic 6.0是Microsoft推出的一种通用程序设计语言,是目前Windows平台上设计应用程序最为快捷的工具之一。无论是对专业开发人员还是计算机初学者,它都比较适合,容易掌握和使用。“Visual”是指采用的是可视化图形用户界面。在创建用户界面时一般不需要编写大量代码去描述界面对象的外观和位置,而只需要将需要的控件绘制或拖放到需要的位置,然后再做相应的一些属性设置即可,方便、快捷、高效。VB是Basic语言发展而来的,当然与以前的版本相比,Visual Basic 6.0的变化是非常大的。VB提供了强大、方便、快捷的编程环境,实现了编程的高度自动化,编写为数不多的代码就可以完成大量的工作,当然这不能理解成不用费什么力气就能解决问题,特别是较复杂的问题。同时它也提供了强大的数据库操作访问功能,这使得采用VB开发以数据库为中心的数据库管理系统或信息系统变得方便而行之有效。1.5 系统功能介绍在实际开发中,系统功能分析需要系统设计人员与用户进行全面、深入的交流,以切实了解用户对整个系统功能的期望,并分析用户使用的特点,与用户共同决定系统应具有哪些功能。功能分析:下面是整个系统具有的主要功能:(1)系统管理该模块可以完成修改用户密码、设置密码、增加新的用户,以及用户的删除和退出系统的操作。(2)基础数据管理1)车辆和保险类型:该模块的功能为汽车的类型及其保险类型的增加、删除、修改2)汽车销售商管理:该模块用于汽车销售商的查询,增加、删除、修改以及对当下汽车租赁情况的查看,以及对汽车车辆进行管理。3)保险公司管理:该模块用于对保险公司的查看、增加,删除、修改和被保险车辆的查看。4)车辆管理:该模块通过车牌号对车辆的增、删、改进行实时的管理。(3)客户会员管理 1)客户管理:通过该模块,用户可以增加新的会员,同时也可以对错误的信息进行修改,对于要求退出的会员可以进行删除操作,必要时可以通过会员号查看会员信息。 2)会员管理:该模块的功能是会员进行自主注销和修改个人信息。 3)会员类型管理:会员可分为一般会员、vip会员、超级会员,本模块就是针对不同的会员对会员进行优惠管理。(4)日常业务管理 1)汽车出租管理:该模块的功能是全方位的监管汽车的租赁情况,包括汽车的出租,出租审核,续租,续租审核,租赁时间,租车费用,租车押金等。 2)汽车租赁归还管理:该模块的功能是对于归还的汽车进行审核,以及对本记录进行删改。第二章 系统分析与设计系统设计又称为物理设计,是根据新系统的逻辑模型来构造物理模型,即根据新系统的逻辑功能要求,结合实际条件,进行总体设计和详细设计,解决系统“怎么样做?”的问题。系统设计的任务就是根据逻辑模型设计出满足用户要求的高质量的系统。根据管理系统的特点,系统设计所追求的目标就是系统的可靠性,可维护性,用户界面的友好性,工作的效率性和合法性。2.1 系统设计思想机动车租赁管理是汽车租赁公司开展日常运营活动的必须的环节。基于计算机技术的完备的机动车租赁管理系统把一些繁琐的数据计算、信息处理化为简单的指令操作。完全实现数据信息的电算化管理,彻底把人从手工管理中解放出来。经过艰苦的努力,我终于实现了预期的设计目标,开发出这套具有一定实用价值的机动车租赁管理系统,使用这套系统有利于提高汽车租赁公司的劳动生产率,节约生产成本,增加经济效益。渔阳汽车租赁公司主要为蓟县客户提供城市间各种车辆的出租业务,总经理办公室下设有业务部、营运部、技术部等部门。为提高客户的满意程度,拓展公司的业务范围,使客户可以通过网络快捷的完成汽车租赁,需设计开发一个智能管理系统。2.2 系统功能模块划分本系统具体分为以下几个模块:业务管理模块、信息查询报表模块、系统管理模块、业务管理、信息查询报表模块,主要的系统模块如图2-1所示。图2-1 汽车租赁管理系统模块下面是整个系统具有的主要功能:1运行系统后,首先会看到登录窗体,对用户的身份进行认证。如果需要对普通用户进行管理,则使用Admin用户登录;否则建议使用Users用户登录。2如果还要创建其他用户,可以在用户管理模块中创建和管理。在本系统中,应该首先增加基本信息和客户会员信息,之后才能增加汽车租赁信息。3基本信息模块包括汽车类型信息、保险类型信息、会员类型信息、销售商信息和保险公司信息等。 4客户会员管理模块可以添加、修改、删除和查看客户会员信息 。5在汽车租赁业务管理模块中,可以对汽车信息管理、汽车租赁管理、汽车续租管理和汽车归还管理等操作2.3 开发设计环境操作系统:Windows 2000/NT/XP/ME开发工具:Visual Basic 6.0数据库:Access 2003硬件配置:CPU:600MHz以上的处理器内存:64MB,推荐128MB以上硬盘:100MB以上磁盘空间分辨率:最低800600像素,建议1024768像素颜色:256色2.4 系统特点介绍1适用于中小型企业的租赁管理。2程序操作流程清晰。3操作界面美观、标准、专业、统一,操作方法简单、方便。4车辆信息和客户信息管理。5能在Word表格中显示合同信息。6实现汽车销售信息和车辆信息的增加、编辑、查询和删除操作。2.5 数据库设计 数据库应用系统设计中的一个核心问题就是如何设计一个能够满足用户当前与可预见的未来的各项应用要求、性能良好的数据库。数据库设计是从用户的数据需求、处理要求及建立数据库的环境条件(软、硬件特性和其他限制)出发,把给定的应用环境(现实世界)存在的数据合理地组织起来,逐步抽象成已经选定的某个数据库管理系统能够定义和描述的具体的数据结构的过程。2.5.1 数据库需求分析现在要设计的数据库系统要应用于汽车租赁管理系统,所以必须充分满足订单提交和审核以及调度要求。系统还要记录每个用户的每次请求,以便系统管理员能查看所有用户的操作历史记录。1数据表概要说明如图2-2所示的即为本系统中数据库中的数据表结构图,该数据库结构图包含系统所有数据表。可以清晰的反应数据库信息。图2-2 数据库结构图2数据表关系图下面是本系统数据库表与表之间的关系。在系统的设计中,一些表都设有主键,以实现唯一性,防止冗余数据的产生。同时一些表的字段为外键,即其他相关表的主键,从而使得表与表之间,存在内在的联系,如图2-3所示。图2-3 系统流程分析图系统主要信息实体图,如下图2-4所示。类型表类型分类类型名称管理员用户名密码 会员类型表类型号享受折扣公司名称联系人类型名称客户信息表车牌号 密码备注类型号公司信息表公司号电子邮件汽车信息表客户号 驾龄 车牌号 租赁价格 驾驶证号 日租金 购买日期 押金 汽车租赁表客户姓名 图2-4 系统主要信息实体图2.5.2 数据库的表结构(1)车辆类型表表Types用于保存车辆分类和保险类型的信息。表结构如下表(2-1)所示。表2-1 车辆类型(Types)表编号列名类型可否为空说明1IdintN类型编号 主键 自动增12TypeNameVarchar 50N类型名称3TypeIdtinyintN类型分类 车辆类型 保险类型4DescriptionVarchar 100N类型描述(2)会员类型表表MemberType用来保存会员的类型信息,表结构如表(2-2)所示。表2-2 会员类型(Membertype)表的结构编号列名类型可否为空说明1VehIDintN主键 自动增长,不能重复2ModelVarchar 50N类型名称3Veh_numfloatN享受折扣(3)公司表表Company用来保存销售商和保险公司信息,表结构如表(2-3)所示。表2-3 公司(company)表的结构编号列名类型可否为空说明1IdIntN公司编号 主键2CompanyVarchar 100N公司名称3TelephoneVarchar 50N联系电话4ZipCodeVarchar 10N邮政编码5FaxNumeric 40N传真6AddressVarchar 50N地址7EmailVarcha 50Y电子邮件8ContactVarchar 50Y联系人(4)客户表表Customer用来保存客户信息,表结构如表(2-4)所示。表2-4 客户(customer)表的结构编号列名类型可否为空说明1IdVarchar 20N客户编号 主键2NameVarchar 50N姓名3SexChar 2N性别4AgetinyintN年龄5IdCardVarchar 30N身份证号6TelephoneVarchar 30N电话7WorkPlaceVarchar 50N工作地点8AddressVarchar 10N家庭地址9ZipCodeVarchar 10N邮政编码10EmailVarchar 30N电子邮件11LicenseNoVarchar 30N驾驶证号12LicenseTypeVarchar 20N驾驶证类型13GetDateVarchar 20N发证日期14ExpiredDateVarchar 20N到期日期15DriverAgetinyintN驾龄16FlagtinyintY会员标记17TypeIdIntY会员类型18CertificateVarchar 40N抵押证件19WarrantorVarchar 50N担保人20WidCardVarchar 30N担保人身份证号21WWorkPlaceVarchar 50N担保人工作地点22TypeIdIntY会员类型(5)用户信息表表Users用来保存系统用户信息,表Users的结构如表(2-5)所示。表2-5 用户信息(Users)表的结构编号列名类型可否为空说明1UserNameVarchar50N用户名 主键2UserpwdVarchar 50N密码(6)车辆信息表表Cars用来保存车辆的基本信息,表结构如表(2-6)所示。表2-6 车辆信息(Cars)表的结构编号列名类型可否为空说明1CarNoVarchar 20N车牌号 主键2TupeIdintN车辆类型3CarNameVarchar 50N车辆名称4ColorVarchar 20N车辆颜色5EngineNoVarchar 50N发动机号6CarCaseVarchar 50N车架号7SaleIdintN销售商编号8BuydatedatetimeN购买日期9InsurNoVarchar 50N保单号10InsurIdintN保险公司编号11InsurTypeVarchar 50N保险种类12InsurSdatedatetimeN起保日期13InsurEdatedatetimeN结束日期14DepositintN押金15DaypriceintN日租金16WeekEndPricintN周末租金17WeekPriceintN周租金18MonthPriceintN月租金19DayPMintN日限公里20overTimePriintN超时租金21overKMPriceintN超公里租金22StatusChar 10N状态(7)租赁信息表表Lease用来保存车辆租赁的日常业务信息,表结构如表(2-7)所示。表2-7 租赁信息(Lease)表的结构编号列名类型可否为空说明1ContractNoVarchar 50N合同编号 主键2CarNoVarchar 20N车牌号3custIdVarchar 20N客户编号4LeaseTimedatetimeN租赁时间5LeaseModeChar 10N租赁模式6Price1intN租赁价格7Price2intN周末租赁价格8WorkDaysintN工作日 周 月个数9WeekEndCouintN租赁的周末个数10DepositintN押金11DayKMintN日限公里数12OutKMintN出车公里数13OPrice1intN超公里每公里价格14OPrice2intN超时每小时价格15ReturnTimedatetimeN应归还时间16ReturnKMintN归还公里数17otherCostintN其他费用18RateintN折扣19PaymentintN实际支付金额20TotalintN总金额21StatusChar 10N状态,必填字段22CreateDatedatetimeN创建日期23UserNameVarchar 20N创建人24RealRTimedatetimeN实际归还时间第三章 系统实现3.1 创建工程在Visual Basic中创建一个工程,命名为“汽车租赁管理信息系统.vbp”。1设计步骤(1) 在Visual Basic中选择“文件”/“新建工程”菜单项,新建一个工程,命名为“汽车租赁管理信息系统.vbp”。(2) 在本系统采用ADO作为数据库连接的手段,所以需要在工程中添加对ADO的引用和一个数据环境。在菜单中依次选择“工程”/“引用”,在“可用的引用”更表框中选择“Microsoft ActiveX Objects 2.0 Library”选项,然后单击“确定”按钮,即可完成对ADO的引用。3.2 创建模块根据Visual Basic功能模块的划分原则,我们将分别创建以下几个模块:1Const 用来管理工程中的常量2CbFunc 用来管理工程与数据库操作相关的声明、变量和函数。3GeneralFunc 用来管理工程中一些通用的自定义函数。4Variable 用来管理工程的全局变量。3.2.1 公用模块的功能公用模块包含一些运输公司管理系统中常用到的一些函数,如Const()、DbFunc()和GeneralFunc()等,同时声明一些关键的数据库对象和全局变量。3.2.2 公用模块设计1全局变量的声明包括用于存储数据库连接、当前数据库操作类型、报表中用到的起始时间和截止时间、服务器名称、用户名、口令和当前登录的系统用户名称等信息的全局变量。全局变量的代码声明如下。Public Const GenDate As String = 日期 2010-5-6Public Const DATABASE As String = Lease.mdbPublic Const CONNECT_LOOP_MAX = 10Public Declare Sub Sleep Lib kernel32 (ByVal dwMilliseconds As Long)2局部变量的声明Private IsConnect As BooleanPrivate Connect_Num As IntegerPrivate cnn As ADODB.ConnectionPrivate rs As ADODB.RecordsetPrivate Sub Connect() If IsConnect = True Then Exit Sub End If Set cnn = New ADODB.Connection cnn.ConnectionString = Conn cnn.Open If cnn.State adStateOpen Then MsgBox 数据库连接失败 End End If IsConnect = TrueEnd SubEnd Function3GenearlFunc模块的创建 Public Function In_Single(KeyAscii As Integer) As Boolean Dim Ch_Accept_Single(20) As StringEnd Sub4.Variable 模块的建立Public SqlStmt As StringPublic Conn As StringPublic CurUser As New Users3.3 类模块设计在通常情况下,类的成员变量与对应的表中的字段名相同。由于绝大多数的成员函数的编码格式都是非常相似的,只是所使用的SQL语句不同。1. Type 类下面对其中几个函数进行说明Public Id As LongPublic TypeName As StringPublic Sub Delete(ByVal TmpId As Long) SqlStmt = DELETE FROM Types WHERE Id= + Trim(TmpId) SQLExt (SqlStmt)End SubEnd Function表3-1 Type表的结构函数名具体说明Init初始化成员变量Delet删除指定的类型记录。参数TmpId表示要删除的类型编号GetInfo读取指定的类型记录。参数TmpId表示要删除的类型编号In_DB判断指定的种类下的所有分类信息,TmpTid表示种类编号GetInfoByTypeId读取指定类型下的所有分类信息,TmpTypeId表示类型种类编号Insert插入新的类型记录Update修改指定的类型记录。参数TmpId表示要修改的类型编号通过调用自定义过程QueryExternal()可以执行SELECT语句,将结果集返回到Recordset对象rs中。使用rsFields()函数可以从结果集中读取数据。如果结果集为空,则对类Types初始化。读取指定种类编号下的类型信息Public Sub GetInfoByTypeId(ByVal TmpTypeId As Integer) Dim rs As New ADODB.Recordset 定义结果集对象 Dim i As Long 对数组进行初始化 Erase Arr_Type ReDim Arr_Type(0) Erase Arr_Id ReDim Arr_Id(0) 设置SQL语句 SqlStmt = SELECT * FROM Types WHERE TypeId= + Trim(TmpTypeId) 将结果集读取到rs中 Set rs = QueryExt(SqlStmt) i = 0 依次把读取的数据赋值到数组中 While Not rs.EOF ReDim Preserve Arr_Id(i + 1) ReDim Preserve Arr_Type(i + 1) Arr_Id(i) = rs.Fields(0) Arr_Type(i) = rs.Fields(1) i = i + 1 rs.MoveNext WendEnd Sub返回指定类型编号的类型名称 此函数的功能是返回指定种类编号的类型信息Public Function GetTypeNames(ByVal TmpTypeIds As String) As String Dim rs As New ADODB.Recordset 定义结果集对象 Dim i As Integer i = 0 GetTypeNames = 返回值初始化 设置SQL语句 SqlStmt = SELECT * FROM Types WHERE Id IN( + Trim(TmpTypeIds) + ) 将结果集读取到rs中 Set rs = QueryExt(SqlStmt) While Not rs.EOF If i = 0 Then 第一次添加到字符串 GetTypeNames = rs.Fields(1) Else 用逗号分隔类型名称 GetTypeNames = GetTypeNames + , + rs.Fields(1) End If i = i + 1 rs.MoveNext WendEnd Function 根据参数TmpTypeIds中的类型编号返回对应的类型名称的字符串,此函数将根据选定的多个保险类型的编号出的对应的所有的类型名称。2MembersTypes类 MembersTypes类用来管理表MemberType的数据操作,它保存为MembersTypes.cls。MemberType类的成员函数如下表。表3-2 MembersTypes表的结构函数名具体说明Init初始化成员变量)Delet删除指定的会员类型记录。TmpId表示要删除的会员类型编号。GetInfo读取指定的会员类型记录。TmpEmpId表示要读取的会员类型编号。In_DB判断指定的类型是否在数据库中。TmpTypeIdName表示类型名称Insert插入新的会员类型记录,会员类型编号由系统自动生成Update修改指定的会员类型记录。参数TmpId表示要修改的会员类型编号Delete()过程的代码如下:删除会员类型信息Public Sub Delete(ByVal TmpId As Long) SqlStmt = DELETE FROM MemberType WHERE Id= + Trim(TmpId) SQLExt (SqlStmt)End Sub。3Company类 Company类用来管理表Company的数据库操作,它保存为Company.cls。Company类的成员函数如下表表3-3 Company表的结构函数名具体说明Init初始化成员变量Delet删除指定的记录。参数TmpId表示记录编号GetInfo读取指定的记录。参数TmpEmpId表示记录编号Insert插入新记录Update修改指定记录。参数TmpId表示记录编号4Customer 类 Customer 类用来管理表Customer的数据库操作,它保存为Customer.cls。Customer类的成员函数如下表所示。表3-4 Customer表的结构函数名具体说明Init初始化成员变量Delet删除指定的记录。参数TmpId表示客户编号GetInfo读取指定的记录。参数TmpEmpId表示客户编号In_DB判断指定的客户信息是否已经在数据库中。TmpId表示客户编号Insert插入新记录Update修改指定的记录。参数TmpId表示客户编号UpdateToMembers修改客户的状态为会员。参数TmpId表示客户编号5Cars 类 Cars类用来管理Cars的数据库操作,它保存为Car.cls。Cars类的成员函数如下表所示。表3-5 Cars表的结构函数名具体说明Init初始化成员变量Delet删除指定的车辆记录。参数TmpCarNo表示要删除的车牌号GetInfo读取指定的车辆记录。参数TmpCarNo表示车牌编号In_DB判断指定的车牌号是否已经在数据库中。参数TmpCarNo表示车牌编号Insert插入新的车辆记录 6LeaseCars 类 LeaseCar 类用来管理表LeaseCar的数据库操作,它保存为LeaseCars.cal.LeaseCars类的成员函数如下表表3-6 LeaseCars表的结构函数名具体说明Init初始化成员变量Delet删除指定的记录。参数TmpId表示要删除的合同编号GetInfo读取指定的记录。参数TmpCNo表示合同编号In_DB判断指定的客户信息是否已经在数据库中。TmpId表示合同编号Insert插入新的租赁记录Update修改指定的记录。参数TmpId表示客户编号UpdateAddStatus修改续租值。参数TmpCNo表示合同编号UpdateSettleAccount修改租赁结算信息。参数TmpId表示客户编号 7Users类 Users类用来管理表Users的数据库操作,它保存为Users.cls。Users类的成员函数如表表3-7 Users表的结构函数名具体说明Init初始化成员变量Delet删除指定的记录。参数TmpUser表示要删除的用户名GetInfo读取指定的记录。参数TmpUser表示要数据的用户In_DB判断指定的客户信息是否已经在数据库中。参数TmpId表示客户名Insert插入新的用户记录Update修改指定的用户记录UpdateToMembers修改指定的用户记录。参数TmpUser表示要修改的用户名3.4 创建登录窗体模块使用本系统的用户,首先必须通过系统的身份认证,这个过程叫做登陆。 登陆窗体的名称为FrmLogin,它的界面布局如图所示。图3-1 “汽车租赁管理系统”登陆窗口3.5 创建主窗体模块主窗口是工程的启动对象,可以再系统菜单中选择“工程”/”属性“,打开属性窗口设置启动对象。主窗体名为FrmMain。代开主窗体的设计窗口,选择“工具“菜单项中的”菜单编辑器“,对菜单内容进行编辑。设置菜单项的属性如下表。表3-8 菜单项的属性表的结构标题名称基本信息m_Info类型管理m_Types销售商管理m_Sales保险公司管理m_Insur车辆管理m_Cars退出系统m_Exit客户会员管理m_Cust客户信息管理m_Customer会员信息管理m_Member会员类型管理m_MemberType日常业务管理m_Work汽车租赁管理m_Lease汽车归还管理m_Return菜单设计器如下图图3-4 菜单编辑器图3-5 汽车租赁管理系统主界面 在主窗体FrmMain中添加如下代码Private Sub Form_Load() Dim PicPath As String PicPath = App.Path + Imglease.jpg 图片相对地址 Picture = LoadPicture(PicPath) 载入图片 设置数据库连接字符串 Conn = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & _ App.Path + + DATABASE + ;Persist Security Info=False 系统登录界面 FrmLogin.Show 1End Sub 当主窗体启动时,首先打开“登陆“对话框。如果不能通过身份验证,则不能进入系统。当选择”退出系统“菜单项是,触发m_Exit_Click事件,代码如下:Private Sub m_Exit_Click() DBapi_Disconnect EndEnd Sub主页面窗体的属性如下表:表3-9 主页窗体的属性表窗体属性设置值具体说明名称FrmMain设置窗体名称BorderStyle1-Fixed Single设置窗体的边框属性Caption汽车租赁管理系统窗体的标题条文本MaxButtonFalse取消最大化按钮MinButtonTrue激活最小化按钮tartUpPosition2-屏幕中心设置窗体弹出时,位置3.6 类型管理模块设计类型管理模块可以添加、修改、删除和查看类型记录,它包含汽车类型和保险分类管理两部分。3.6.1 设计类型编辑窗体 编辑类型信息的窗体可以用来添加和修改类型信息。创建一个新窗体。窗体名称设置为FrmTypeEdit.图3-6 窗体FrmTypeEdit的布局窗体FrmTypeEdit包含的控件及其属性如下表所示:表3-10 FrmTypeEdit控件及其属性表对象名属性属性值lblTypeIdNamelblTypeId(用于显示所属类型)txtTypeNametxtDep(用于编辑类型名称)txtDescribesNametxtDescribes(用来编辑类型的功能描述)txtDescribesMultiLineTrue(多行输入)txtDescribesScrollbar2-Vertical(垂直滚动条)Cmd_OkCaption确定Cmd_CancelCaption取消 下面分别分析窗体FrmTypeEdit中部分过程的代码。 1全局变量定义 窗体中定义了4个变量,代码如下Public Modify As BooleanPublic nTid As Integer 种类编号 1-汽车;2-保险Public nId As Integer 分类编号Public sTName As String 旧的分类名称(1)变量Mdify用来标记当前的数据库访问状态。当Modify=True时,表示修改已有的数据;当Modify=False时,表示插入新的数据。(2)变量nTid用来标记当前编辑的类型种类,当nTid=1时,表示编辑汽车分类信息;当nTid=2时,表示编辑保险分类信息。(3)变量nId用来标记当前编辑的类型的编号。(4)变量sTName用来记录修改前的类型名称。2Cmd_Ok_Click()当用户单击“确定“按钮时,触发Cmd_Ok_Click事件,对应的程序代码如下:Private Sub Cmd_OK_Click() 检查用户录入数据的有效性 If Trim(txtType) = Then MsgBox 请输入分类名称 Exit Sub End If 将新输入的数据保存到类变量中 With MyType .TypeName = MakeStr(txtType) .Description = MakeStr(txtDescribe) .TypeId = nTid 根据变量Modify决定是插入新数据,还是修改已有的数据 End With 刷新分类设置窗口 FrmType.Adodc1.RecordSource = SELECT * FROM Types WHERE TypeId= + Trim(nTid) FrmType.Adodc1.Refresh FrmType.DataList1.ReFill 关闭窗口 Unload MeEnd Sub 在上面得程序段中,分别对插入类型数据和修改类型数据两种情况进行处理。出入数据是使用TypesInsert()过程,修改数据是调用Types.Update()过程。3.6.2 设计类型管理窗体 创建一个新窗体,读者可以参照前面的方法设置窗体属性。窗体名称设置为FrmType。类型管理窗体的布局如下图所示:图3-7 类型管理窗体的布局下面分析窗体FrmType中部分过程的代码。1DataRefresh过程DataRefresh过程的功能是根据种类编号显示列表中的信息,对应的代码如下:Private Sub DataRefresh() Adodc1.ConnectionString = Conn 设置连接字符串 Adodc1.RecordSource = SELECT * FROM Types WHERE TypeId= + Trim(nTypeId) Adodc1.Refresh Set DataList1.RowSource = Adodc1 设置数据源 DataList1.ListField = TypeName 设置显示字段 DataList1.BoundColumn = Id 设置绑定字段End Sub其中变量nTypeId用来标记类型种类,当nTypeId=1时,表示汽车类型信息;当nTypeId=2时,表示保险类型信息。2Form_Load 过程当装入窗体FrmType时,触发Form_Load 事件,对应的代码如下:Private Sub Form_Load() 设置汽车类型为默认项 OptSel(0).Value = True nTypeId = 1 表示种类,用来区分汽车和保险类型 添加汽车类型到DataList中 DataRefreshEnd Sub 此过程中将根据类型种类的不同决定显示的类型名称,首先显示汽车分类名称。 3Cmd_Add_Click 当用户单击“添加”按钮式,触发Cmd_Add_Click事件,对应的代码如下: Private Sub Cmd_Add_Click() 初始化FrmTypeEdit窗体的显示信息 FrmTypeEdit.nTid = nTypeId If nTypeId = 1 Then End Sub4OptSel_Click 过程当用户在汽车类型和保险类型单选按钮之间切换时,触发OptSel_Click事件,对应的代码如下:Private Sub OptSel_Click(Index As Integer) 设置nTypeId值 nTypeId = Index + 1 索引值加1 DataRefresh 根据类型种类值刷新类型名称End Sub5Cmd_Modi_Click 过程当用户单击“修改”按钮式,触发Cmd

温馨提示

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

评论

0/150

提交评论