《2022年档案管理系统大学本科方案设计书方案设计书 .pdf》由会员分享,可在线阅读,更多相关《2022年档案管理系统大学本科方案设计书方案设计书 .pdf(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘要近年来,随着企业彼此间的竞争日趋激烈,信息技术在企业的发展中占据着越来越重要的地位。在企业的运输生产中,档案已成为企业运输经营中不可或缺的一部分,为管理者进行管理决策和进行各种经营活动提供了重要的依据,在运输生产中发挥了越来越重要的作用。档案管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以档案管理系统能够为用户提供充足的信息和快捷的查询手段。用Visual Basic构建的档案管理系统,能实现档案的录入、修改、查找、删除、统计、查询、预览、编辑、打印、打印预览、取消、刷新、视图、系统维护、帮助等功能,此外,在程序中还设计了用户登陆,并设定了密码,以
2、确保本系统应用的安全性。本管理系统设计合理、界面美观、操作方便、运行稳定、功能完备,为进行现代化的档案管理工作起到了重要作用,具有较高的实用价值。关键词:数据库模块信息数据源目 录第一章概述-3 第二章目标分析和方案确定-4第三章 开发档案管理系统的基本思路-6 3.1 使用 VB6.0 编写代码-63.2 使用 Access2000建立数据库-63.3 用 JET 数据库引擎访问数据库-6第四章 Visual Basic 6.0编程语言概述-74.1 创建菜单栏-74.2 创建工具栏-74.3 建立帮助信息-84.4 生成版本信息-8第五章使用 Access2000 实现关系型数据库-9 5
3、.1 数据库的概念-9精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 36 页5.2 新建一个数据库-95.3 修改已建的数据库-9第六章系统总体设计-10 第七章分模块设计-127.1档案的系统维护-127.2 档案的版本和系统信息-137.3 档案的录入、编辑、删除、刷新-177.4 档案的登陆和密码设计-247.5 档案的主界面-277.6 档案的查询、预览、打印功能-287.7 档案的统计功能-317.8 档案的报表-32第八章结束语-34 附:主要参考文献-35 第一章概述近年来,随着企业彼此间的竞争日趋激烈,信息技术在企业的
4、发展中占据着越来越重要的地位,借助信息技术来获取更快捷、更高效、更准确的操作方式,发挥企业本身最大的竞争力以适应快速变迁的商业环境,逐渐成为不可避免的趋势。在企业的运输生产中,档案已成为企业运输经营中不可或缺的一部分,为管理者进行管理决策和进行各种经营活动提供了重要的依据,在运输生产中发挥了越来越重要的作用。为方便、高效、快捷地适应现代化档案的需要,本论文应用 Visual Basic构建了一个档案管理系统,其中用到了数据库的应用、建立、数据库操作对象ADO 、数据报表设计等知识。档案管理系统是典型的信息管理系统 (MIS) ,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面
5、。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。用Visual Basic 构建的档案管理系统,主要能实现档案的录入、修改、查找、删除、统计、查询、编辑、打印、打印预览、取消、刷新、视图、系统维护、帮助等功能,为保证用户的安全性,还设计了简捷方便的用户登陆和密码修改。本管理精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 36 页系统设计合理、界面美观、操作方便、运行稳定、功能完备,为进行现代化的档案管理工作起到了重要作用,具有较高的实用价值。第二章 目标分析和方案确定档案管理系
6、统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如: 效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许
7、多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 36 页在企业中用计算机管理档案的意义:现在,有很多企业的档案管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。作为计算机应用的一部分,使用计算机对档案信息进行管理,具有着手工管理所无法比拟的优点。例如: 检索迅速、查找方便、可靠性高、存储量大、保密性好、寿
8、命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。Visual Basic简单易学且功能丰富,是广泛应用的变成语言之一,它的发展为编程人员提供了更广泛的空间。为能够迎合转变快速的信息技术,越来越多的企业倾向于分布式的管理需求,提供分布式主从结构环境的Microsoft SQL Server便成为相当重要的核心角色,这个数据库服务器运用了关系数据库的技术,同时考虑到高效率数据库管理的需求,借助标准化的访问环境,提高了和前端应用环境轻松集成的能力,以适应各种企业组织在不同环境下的操作需求。作为前端应用程序开发环境的Visual Basic
9、6.0,在数据来源的维护、数据访问技术、国际网络和企业内部Intranet应用程序等功能方面都有其独到、先进之处。我作为一个计算机应用专业的专科生,希望在这方面有所贡献。我希望能用我所学的Visual Basic6.0编制出一个实用的程序来对企业的档案进行更有效、快捷、方便的管理,因此,我充分运用Visual Basic进行了这套档案管理系统的开发。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 36 页第三章开发档案管理系统的基本思路3.1 、编程环境的选择微软公司的Visual Basic 6.0是 Windows应用程序开发工具,
10、使目前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统 VB是一个相对较好的选择。3.2 、关系型数据库的实现Access2000 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外, Access 允许创建自定义报表用于打印或输出数据库中的信息。Access
11、也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access 作为关系数精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 36 页据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。3.3 、二者的结合( DBA )微软的 JET 数据库引擎提供了与数据库打交道的途径,我们是通过它以及Visual Basic 来访问数据库并对其进行各种操作。Visual Basic
12、、Access 以及其他微软的软件产品都是通过共用JET 数据库引擎,从而给用户提供了丰富的数据类型。DATA 控件在数据库中的信息与将信息显示给用户看的Visual Basic程序之间架起了一座桥梁。我们可以设置DATA控件的各个属性,告诉它要调用那个数据库的哪个部分。缺省情况下,DATA 控件根据数据库中的一个或多个数据表建立一个 dynaset-type (动态集合)类型的记录集合。一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。 DATA控件还提供了用来浏览不同记录的各种跳转按钮。将DATA控件放置在窗体中之后,我们还必须在该控件与要处理
13、的数据库之间建立联系。第四章 Visual Basic 6.0编程语言概述Visual Basic应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和方法)。开发人员可以最有效利用所创建的每一个对象。使用应用程序具有可通用性、可扩展性和强有力的功能。Visual Basic应用由一系列对象组成,包括有函数、菜单、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使用。4.1 创建菜单栏除此之外, VB6.0 还有以下一些重要功能。菜单是程序最重要的特性之一,大多数程序都依赖一个定义良好的菜单使程
14、序易于使用和维护,Visual Basic也提供了强大的创建菜单功能是程序更加标准。您可以使用Visual Basic 的 Applicaytion Wizard也可以使用 Visual Basic的菜单编辑器建立菜单或者修改已经存在的菜单、控件。其属性及对象如下:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 36 页1. Align 属性定义工具条在窗休中的位置。2. ToolTipText属性是字符串类型,定义控件的提示字符。3. Style 属性定义按钮外观。4. ImageList属性定义与数据条对应的ImageList 控件
15、名,该控件定义工具条按钮显示的图像。5. HotImangeList属性设置一个ImageList控件名,该控件定义按钮获得热点时显示的图像。6.DisabledImageList属性定义工具条按钮无效时显示的图像。4.2 创建工具栏创 建 工 具 条 主 要 利 用 ImageList和 Toolbar控 件 。 创 建 时 , 先 将ImageList添加到窗体上,然后往其中添加一些图片,接着Toolbar控件添加到窗体上,再往 Toolbar 中插入一些命令按纽,为他们添加上相应图片即可。4.3 建立帮助信息专业水平的软件通常都带有联机帮助功能。无论写出来的程序是要给大量的用户使用,还是
16、仅仅局限于公司内部有限的使用者,我们都应该为用户提供详细的、易于理解的联机帮助文档。微软的Help Workshop4.0是一套独立于Visual Basic的用来协助我们创建、运行于32 位 Windows操作系统下的帮助文件的工具。使用它可以为我们编写的应用程序生成一组帮助文件。4.4 生成版本信息为了使程序显得更具有专业风格,首先可以在其中加入通常的应用程序信息。这些信息包括公司名称、版本号、修订号以及其他类似信息。Visual Basic 允许你使用APP对象来保存这些信息, APP对象是一个预定义对象,不需要在程序中创建它。APP 对象的大多数属性被应用程序用来提供常规的信息,通过使
17、用这些APP提供的属性,可以在应用程序和用户之间交流重要信息,在工程属性框中可以设置它的属性。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 36 页第五章使用 Access2000实现关系型数据库5.1 、数据库的概念数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。5.2 、新建一个数据库创建任何一个
18、数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。1)标识需要的数据;2)收集被标识的字段到表中;3)标识主关键字字段;精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 36 页档案管理登陆模块录入模块修改模块查询模块统计模块预览打印4)绘制一个简单的数据图表;5)规范数据;6)标识指定字段的信息;7)创建物理表。5.3 、修改已建的数据库数据库的修改分为:添加、编辑和删除记录。这三种操作均可由Visual Basic创建的程序来完成,下面的章节将详细描述实现的具体方法。第六章系统
19、总体设计根据设计方案,本系统的结构框图为(如下所示):本系统所实现的主要功能为:可以进行文本操作;1. 录入一个数据库工程;2. 修改一个数据库工程;3. 查找一个数据库信息;4. 删除一个数据库信息;5. 统计一个数据库信息;6. 查询一个数据库信息;7. 预览一个数据库信息;精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 36 页8. 编辑一个数据库信息;9. 打印一个数据库信息;10. 打印预览一个数据库信息;11. 刷新一个数据库信息;12. 取消一个数据库信息。根据实际数据操作流程,本城西数据的ER图为(根据数据流程勾画,下图
20、为示意图):用户登录档案的录入档案的修改和查询档案的预览和打印本系统所采用的数据库结构:数据表:档案表、用户表。根据系统的需要,档案表采用字段结构为:编号标题发文部门发文号内容发文日期字段类型自动编号字符字符字符备注日期是否索引是否否否否否登录表结构为:编 号用 户 名密 码档案数据数据录入数据修改、查询数据打印精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 36 页第七章分模块设计7.1 、档案的系统维护:为提高系统的安全性,防止非法用户进入本系统,本系统设有用户登陆界面,并设立密码,合法用户可以在系统维护里面的用户修改里面自行设立
21、用户名和密码,系统默认用户名为“admin”,密码为“ 1234”。系统的用户密码更改界面如下:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 36 页Edit.frm Dim db As Connection Dim rs As Recordset Private Sub Command1_Click() On Error GoTo er If rs.State = adStateOpen Then rs.Close rs.Open 登录 , db, 1, 3 rs(用户名 ) = Text1.Text rs(密码 ) = Text
22、2.Text rs.Update rs.Close MsgBox 修改成功! , vbOKOnly + vbExclamation Unload Me Exit Sub er: MsgBox 有错误产生! , vbOKOnly + vbExclamation End Sub Private Sub Command2_Click() 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 36 页 Unload Me End Sub Private Sub Form_Load() Text1.Text = login.user Text2.Te
23、xt = login.password Set db = New Connection db.CursorLocation = adUseClient db.Open PROVIDER=Microsoft.Jet.OLEDB.3.51。Data Source=database.mdb。 Set rs = New Recordset End Sub Private Sub Form_Unload(Cancel As Integer) If rs.State = adStateOpen Then rs.Close Set rs = Nothing db.Close Set db = Nothing
24、 End Sub 7.2 、档案的版本和系统信息About.frm Option Explicit 注册表关键字安全选项. Const READ_CONTROL = &H20000 Const KEY_QUERY_V ALUE = &H1 Const KEY_SET_V ALUE = &H2 Const KEY_CREATE_SUB_KEY = &H4 Const KEY_ENUMERATE_SUB_KEYS = &H8 Const KEY_NOTIFY = &H10 Const KEY_CREATE_LINK = &H20 Const KEY_ALL_ACCESS = KEY_QUERY_V
25、ALUE + KEY_SET_VALUE + _ KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _ KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL 注册表关键字 ROOT 类型 . Const HKEY_LOCAL_MACHINE = &H80000002 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 36 页Const ERROR_SUCCESS = 0 Const REG_SZ = 1 独立的空的终结字符串Const REG_DWORD = 4
26、 32位数字Const gREGKEYSYSINFOLOC = SOFTWAREMicrosoftShared Tools Location Const gREGVALSYSINFOLOC = MSINFO Const gREGKEYSYSINFO = SOFTWAREMicrosoftShared ToolsMSINFO Const gREGVALSYSINFO = PATH Private Declare Function RegOpenKeyEx Lib advapi32 Alias RegOpenKeyExA (ByVal hKey As Long, ByVal lpSubKey As
27、 String, ByVal ulOptions As Long, ByVal samDesired As Long, ByRef phkResult As Long) As Long Private Declare Function RegQueryValueEx Lib advapi32 Alias RegQueryValueExA (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As String, ByRef lp
28、cbData As Long) As Long Private Declare Function RegCloseKey Lib advapi32 (ByVal hKey As Long) As Long Private Sub cmdSysInfo_Click() Call StartSysInfo End Sub Private Sub cmdOK_Click() Unload Me End Sub Private Sub Form_Load() Me.Caption = 关于 & App.Title lblVersion.Caption = 版本 & App.Major & . & Ap
29、p.Minor & . & App.Revision lblTitle.Caption = App.Title Me.Width = 5820 Me.Height = 4035 End Sub Public Sub StartSysInfo() On Error GoTo SysInfoErr Dim rc As Long Dim SysInfoPath As String 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 36 页 试图从注册表中获得系统信息程序的路径及名称. If GetKeyValue(HKEY_LOCAL_MAC
30、HINE, gREGKEYSYSINFO, gREGVALSYSINFO, SysInfoPath) Then 试图仅从注册表中获得系统信息程序的路径. ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC, SysInfoPath) Then 已知 32 位文件版本的有效位置 If (Dir(SysInfoPath & MSINFO32.EXE) ) Then SysInfoPath = SysInfoPath & MSINFO32.EXE 错误 - 文件不能被找到. Else GoTo Sys
31、InfoErr End If 错误 - 注册表相应条目不能被找到. Else GoTo SysInfoErr End If Call Shell(SysInfoPath, vbNormalFocus) Exit Sub SysInfoErr: MsgBox 此时系统信息不可用, vbOKOnly End Sub Public Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String, ByRef KeyVal As String) As Boolean Dim i As Long 循环计数器 Dim
32、 rc As Long 返回代码 Dim hKey As Long 打开的注册表关键字句柄 Dim hDepth As Long Dim KeyValType As Long 注册表关键字数据类型 Dim tmpVal As String 注册表关键字值的临时存储器 Dim KeyValSize As Long 注册表关键自变量的尺寸 - 打开 HKEY_LOCAL_MACHINE. 下的 RegKey - 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 36 页 rc = RegOpenKeyEx(KeyRoot, KeyName,
33、 0, KEY_ALL_ACCESS, hKey) 打开注册表关键字 If (rc ERROR_SUCCESS) Then GoTo GetKeyError 处理错误 . tmpVal = String$(1024, 0) 分配变量空间 KeyValSize = 1024 标记变量尺寸 - 检索注册表关键字的值. - rc = RegQueryValueEx(hKey, SubKeyRef, 0, _ KeyValType, tmpVal, KeyValSize) 获得 /创建关键字值 If (rc ERROR_SUCCESS) Then GoTo GetKeyError 处理错误 If (A
34、sc(Mid(tmpVal, KeyValSize, 1) = 0) Then Win95 外接程序空终结字符串. tmpVal = Left(tmpVal, KeyValSize - 1) Null 被找到 ,从字符串中分离出来 Else WinNT 没有空终结字符串. tmpVal = Left(tmpVal, KeyValSize) Null 没有被找到 , 分离字符串 End If - 决定转换的关键字的值类型. - Select Case KeyValType 搜索数据类型 . Case REG_SZ 字符串注册关键字数据类型 KeyVal = tmpVal 复制字符串的值 Case
35、 REG_DWORD 四字节的注册表关键字数据类型 For i = Len(tmpVal) To 1 Step -1 将每位进行转换 KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1) 生成值字符。 By Char。 Next KeyVal = Format$(&h + KeyVal) 转换四字节的字符为字符串 End Select GetKeyValue = True 返回成功 rc = RegCloseKey(hKey) 关闭注册表关键字 Exit Function 退出精选学习资料 - - - - - - - - - 名师归纳总结 - - - - -
36、- -第 16 页,共 36 页GetKeyError: 错误发生后将其清除. KeyVal = 设置返回值到空字符串 GetKeyValue = False 返回失败 rc = RegCloseKey(hKey) 关闭注册表关键字End Function 7.3 、档案的录入、编辑、删除、刷新本部分程序主要是把车站的档案录入计算机数据库档案表里,并提供编辑、删除等功能,能快捷、高效地把用纸张记录的档案内容用数字的形式存储在计算机里,适应现代化的办公系统的需要,以对信息进行高效、快速的查询、修改。系统的录入界面如下:frm 档案Dim WithEvents adoPrimaryRS As Re
37、cordset Dim mbChangedByCode As Boolean Dim mvBookMark As V ariant Dim mbEditFlag As Boolean Dim mbAddNewFlag As Boolean Dim mbDataChanged As Boolean Private Sub Form_Load() 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 36 页 Dim db As Connection Set db = New Connection db.CursorLocation = adU
38、seClient db.Open PROVIDER=Microsoft.Jet.OLEDB.3.51。Data Source=database.mdb。 Set adoPrimaryRS = New Recordset adoPrimaryRS.Open select 标题 ,发文部门 ,发文号 ,发文日期 ,录入人 ,内容 from 档案 , db, adOpenStatic, adLockOptimistic Dim oText As TextBox 绑定字段到窗体文本框 For Each oText In Me.txtFields Set oText.DataSource = adoPr
39、imaryRS Next mbDataChanged = False End Sub Private Sub Form_Resize() On Error Resume Next lblStatus.Width = Me.Width - 1500 cmdNext.Left = lblStatus.Width + 700 cmdLast.Left = cmdNext.Left + 340 End Sub Private Sub Form_Unload(Cancel As Integer) Screen.MousePointer = vbDefault End Sub Private Sub ad
40、oPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) 显示记录位置 lblStatus.Caption = Record: & CStr(adoPrimaryRS.AbsolutePosition) End Sub Private Sub adoPrimaryRS_WillChangeRecord(ByVal adRea
41、son As ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 36 页 This is where you put validation code This event gets called when the following actions occur Dim bCancel As Boolea
42、n Select Case adReason Case adRsnAddNew adStatus = adStatusCancel Case adRsnClose Case adRsnDelete Case adRsnFirstChange Case adRsnMove Case adRsnRequery Case adRsnResynch Case adRsnUndoAddNew Case adRsnUndoDelete Case adRsnUndoUpdate Case adRsnUpdate End Select If bCancel Then adStatus = adStatusCa
43、ncel End Sub Private Sub cmdAdd_Click() On Error GoTo AddErr With adoPrimaryRS If Not (.BOF And .EOF) Then mvBookMark = .Bookmark End If .AddNew lblStatus.Caption = Add record mbAddNewFlag = True SetButtons False End With Exit Sub AddErr: MsgBox Err.Description End Sub 精选学习资料 - - - - - - - - - 名师归纳总
44、结 - - - - - - -第 19 页,共 36 页Private Sub cmdDelete_Click() On Error GoTo DeleteErr With adoPrimaryRS .Delete .MoveNext If .EOF Then .MoveLast End With Exit Sub DeleteErr: MsgBox Err.Description End Sub Private Sub cmdRefresh_Click() This is only needed for multi user apps On Error GoTo RefreshErr ado
45、PrimaryRS.Requery Exit Sub RefreshErr: MsgBox Err.Description End Sub Private Sub cmdEdit_Click() On Error GoTo EditErr lblStatus.Caption = Edit record mbEditFlag = True SetButtons False Exit Sub EditErr: MsgBox Err.Description End Sub Private Sub cmdCancel_Click() On Error Resume Next SetButtons Tr
46、ue mbEditFlag = False mbAddNewFlag = False adoPrimaryRS.CancelUpdate 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 20 页,共 36 页 If mvBookMark 0 Then adoPrimaryRS.Bookmark = mvBookMark Else adoPrimaryRS.MoveFirst End If mbDataChanged = False End Sub Private Sub cmdUpdate_Click() On Error GoTo UpdateE
47、rr adoPrimaryRS.UpdateBatch adAffectAll If mbAddNewFlag Then adoPrimaryRS.MoveLast move to the new record End If mbEditFlag = False mbAddNewFlag = False SetButtons True mbDataChanged = False Exit Sub UpdateErr: MsgBox Err.Description End Sub Private Sub cmdClose_Click() Unload Me End Sub Private Sub
48、 cmdFirst_Click() On Error GoTo GoFirstError adoPrimaryRS.MoveFirst mbDataChanged = False Exit Sub 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 21 页,共 36 页GoFirstError: MsgBox Err.Description End Sub Private Sub cmdLast_Click() On Error GoTo GoLastError adoPrimaryRS.MoveLast mbDataChanged = False
49、Exit Sub GoLastError: MsgBox Err.Description End Sub Private Sub cmdNext_Click() On Error GoTo GoNextError If Not adoPrimaryRS.EOF Then adoPrimaryRS.MoveNext If adoPrimaryRS.EOF And adoPrimaryRS.RecordCount 0 Then Beep moved off the end so go back adoPrimaryRS.MoveLast End If show the current record
50、 mbDataChanged = False Exit Sub GoNextError: MsgBox Err.Description End Sub Private Sub cmdPrevious_Click() On Error GoTo GoPrevError If Not adoPrimaryRS.BOF Then adoPrimaryRS.MovePrevious If adoPrimaryRS.BOF And adoPrimaryRS.RecordCount 0 Then 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 22 页,共 3