收藏 分享(赏)

公交驾驶员安全信息管理系统.doc

上传人:fmgc7290 文档编号:8180199 上传时间:2019-06-13 格式:DOC 页数:31 大小:1.83MB
下载 相关 举报
公交驾驶员安全信息管理系统.doc_第1页
第1页 / 共31页
公交驾驶员安全信息管理系统.doc_第2页
第2页 / 共31页
公交驾驶员安全信息管理系统.doc_第3页
第3页 / 共31页
公交驾驶员安全信息管理系统.doc_第4页
第4页 / 共31页
公交驾驶员安全信息管理系统.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、毕业设计(论文)题目 公交驾驶员安全信息管理系统 系 别 专 业 班 级 姓 名 学 号 指导教师(职称) 日 期 *大学第一章需求分析11 引言面对复杂的公交驾驶员安全信息方面的信息,数据。而就目前的现状,全部是人工靠手工记录的方式记录和处理这些数据。这给公交公司带来很多问题:(1)驾驶员信息不能及时反馈到公司上层机构。(2)对驾驶员的信息经过多年积累,出现很大的数据冗余。(3)对驾驶员的信息管理,公交公司得花很大的人力和物力去进行管理。(4)公交公司的驾驶员信息,公司管理层需要得到及时的决策,而这些信息不能够很快得到。而就现代社会的发展要求,给现在地的公交公司建立一个驾驶员安全信息管理系统

2、势在必行。实现公交公司驾驶员安全信息管理的现代化,信息化。这对公交公司:(1) 给管理层和决策层提供详细和准确的数据(2) 不再是靠以前的人工纸章记录方式,节省的大量纸张资源。(3) 数据不再会出现过多冗余,对于各种信息能够及时更新。(4) 对公交公司管理层管理公司驾驶员会具有及时,可靠,准确,详细的各种信息。12 可行性分析(1).经济的可行性分析公交公司只需投入少量资金做系统的开发,而在系统运行到公司,公司只需有一名系统管理员就够了,这对公司节省了很多的人力开支。所以,从经济方面,这是可行的。(2).技术的可行性分析Visual Basic6.0 是微软推出的基于窗口的可视化开发工具。Vi

3、sual 所指的是开发图形用户界面的可视化方法,无需写大量源代码去描述用户界面元素的外观和位置,而只要把预先建立好的控件对象拖入到设计窗体上,着就是可视化。Visual Basic 是 Windows 下最快捷,便利的通用开发工具之一,它具有智能特性集成开发环境。VB6.0 的特有四大特点:可视化,面向对象,部件编程,事件驱动等。Microsoft 公司的 Access 数据库管理系统是目前国内使用较为普遍的一种数据库软件。它既是一个独立的数据库平台也是一个强大的数据库开发工具,可以用来开发定制客户机/服务器数据库应用程序。它包括了 30 多个向导可以执行许多常见的任务,如创建窗体,报表和查询

4、。Access 数据库在设计大量的用户或频繁的操作时,它的性能和可靠性会大幅度下降。从以上两点可以看出,以 Visual Basic6.0 作为开发前台,Access 数据库作为后台来开发这套驾驶员安全信息管理系统在技术上是可行的。13 需求概述:(1) 浏览功能:以列表的形式显示各种记录。(2) 条件查询功能:用户可以任意选择字段进行各种查询,本功能只可对管理员开放(3) 修改功能: 可修改任意字段,但逐渐不许为空,只对管理员开放(4) 添加功能:可以添加符合本系统任何信息记录,只对管理员开放(5) 删除功能:可以删除本系统任何一条或多条记录,只对管理员开放(6) 密码管理:只能由管理员去管

5、理密码的各种操作(7) 身份验证功能:进入系统后,对用户的身份权限进行验证,保证用户合法并具有权限级别。(8) 系统帮助功能: 为普通用户提供使用本系统的功能第二章 系统设计21 模块设计根据本系统的需求,结合实际中公交公司驾驶员安全信息管理的情况,本系统应该具有一下功能:(1)用户管理本系统用户可以分二类用户:普通类用户(1) ,管理员类用户(0)a. 驾驶员用户 也就是公交驾驶员用户,当前系统中所有驾驶员。其用户名为驾驶员姓名,密码为驾驶员编号。该类用户只能浏览自己的各种信息,不能对数据进行任何的其他操作,也不能访问其他驾驶员的信息。b. 管理员类用户 也就是本系统的实际操作员和管理员,可

6、实施信息的录入,查找,删除,修改,查询等各项功能,并能根据实际需要实现对报表的打印工作。在最初的管理员的允许下,可实现新管理员的注册。(2)驾驶员基本信息模块设计此模块将对驾驶员的基本信息做详细的信息录入,并包括增加,删除,修改,浏览。查询和报表生成的权限管理,此模块驾驶员只能浏览自己的个人信息,并也有打印自己的信息的权限(3)安全公里数和年审模块此模块可对公交驾驶员的安全公里数和年审的信息录入,并可进行各项管理,普通用户只能以浏览自己本人的基本信息,而管理员用户可以进行信息的录入,修改,删除,并可做查询和报表生成以及打印工作。(4)奖惩管理模块此模块可对公交驾驶员的获奖和惩罚信息做详细发记录

7、,同样也有各种管理功能,管理员用户可以对此模块的各种信息数据进行增加,修改,删除并可做查询以及报表生成功能。普通用户可以对自己的信息进行浏览,以及自己的信息报表生成(5)违章肇事管理模块此模块可以对公交驾驶员的违章以及肇事信息做详细的记录,并也具有各种管理功能和浏览功能。普通用户只能最自己的信息做浏览和报表生成。而管理员用户可以对此模块的各条信息进行增加,删除,修改和查询以及报表生成。各功能模块图如图一:图一22 开发环境结合所要开发的系统的特点和此次毕业设计任务要求,系统采用将使用 Visual Basic 6.0中文版作为开发工具,后台数据库则采用 Access 200023 系统的整体流

8、程根据公交公司驾驶员的实际流程和设计任务,结合上述的各功能模块,系统的整体流程如图二:流程处理说明:1. 系统启动时,激活身份验证模块2. 通过身份验证后,对系统初始化,根据系统配置文件将数据库导入3. 系统进入主窗体,通过事件驱动机制激活各功能模块,并执行指定模块2.4 数据库设计数据库采用了 Microsoft 推出的 Access 数据库,这是微软集成到 Office 中的一个桌面数据库,能够快速方便的和 Office 的其他套件综合使用。由于 Access 具有显著的简易性和有效性,大量的桌面数据库系统都采用 Access 作为后台数据库。使用 Access 的好处还在于,如果你的系统

9、扩展到 Client/Server 模式的时候,可以使用 Microsoft 的数据库服务器软件SQL Server,此时,程序只需要简单的修改一下链接(ADO 的数据源)就可以,这样,为程序的平滑扩展提供了非常有力的条件。2.4.1 本系统涉及到的主要实体有五个数据表:“基本”表员工编号,姓名,出生日期,性别,政治面貌,文化程度,驾驶证号,身份证号,准驾车型,登记日期,单位,星级,备注“安全与年审”表编号,员工编号,上半年里程数,下半年里程数,年度,审验日期,年审情况,备注“奖惩”表编号,员工编号,奖惩类型,奖惩名称,奖惩日期,授予单位,备注“违章肇事”表编号,员工编号,违肇类型,违肇事日期

10、,车型,经过情况,处理结果,驾驶证情况,吊销期限,吊扣期限,备注“用户”表用户编号,用户名,密码,权限,备注 2.4.2 各表的物理结构如下:驾驶员基本信息表(表一)字段名称 类型 长度 默认值 备注员工编号 字符 4 无 主键姓名 文本 8 无 可以为空出生日期 日期 无 可以为空性别 文本 2 “男” 可以为空政治面貌 文本 10 无 可选择型文化程度 文本 10 无 可选择型驾驶证号 字符 10 无 可以为空身份证号 字符 20 无 可以为空准驾车型 字符 4 无 可以为空登记日期 日期 无 可以为空单位 文本 20 无 可以为空星级 文本 10 无 可选择型备注 文本 60 无 可以为

11、空这里的“可选择型”:在详细设计时固定可选项,用户只可选择型的添入。驾驶员安全公里数和年审表(表二)字段名称 类型 长度 默认值 备注编号 字符 4 无 主键员工编号 字符 4 无 主键上半年里程数 数字 长整型 无 可以为空下半年里程数 数字 长整型 无 可以为空年度 数字 长整型 无 可以为空审验日期 日期 无 可以为空年审情况 字符 20 无 可以为空备注 字符 60 无 可以为空驾驶员奖惩表(表三)字段名称 类型 长度 默认值 备注编号 字符 4 无 主键员工编号 字符 4 无 主键奖惩类型 字符 2 无 可选择型奖惩名称 字符 10 无 可以为空奖惩日期 日期 无 可以为空授予单位

12、字符 15 无 可以为空备注 字符 60 无 可以为空驾驶员违章肇事表(表四)字段名称 类型 长度 默认值 备注编号 字符 4 无 主键员工编号 字符 4 无 主键违肇类型 字符 2 无 可选择型违肇日期 日期 无 不可为空车型 字符 4 无 可选择型经过情况 字符 20 无 可以为空处理结果 字符 20 无 可以为空驾驶证情况 字符 4 无 可选择型吊销情况 字符 4 无 根据驾驶证情况吊扣情况 字符 4 无 根据驾驶证情况备注 字符 60 无 可以为空系统用户信息表:(表五)字段名称 类型 长度 默认值 备注用户编号 字符 4 无 主键用户名 字符 20 无 可以为空密码 字符 16 无

13、可以为空权限 字符 1 无 不可以为空备注 字符 20 无 可以为空2.4.3 关系:数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录,一个更高级的连接形式称为自然连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的记录中由重复数据的组合字段。数据库有三种不同类型的关键字:主关键字,组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其他的库建立关系。关系是数据库查询设计的基础。关系数据库中表之间的关系有一对一的关系

14、,一对多的关系以及多对多的关系,其中前两种是最为常用的两种关系。从实际的公交驾驶员安全信息管理来说,上述所涉及到的各表之间存在着紧密的联系,根据这一情况需要建立各个表相应字段之间的关系。定义了以下几组参照完整性:由于每个公交驾驶员具有多条奖惩信息,所以,基本表和奖惩表,是一对多的关系。由于每个驾驶员在多年的积累中有多条的年审和安全公里数记录,因而也是一对多的关系。由于每个驾驶员在其任职期间具有多个违章肇事的信息,所以也具有一对多的关系,因而也属于一多的关系。因为用户表不属于具体的实际,而只是本系统使用人员的各项信息记录表,所以的单独的,不与其他任何表有任何关系。各表之间的关系图(图三):图三E

15、-R 图(图四):由于每个驾驶员可拥有驾证多个,所驾驶的车也有多辆,所属单位也有多家,所以一个驾驶员与这些信息的一对多的关系。图四第三章 软件总体设计3.1 程序浏览:3.1.1 系统欢迎界面(图五):图五说明:由于是 Splash 窗体,所以在各个控件的单击事件中写如打开下一窗体(登录窗体)的代码。运行本系统,将出现 Splash 窗体,在本系统中由于没有初始化工作需要做,所以 Splash 窗体只起展示屏幕的作用。登录界面:如果用户在 Splash 窗体上单击查上是任何部分或者按下任何一个键,将退出 Splash 窗体,并进入系统登录窗体。本系统的用户分为两种,管理员用户和驾驶员用户,使用

16、者可以在组合框中选择所要登录的用户类型,并输入相应的用户名和密码。3.1.2 登陆界面(图六)图六3.1.3 主窗体界面:附:菜单设计(图七)考虑到系统使用的方便和快速使用,我们设计了菜单以便用户使用(并设有快捷键):图七 在登录窗中如果用户登录成功将会出现以下窗体(图八):图八 用户以管理员身份登陆后界面(图九):图九用户以驾驶员身份登陆后界面(图十):图十如果单击帮助菜单,系统将显示系统欢迎界面(Splash 窗体) ,但是此时单击系统欢迎界面(Splash 窗体) ,则将退出 Splash 窗体并直接返回到主窗体中,而不会出现登录窗体。驾驶员信息管理窗体:报表界面:3.2建立数据库连接3

17、.2.1本系统将使用 ADO 作为数据连接的手段,在使用 ADO 之前,必须在工程中添加对ADO 的引用3.2.1.1 ADO 简介ActiveX Data Objects(ADO) 是微软公司最新的数据库访问技术。它被设计用来同新的数据访问层 OLE DB Provider 一起协同工作,以提供通过数据访问(Universal Data Access) 。OLE DB 是一个低层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库以及电子邮件系统及自定义的商业对象。同传统的数据对象层次(DAO 和 RDO)不同,ADO 可以独立创建,因此可以只创建一个 Connection 对象,

18、但是可以有多个,独立的 Recordset 对象来使用它。ADO 针对客户/服务器以及 Web 应用程序作了优化。以前的对象模型,如 DAO 和 RDO 是层次型的。在创建一个对象的实例之前,不能创建 DAO Recordset 对象的实例。但 ADO 却不同,它定义了一组平面型顶级对象。最重要的 3 个 ADO 对象是 Connection,Recordset 和 Command。在本系统中重要使用了Connection 和 Recordset 两个对象。每个 Connection 的属性定义了与数据源的连接。Recordset 对象接收来自数据源的数据。Recordset 可以与 Conn

19、ection 一起使用,先建立一个连接,然后获取数据。Recordset 也可以被单独创建,其 connection 参数可以在 open 属性定义。3.2.1.2 使用 ADO 连接 Jet为了使用 ADO 连接一个 Jet 数据库,必须使用如下字符串:Provider=MSODAORA.1;Data source=vb6db.A如果在数据库中指定了用户级的安全性,并且希望在连接字符串中包括用户 ID 和用户密码信息,也可以包括“User ID=”和“Password= ”关键字,或者可以把它们作为Open 方法的参数。当然,也可以使用 Data LinkerProperties 窗口来配置

20、 Jet 提供者。选择与使用的 Jet 版本相应的提供者(参见图 29。1) ,单击 Next 按钮后,输入数据库的名字和访问此数据库所必需的用户名和密码。如果没有实施用户级的安全性,就应该保留默认的用户名和密码(密码为空 )。如果想检测此连接,单击 TestConnection 按钮。如果指定了数据库密码,可以指定 Data Linker Properties 窗口中所有选项卡中的值。只需选择 Jet OLEDB:Database Password 字段,单击 Edit Value 按钮,并且输入适当的值。3.2.1.3 Jet 安全性如同其他数据库系统 Jet 也内置了自己的安全子系统。当

21、然,可以选择使用此安全子系统或者忽略它。但如果计划让多于一个的用户访问数据库,就应该使此子系统。实际上,就算是只有一个用户使用数据库,也可以使用数据库,也可以使用此安全系统。此安全子系统只是通过阻止用户以任何其他的应用程序打开数据库来防止破坏数据库。共享级安全性在共享级安全性中,会给数据库分配一个密码,只有知道此密码的用户才能访问此数据库。当然,它的安全性要低于用户级安全性(接下来将要讨论) 。这种安全性体系将会阻止用户以 Excel 或 Access 访问数据库。可以使用 Access 或 Workspace 对象中的DAOCreateDatabase 方法来设置密码,只需把字符串;pwd=

22、MyPassword 添加到 Locale 参数中的末尾以把数据库密码设置为 MyPassword 。接下来,就应该指定 DAO OpenDatabase方法 Connection 参数中的密码。在 ADO 中,通过使用; pwd=MyPassword 关键字,只需指定密码为 Connnection 字符串的一部分。用户级安全性用户级安全性与 SOL Server 和 Oracle 8i 中的安全性系统相似。系统为访问数据库的每一个用户创建一个用户 ID 和密码,接下来,给每一个用户 ID 给予访问不同数据库对象的权限。在用户级安全性中,可以通过组来进行管理。可以创建一个组,并给予这个组适当的

23、权限,这就像是创建另一个用户。接下来,就可以把组分配给不同的用户 ID。当用户登录到数据库中时,除了分配给每一个用户自己的权限,他们还会继承已经分配给他们组的权限。3.3 数据环境设计器属性设置;3.3.1 在数据环境设计器中添加 Connection1 对象,查看其属性,在“提供者”选项卡中选择“Microsoft Jet 4.0 OLE Provider”项,如图十一图十一 图十二3.3.2 在“连接”选项卡中,在“数据库名称”中选择 jsy.mdb(这里数据库的路径和工程路径在同一文件夹下) ,并选中“空白密码”和“允许保存密码”前面的单选框,如下图所示。单击“测试连接”按钮,如果出现“

24、连接成功”提示框,则表示设置成功,否则,需要检查数据库连接的设置。 (如图十二)经过以上两步设置,数据环境设计器的 Connection 数据连接的属性设置如表六:对象 属性 设置Name Connection1ConnectionStringDEConnectionCursorLocation 3-adUseClient表六3.3.3 数据连接的初始化代码在数据环境的初始化(Initialize)事件中,动态改变数据连 Connection1 的连接字段(ConnectionString)Private Sub DataEnvironment_Initialize()ADO 中的数据连接所使

25、用的字段Dim strConn As StringstrConn = “Provider=Microsoft.Jet.OLEDB.4.0;Password=;Data Source=“strConn = strConn Persist Security Info=True“Connection1.ConnectionString = strConn第四章 软件详细设计41 界面设计4.1.1 欢迎窗体.在工程添加窗体 form1.frm,并将其设置为启动对象,该窗体上的控件及其属性设置如表七。对象 属性 设置Name Form1Caption 公交驾驶员安全信息管理系统Form KeyPrev

26、iew TrueShowInTaskbar FalseStartUpPosition 2-屏幕中心name Label1Label1caption 公交驾驶员安全信息管理系统name Label2Label2caption 开发环境:Visual Basic 6.0name Label3Label3caption 数据环境: Access表七 4.1.2 .代码设计本窗体主要具有两个作用,其一为系统运行时的“关于”窗体,其二为系统启动时的窗体,所以在“通用”部分定义模块级的公共变量 mbAbout,作为区别这来两个作用的表识。Option ExplicitPublic mbAbout As B

27、oolean若 mbAbout 为 true, 则表示为系统启动时的窗体。若 mbAbout 为 flase,则表示为系统运行时的“关于.”窗体。UnloadForm 子过程中,首先退出启动窗体,然后对 mbAbout 做出判断,如果 mbAbout为 false,即表示此时的窗体为 Splash 窗体,需要显示登录窗体,否则就表示该窗体为“关于”窗体,就不需要显示登录窗体。Sub UnloadForm1()Unload MeIf Not mbAbout Then Form2.ShowEnd Sub以下各事件调用了 UnloadForm1 子过程Private Sub Form1_KeyPre

28、ss(KeyAscii As Integer)UnloadForm1End SubPrivate Sub Label3_Click()UnloadForm1End SubPrivate Sub Label2_Click()UnloadForm1End SubPrivate Sub Label_Click(Index As Integer)UnloadForm1End Sub4.2 登录窗体:4.2.1 窗体个属性设置如下:对象 属性 设置Name Form2Form2 Caption 系统登录Frame1 Name Frame1Caption 登录Name Label1Label1Captio

29、n 用户名:Name Label2Caption 密码:Label2Password *Name Label3Label3Caption 选择身份Text1 Name Text1Text2 Name Text2Name Combo1Text 身份Combo1List 管理员 公交驾驶员Name Command1Caption 确定Command1Default TrueName Command2Command2Caption 取消表八4.2.2 代码设计Option Explicit表示当前用户登录所选择的身份,即用户类型0-表示管理员类用户;1- 表示普通类用户Dim mnUserType

30、As IntegerPrivate Sub Combo1_Change()mnUserType = Combo1.ListIndexEnd SubPrivate Sub Combo1_Click()mnUserType = Combo1.ListIndexEnd SubPrivate Sub Command1_Click()取得用户输入的用户名和密码Dim user As String, pwd As Stringuser = txtUserpwd = txtPwd根据不同的身份,选择不同的表用以查询Dim r As New ADODB.RecordsetSet r = DataEnviron

31、ment1.rsygxmDim strSQL As StringSelect Case mnUserTypeCase 0: 选择身份为管理员strSQL = “select * from 用户 where 用户名 =“ 1-普通类型的用户Public mnUserType As Integer表示当前登录的用户名Public msUserName As String2判断用户权限,同时隐藏不可用的模块。Private Sub MDIForm_Activate()根据不同的用户类型,使相应的菜单项可见Select Case mnUserTypeCase 0: 以管理员身份登录管理员功能.Visi

32、ble = True驾驶员功能 = TrueCase 1: 以驾驶员身份登录, 只能查询自己的信息驾驶员功能.Visible = True管理员功能 = FalseEnd SelectEnd Sub3 QueryUnload 事件当用户要退出 MDI 窗体时,需要在 QueryUnload 事件中进行访问,询问用户是否真的要退出本系统,如果用户不要退出,则将 Cancel 值设为 1 ,来取消整个退出过程。Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)If MsgBox(“真的要对出本系统吗?“

33、, vbQuestion + vbYesNo + vbDefaultButton2, “退出“) = vbNo ThenCancel = 1End IfEnd Sub4 “重新登录”子菜单的代码用户单击了“重新登录” ,将会给出提示,如果用户在提示框中按下“确定”按钮,则退出整个 MDI 窗体,并显示登录窗体Private Sub 重新登陆_Click(Index As Integer)If MsgBox(“若重新登录,所有窗体都将关闭!是否重新登录?“, vbQuestion + vbYesNo + vbDefaultButton2, “重新登录“) = vbYes ThenUnload M

34、DIForm1Form2.ShowEnd IfEnd Sub5 其他事件代码Private Sub 基本信息_Click()Form3.ShowEnd SubPrivate Sub 驾驶员基本信息管理_Click()Form4.SSTab1.Tab = 0Form4.Frame1.Visible = TrueForm4.Frame15.Visible = TrueEnd SubPrivate Sub 驾驶员奖惩信息管理_Click()Form4.SSTab1 = 2Form4.Frame4.Visible = TrueForm4.Frame13.Visible = TrueEnd SubPri

35、vate Sub 驾驶员违章肇事信息管理_Click()Form4.SSTab1 = 3Form4.Frame5.Visible = TrueForm4.Frame14.Visible = TrueEnd SubPrivate Sub 奖惩信息_Click()Form3.ShowEnd SubPrivate Sub 年审与安全公里数_Click()Form3.ShowEnd SubPrivate Sub 年审与安全公里数信息管理_Click()Form4.SSTab1 = 1Form4.Frame2.Visible = TrueForm4.Frame12.Visible = TrueEnd S

36、ubPrivate Sub 退出 1_Click()Unload MeEnd SubPrivate Sub 违章肇事信息_Click()Form3.ShowEnd SubPrivate Sub 用户管理_Click()Form4.SSTab1 = 4Form4.Frame8.Visible = TrueForm4.Frame15.Visible = TrueEnd Sub4.4 信息管理窗体用户以管理员身份才可以访问到此模块。4.4.1 添加数据连接在窗体实现代码中,需要取得数据库中的基本表的记录。设置图如图十三图十三 4.4.2 窗体及个控件属性设置如下:对象 属性 设置Name Form4

37、Caption 信息管理Form4MDIChild TureName SSTab1Tab=0 基本信息浏览Tab=1 年审与安全公里数浏览Tab=2 奖惩信息浏览Tab=3 违章肇事信息浏览SSTab1Tab=4 用户信息浏览表十一基本信息管理和浏览各控件属性设置(由于篇幅的问题,这里只对基本表的设置列出)对象 属性 设置Name DataGrid1DataSource DataEnvironment1DataMember 基本DataGrid1Caption 信息浏览Name Frame1Frame1Caption 基本信息管理Name Label1Label1Caption 员工编号Nam

38、e Label2Label2Caption 姓名Name Label3Label3Caption 出生日期Name Label4Label4Caption 性别Name Label5Label5Caption 政治面貌Name Label6Label6Caption 文化程度Name Label7Labe7Caption 驾驶证号Name Label8Label8Caption 身份证号Name Label9Label9Caption 准驾车型Name Label10Label10Caption 登记日期Name Label11Label11Caption 单位Name Label12Labe

39、l12Caption 星级Name Label13Label13Caption 备注Name Text1DataField 员工编号Text1DateMember 基本DataSource DataEnvironment1Name Text2DataField 姓名DateMember 基本Text2DataSource DataEnvironment1Name Text3DataField 出生日期DateMember 基本DataSource DataEnvironment1Text3DataFormat 日期Name Combo1DataField 性别DateMember 基本Data

40、Source DataEnvironment1Combo1List 男 女Name Text4DataField 政治面貌DateMemer 基本Text4DataSource DataEnvironment1Name Combo2DataField 文化程度DateMember 基本DataSource DataEnvironment1Combo2List 初中 高中 大专 本科Name Text7DataField 驾驶证号DateMember 基本Text7DataSource DataEnvironment1Name Text8DataField 身份证号DateMember 基本Te

41、xt8DataSource DataEnvironment1Name Combo3DataField 准驾车型DateMember 基本DataSource DataEnvironment1Combo3list A B C D E Name Text10DataField 登记日期DateMember 基本DataSource DataEnvironment1Text10Dataformat 日期Name Text11DataField 单位DateMember 基本Text11DataSource DataEnvironment1Name Combo4DataField 星级DateMemb

42、er 基本DataSource DataEnvironment1Combo4list Name Text13DataField 备注DateMember 基本DataSource DataEnvironment1Text13MuLtiLine TrueName Frame10Frame10Caption 管理Name Command1Command1Caption 增加Name Command2Command2Caption 删除Name Command3Command3Caption 修改Name Command4Command4Caption 查询Frame12 Name Frame12C

43、aption 浏览Command22 Name Command22Caption Command25 Command25Caption 表十二4.4.2 代码设计:1模块级变量声明Option ExplicitDim mbClose As Boolean 是否能关闭Dim msSerial As String 当前编辑的驾驶员编号2基本表数据管理代码设计基本信息表代码设计Private Sub Command1_Click()基本信息表增加DataEnvironment1.rs 基本.AddNewText1.SetFocusFrame1.Enabled = TrueFrame11.Enable

44、d = FalseCommand1.Enabled = FalseCommand3.Enabled = FalseCommand2.Enabled = FalseCommand4.Enabled = TrueCommand21.Caption = “取消“Command21.Enabled = TruembClose = FalseEnd SubPrivate Sub Command2_Click() 删除On Error GoTo errHandlerIf MsgBox(“要删除记录?“, vbYesNo + vbQuestion + vbDefaultButton2, “确认“) = vb

45、Yes ThenDataEnvironment1.Connection1.Execute “delete from 基本 where 员工编号 =“ & Text1 & “DataEnvironment1.rs 基本.MoveNextIf DataEnvironment1.rs 基本.EOF Then DataEnvironment1.rs 基本.MoveLast刷新用户导航的网格控件Call RefreshGridEnd IfExit SuberrHandler:MsgBox Err.Description, vbCritical, “错误“End SubPrivate Sub Comman

46、d3_Click() 修改Frame1.Enabled = TrueCommand1.Enabled = FalseCommand3.Enabled = FalseCommand2.Enabled = FalseCommand4.Enabled = TrueCommand21.Caption = “取消“ 更改为“取消更新”的状态Command21.Enabled = TruembClose = False 不能关闭窗口End SubPrivate Sub Command4_Click() 更新On Error GoTo errHandler:Dim str As Stringstr = Te

47、xt1.TextDataEnvironment1.rs 基本.UpdateCommand21.Caption = “报表(&R)“Command4.Enabled = False Frame1.Enabled = FalsembClose = TrueIf DataEnvironment1.rs 基本 .State = adStateClosed Then DataEnvironment1.rs 基本.Open刷新右端用以导航的网格控件Call RefreshGrid根据记录集中记录的个数,改变各个按钮的状态Call ChangeBrowseState定位到刚刚添加或者修改过的记录DataEn

48、vironment1.rs 基本.MoveFirstDataEnvironment1.rs 基本.Find “员工编号=“ & str & “Exit SuberrHandler:MsgBox Err.Description, vbCritical, “ 错误“End SubPrivate Sub Command21_Click()On Error Resume NextIf Command21.Caption = “取消“ Then取消更新DataEnvironment1.rs 基本.CancelUpdate重新显示原来数据集中的内容If DataEnvironment1.rs 基本.BOF

49、 ThenDataEnvironment1.rs 基本.MoveFirstElseDataEnvironment1.rs 基本.MovePreviousDataEnvironment1.rs 基本.MoveNextEnd IfCall ChangeBrowseStatembClose = TrueEnd IfEnd Sub4 基本表导航栏设计与实现当 DataGrid 的内容发生变化,或者用户通过单击改变 DataGrid 的当前行时,或者通过浏览框中的记录移动按钮,来移动 DataGrid 的当前行,那么必须相应改变信息查看框中的驾驶员基本信息。这就需要在 DataGrid 的 Change 和 RowColChange 事件中调用自定义的子过程 Seek 基本()来实现如果 DataGrid 所需要连接的记录集的内容已经发生可变化,且该新的 DataGrid

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报