图书管理系统基于VB和Access设计与实现(共39页).doc

上传人:飞****2 文档编号:16638508 上传时间:2022-05-18 格式:DOC 页数:39 大小:1.43MB
返回 下载 相关 举报
图书管理系统基于VB和Access设计与实现(共39页).doc_第1页
第1页 / 共39页
图书管理系统基于VB和Access设计与实现(共39页).doc_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《图书管理系统基于VB和Access设计与实现(共39页).doc》由会员分享,可在线阅读,更多相关《图书管理系统基于VB和Access设计与实现(共39页).doc(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上引言当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理

2、的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在

3、借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这些问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。1. 系统需求分析与可行性分析1.1现行业务描述通过调查,先画出图书馆的组织结构图如下:组织结构图下面绘制出图书馆流通业务中借书的流程图。(1)读者在目录厅查阅索引卡;(2)读者写出所借图书的分类号、种次号、交

4、给图书管理员,并出示本人的借书证;(3)图书管理员根据图书的分类号、种次号到书库找书;(4)将图书交给读者,并由读者填写所借图书的借书卡。(5)图书管理员把借书卡保存到写有该读者借书证号的口袋里。得出该图书馆业务流程图如下所示业务流程图1.2可行性分析可行性分析是在进行初步调查后所进行的对系统开发必要性和可能性的研究,所以也称为可行性研究。信息系统也应从技术可行性,经济可行性和社会可行性三方面来论证。通过长时间的观察与实践,我认为图书馆管理系统的可行性分析如下: 1.2.1经济可行性分析作为图书馆这样的商业性质较小的场所,其经济成分比重相对较少,主要是支出的费用:其中包括设备购置费、软件开发费

5、用、管理和维护费、人员工资和培训费等。由于各个图书馆实行统一操作,系统共享,其设备购置,人员工资,维护费用相对较少,前期的资金投入主要集中于购置图书上。建立信息中心,可将来自各方面的信息集中管理,提高图书管理的计划性和预见性,快速地反馈市场信息。 1.2.2技术可行性分析技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。图书馆管理系统的工作主要是在读者和图书馆之间架起一座桥梁,能相互沟通信息和处理信息。这一特点非常适合计算机特点,通过网络internet技术,发挥计算机的信息传输速度快、准确度高的优势。计算机硬件和

6、软件技术的飞速发展,为系统的建设提供了技术条件。 1.2.3社会可行性分析社会可行性有时也称为操作可行性,主要论证新系统在企业或机构开发和运行的可能性以及运行后可能一起的对企业或机构的影响,即组织内外是否具备接受和使用新系统的条件。在当前信息技术飞速发展的大环境下,计算机技术和软件技术的更新是图书馆完全有可能也有能力采用这样先进的管理技术。它对图书馆带来的影响可以看到:(a)对传统管理理念的冲击,可能引起管理层的变动和人员的调整。(b)对图书馆工作人员的要求提高,使图书馆在一定的可能下进行机构精简,迫使工作人员继续学习新知识,拓宽图书馆在市场环境下的生存空间。对图书馆与读者之间业务方式的转变和

7、扩充。1.3系统开发具体研究分析要建立新的图书管理系统,就必须对现行的管理系统进行全面、细致而充分的调查研究。具体采用直接面谈和专门访问并参加业务实践,与工作人员一起完成最基本的工作程序的方法。原来图书管理处理中心进行信息管理的主要方式是基于手工处理,最多是用计算机的文本系统打印一些清单,信息处理工作量大,容易出错,缺乏系统、规范的信息管理手段。现某图书馆需要管理其各种人员和图书信息,希望实现办公的信息化,通过建立一个图书管理系统来管理图书。其完成的功能如下:(1) 可以实现图书的登记、借阅和赔偿的管理。(2) 可以实现对图书的各种信息的查询,包括逐个浏览,以及对图书信息的增加、删除和编辑操作

8、。另外,可以根据输入的信息来检索某个图书的信息。(3) 可以实现对管理人员的投诉管理。(4) 可以实现对值班人员的管理。得出系统的功能模块图:1.4物理分析本实例根据上面的设计规划出的实体有管理员信息实体、读者信息实体 E-R 图、书籍类别信息实体、书籍信息实体、借阅信息实体、借阅信息实体。为了使E-R图表示得更加清晰,现将E-R图分成实体及其属性图和实体及其联系图。各个实体具体的描述E-R图如下。图书登记实体E-R图图书借阅实体E-R图图书赔偿实体E-R图投诉管理实体E-R图值班管理实体E-R图查询输出实体E-R图1.5系统开发环境系统开发环境包括硬件平台和软件平台两种。硬件平台是指开发与运

9、行所需要的硬件环境,主要包括计算机机型及硬件配置。由于本系统是一个小型的MIS管理系统,因此对计算机硬件的要求不高,比较经济,只要配备有P处理器(或以上)、256M内存(或以上)、20G硬盘(或以上)的普通微机即可顺利运行。软件平台是指系统开发与运行的软件环境。本系统在开发时选用了稳定性较强的Windows XP中文专业版和Visual Basic6.0作为开发语言,同时选用了Access数据库,由于这些软件产品都是Microsoft公司的产品,因此彼此之间的兼容性较好,开发出的应用系统稳定性较高。Visual Basic 6.0具有可视化的开发环境,可以快速完成系统的开发,内部集成的数据库访

10、问通道,使得可以轻松方便的对数据库管理。数据库采用Microsoft Access,由于我们的系统要求,采用它完全可以适合我们的工作需求,并且它所支持的数据类型十分丰富,维护简便,费用比较低,人员素质要求不是很高,容易升级。本系统在单机上运行。2系统概要设计2.1初步调研对该图书馆进行初步调研的具体内容为:(1)图书馆的规模:现藏书册数、种类;(2)图书馆的主要业务;(3)图书馆下高几个部门;(4)图书馆职工人数;(5)职工受教育程度;(6)主要购书单位;(7)图书编码方式;(8)现在多少读者在此借书;(9)读者借书凭证;(10)读者分类;(11)图书馆的上级领导;(12)对开发新系统的态度;

11、(13)开发新系统所需的时间(规定多长时间开发完成)。2.2详细调研2.2.1组织结构调研在对该图书馆的手工管理模式和业务流程进行认真分析和研究的基础上,经过与该图书馆的相关人员的反复协商、论证,最后确定了该图书管理系统的逻辑模型。下面以数据流图和数据字典的方式来描述新系统的逻辑功能。2.2.2数据流图借书业务3系统整体设计3.1软件模块结构设计3.1.1系统方案确定通过对系统调研与分析,系统主要应完成的功能如下:书库信息管理、读者档案管理、借阅管理、还书管理、图书检索、系统维护。3.1.2软件结构设计图书馆管理系统包含图书采编、读者管理、流通、查询等功能。该系统执行时,先输入数据,然后根据输

12、入的数据选择执行路径;购入图书进行登记、编目调用图书采编功能,借书、还书调用功能,查询调用查询功能。图书馆管理系统属于事务型系统,其系统示意图如下图所示:图书馆管理系统结构图系统功能图如下:3.2数据库设计计算机管理系统图书管理系统数据库模式定义了数据库的结构、表、关系、域和业务规则。 数据库模式是一种设计,数据库和应用正是建立在此基础上的。域是一列可能拥有的值的集合。必须为每一个表的每一列确定域。除了数据的物理必填字段外,还需要确定是否有些域对表来说是唯一的。计算机管理系统图书管理系统数据库模式的最后一个要素是业务规则,它是对需要反映在数据库和数据库应用程序中的业务活动的允许空字符串。业务规

13、则是模式的一个重要部分,因为他们指定了无论什么数据变化到达DBMS引擎,允许的数据值必须满足的允许空字符串。不管无效的数据变化请求是来自窗体的用户、查询/修改请求还是应用程序DBMS都应该拒绝。3.2.1 利用DATA控件访问数据库该软件是利用ACCESS数据库,操作方便,简单。在ACCESS数据库中不需要创建数据连接,因为它是VB中默认的数据库形式。这里的数据库采用Access,用ADO作为连接数据对象。以归纳为以下几步:1、建立Access 数据库启动Access,建立一个空的数据库book.mdb,如图所示。使用程序设计器建立系统需要的表格如下。图书登记表,图书借阅表,图书赔偿表,图书资

14、料表,投诉管理表,值班管理表,系统管理表,如图:基本表举例如:图书借阅表字段类型字段大小必填字段允许空字符串书名文本50否是图书编号文本12是否姓名文本50否是图书证号数字长整型是否借阅时间日期/时间自动否无归还时间日期/时间自动否无备注备注否其余表省略。2、连接数据在Visual Basic环境下,选择“工程”“引用”命令,在随后出现的对话框中选择“Microsoft ActiveX Data Objects 2.0 Library”,然后单击“确定”按钮,引用ADO连接数据库在程序设计的公共模块中,先定义ADO连接对象。语句如下:Public conn As New ADODB.Conne

15、ction 标记连接对象然后在子程序中,用如下的语句即可打开数据库:Dim connectionstring As Stringconnectionstring = provider=Microsoft.Jet.oledb.4.0; &_data source=book.mdbconn.Open connectionstring3、设置ODBCVB的ADO对象是通过ODBC来访问数据库,所以还要建立ODBC数据引擎接口。打开控制面板中的“管理工具”“数据源”(ODBC),出现如图所示的对话框。ODBC对话框单击“添加”按钮,出现“创建新数据源”对话框,如图所示。“创建新数据源”对话框选择Mic

16、rosoft Access Driver(*.mdb),单击“完成”按钮,出现如图19所示对话框。设置连接数据源在“数据源名”文本框中添加一个名字,单击“确定”按钮完成系统默认连接设置。然后在ODBC对话框中单击“确定”按钮完成ODBC设置。4、 MDB数据流程图以及数据表图书管理系统数据流程图ADO中的数据对象通常保存的是查询结果。Record Set是ADO中最复杂的对象,有许多属性和方法。Record Set保存的是一行行的记录,并标有一个当前记录。以下是创建方法:可以直接利用DATA控件直接绑定,在DATA控件的属性中的RECORDSOURCE对数据表进行连接。Set Record S

17、et=DB.Openrecordset(sqtStr)这条语句创建并打开了对象Record Set,其中db是先前创建的链接对象,sqtStr是一个字串,代表一条标准的SQL语句。例如: sqlStr=“SELECT * FROM table1”Set Record Set=DB.Openrecordset(sqtStr),执行后,对象Record Set中就保存了表table1中的所有记录。3.3计算机系统的配置方案3.3.1硬件环境:内容最低配置建议配置主机P/200P266以上内存256MB512MB以上硬盘20GB40GB以上显示器VGA以上3.3.2软件环境:操作系统:Windows

18、 98中文版或Windows XP中文版编程软件和数据库:Visual Basic6.0中文版+Access2000中文版3.3.3系统的安全性和可靠性设计对所有登录本系统的使用用户进行严格的用户名和密码的管理,如果不属于系统事先设定好的合法用户,则系统无法登录,为了防止密码外泄,本系统具备密码修改功能。4系统详细设计及实现4.1界面设计设计好的界面如图所示。图书管理系统界面这是一个多文档界面(MDI)应用程序,可以同时显示多个文档,每个文档显示在各自的窗体中。MDI 应用程序中常有包含子菜单的“窗体”选项,用于在窗体或文档之间进行切换。菜单应用程序中,有5个菜单选项,每个选项对应着E-R图的

19、一个子项目。4.1.1、创建主窗体首先创建一个工程,命名为图书管理系统,选择“工程”“添加MDI窗体”命令,则在项目中添加了主窗体。该窗体的一些属性如表1所示。表1 主窗体的属性属性值Caption图书管理系统2011.05.22NameMainMenuMainmenu1WindowstateMaxsizeWindowstate的值为Maxsize,即程序启动之后自动最大化。将“菜单”组件从“工具箱”拖到窗体上。创建一个 Text 属性设置为“文件”的顶级菜单项,且带有名为“关闭”的子菜单项。类似地创建一些菜单项,如表2所示。表2菜单项表菜 单 名 称Text属性功 能 描 述MenuItem

20、1图书管理顶级菜单,包含子菜单MenuItem2图书登记调出图书登记窗体MenuItem3图书借阅调出图书借阅窗体MenuItem4图书赔偿调出图书赔偿窗体MenuItem5图书资料顶级菜单,包含子菜单MenuItem6查询输出调出查询输出窗体MenuItem7值班管理顶级菜单,没有子菜单MenuItem8投诉管理顶级菜单,没有子菜单MenuItem9系统管理顶级菜单,包含子菜单MenuItem10增加用户调出用户窗体MenuItem11修改密码调出密码窗体MenuItem12退出系统退出主窗体如图所示。图21 主窗体2、创建各子窗体选择“工程”“添加窗体”命令,添加子窗体。在新建Visual

21、 Basic工程时自带的窗体中,将其属性MIDChild改成True,则这个窗体成为MID窗体的子窗体。在这个项目中,要创建的子窗体如表3所示。表3 所有子窗体子 窗 体 名Text图书登记frmdengji图书借阅frmjieyue图书赔偿frmpeichang增加新用户frmadduser查询输出frmfind登录系统frmlogin修改密码frmchangepwd下面分别给出这些子窗体,以及它们所使用的控件。(1) 图书登记子窗体如所示,其控件如表4所示。图书登记子窗体表4 图书登记子窗体控件控 件 类 别控件Name控件TextLabelLabel1编号Label2书名Label3类型

22、Label4购买日期Label5定价TextBoxText1(空)Text2(空)Text3(空)Text4(空)Text5(空)CommandButtonCommand1增加记录Command2删除记录Command3下一条Command4上一条Command5第一条Command6最后一条Command7退出ADODataAdodc1(空)DataGridDataGrid1(空)图书借阅、图书赔偿子窗体分别如图所示:图书借阅子窗体图书赔偿子窗体(2) 增加用户子窗体如图所示,其控件如表5所示。增加用户子窗体表5 增加用户子窗体控件控 件 类 别控件Name控件TextLabelLabel1

23、输入用户名Label2输入密码Label3确认密码Label4选择权限TextBoxText1(空)Text2(空)Text3(空)ComboBoxComb1(空)CommandButtonCommandl确定Command2取消(3) 修改密码子窗体如图所示。修改密码子窗体(4) 库房管理子窗体如图27所示。库房管理子窗体其控件如表6所示。表6 库房管理子窗体控件控 件 类 别控件Name控件TextTextBoxText1(空)ComboBoxCombo1MSFlexGridMSFlexGrid1(5) 查询子窗体如图所示,其控件如表7所示。查询子窗体表7 查询子窗体控件控 件 类 别控件

24、Name控件TextOptionButtonOption1按编号查询Option2按购买日期查询LabelLabel1从Label2到Label3从Label4年Label5月Label6日Label7到Label8年Label9月Label10日Combo(0) ComboBoxCombo1(空)Combo(1) ComboBoxCombo1(空)Comboy(0) ComboBoxComboy(空)Comboy(1) ComboBoxComboy(空)Combom(0) ComboBoxCombom(空)Combom(1) ComboBoxCombom(空)Combod(0) ComboB

25、oxCombod(空)Combod(1) ComboBoxCombod(空)CommandButtonCommand1查询Command2取消(6) 用户登录子窗体如图29所示。用户登录子窗体(7) 值班管理子窗体如图所示,值班管理子窗体 (8) 投诉管理子窗体如图31所示,投诉管理子窗体4.2建立公共模块建立公共模块可以提高代码的效率,同时使得修改和维护代码都很方便。创建公共模块的步骤如下:(1) 在菜单中选择“工程”“添加模块”命令,则出现模块对话框,如图所示。(2) 选择模块图标后,单击“打开”按钮,则模块已经添加到项目中了。默认情况下名为Module1。模块对话框(3) 在模块中定义整

26、个项目的公共变量。Public conn As New ADODB.Connection 标记连接对象Public userID As String 标记当前用户IDPublic userpow As String 标记用户权限Public find As Boolean 标记查询Public sqlfind As String 查询语句Public rs_data1 As New ADODB.RecordsetPublic findok As BooleanPublic frmdata As BooleanPublic Const keyenter = 13 enter键的ASCII码在主窗

27、体添加完菜单之后,就要为各个子菜单创建事件处理程序。4.3、主窗体代码在本项目中,子菜单事件都是Click事件,这里先给出主窗体部分的代码。下面是响应“增加用户”子菜单Click事件,调出增加用户窗体代码。Private Sub adduser_Click()frmadduser.ShowEnd Sub下面是响应“查询输出”子菜单Click事件,调出查询输出窗体代码。Private Sub chaxunshuchu_Click()frmfind.ShowEnd Sub下面是响应“退出”子菜单Click事件,调出退出窗体代码。Private Sub exit_Click()Unload MeEn

28、d Sub下面是响应“图书登记”子菜单Click事件,调出图书登记窗体代码。Private Sub checkin_Click()frmdengji.ShowEnd Sub下面是响应“修改密码”子菜单Click事件,调出修改密码窗体代码。Private Sub changepwd_Click()frmchangepwd.ShowEnd Sub下面是响应“图书借阅”子菜单Click事件,调出图书借阅窗体代码。Private Sub borrow_Click()frmjieyue.ShowEnd Sub下面是响应“图书赔偿”子菜单Click事件,调出图书赔偿窗体代码。Private Sub tus

29、hupeichang_Click()frmpeichang.Show 1End Sub下面是响应“值班管理”菜单Click事件,调出值班管理窗体代码。Private Sub zhibanguanli_Click()frmzhiban.Show 1End Sub下面是响应“投诉管理”子菜单Click事件,调出投诉管理窗体代码。Private Sub tousuguanli_Click()frmtousu.Show 1End Sub4.4、各子窗体的代码在各个子窗体建立好后,就可以根据各个子窗体的功能给它们添加相应代码了。4.4.1、图书登记子窗体代码本窗体用来填写图书登记的信息,用ADO来连接数

30、据库,是本窗体的重点。采用MDI的子程序,所以运行后,它出现在主程序的界面下,如图所示。图书登记子窗体按钮控件要求先填写基本信息,然后与数据库信息比较。Private Sub Command1_Click()On Error GoTo adderrText1.SetFocusAdodc1.Recordset.AddNewExit Subadderr:MsgBox Err.DescriptionEnd SubPrivate Sub Command2_Click()On Error GoTo deleteerrWith Adodc1.RecordsetIf Not .EOF And Not .BO

31、F ThenIf MsgBox(删除当前记录吗?, vbYesNo + vbQuestion) = vbYes Then.Delete.MoveNextIf .EOF Then .MoveLastEnd IfEnd IfEnd WithExit Subdeleteerr:MsgBox Err.DescriptionEnd SubPrivate Sub Command3_Click()Adodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF ThenMsgBox 这是最后一条记录, vbOKCancel + vbQuestionAdodc1.Records

32、et.MoveLastEnd IfEnd SubPrivate Sub Command4_Click()Adodc1.Recordset.MovePreviousIf Adodc1.Recordset.BOF ThenMsgBox 这是第一条记录, vbOKCancel + vbQuestionAdodc1.Recordset.MoveFirstEnd IfEnd SubPrivate Sub Command5_Click()If Adodc1.Recordset.EOF ThenMsgBox 记录空, vbOKCancel + vbQuestionEndElseAdodc1.Recordse

33、t.MoveFirstExit SubEnd SubPrivate Sub Command6_Click()If Adodc1.Recordset.RecordCount = 0 ThenMsgBox 空记录, vbOKCancel + vbQuestionEndElseAdodc1.Recordset.MoveLastEnd IfEnd SubPrivate Sub Command7_Click()MDIForm1.Showfrmdengji.HideEnd Sub图书借阅和图书赔偿子窗体运行后如图所示,因为它们的代码和图书登记子窗体的代码雷同,在此不做重复。图书借阅子窗体运行效果图书赔偿子

34、窗体运行效果4.4.2增加用户子窗体代码增加用户子窗体是用来增加用户的用户名、密码和权限的。其运行效果如图所示。单击“确定”按钮后,还要返回一个信息框,提示成功信息,如图所示。增加用户子窗体运行效果成功信息框窗体部分代码的思路是,收集输入的表中的字符串,然后与数据库中的系统的用户数据比较,如果不存在,则允许添加。Private Sub Command1_Click()Dim sql As StringDim rs_add As New ADODB.RecordsetIf Trim(Text1.Text) = ThenMsgBox 用户名不能为空, vbOKOnly + vbExclamatio

35、n, Exit SubText1.SetFocusElsesql = select * from 系统管理rs_add.Open sql, conn, adOpenKeyset, adLockPessimisticWhile (rs_add.EOF = False)If Trim(rs_add.Fields(0) = Trim(Text1.Text) ThenMsgBox 已有这个用户, vbOKOnly + vbExclamation, Text1.SetFocusText1.Text = Text2.Text = Text3.Text = Combo1.Text = Exit SubEls

36、ers_add.MoveNextEnd IfWendIf Trim(Text2.Text) Trim(Text3.Text) ThenMsgBox 两次密码不一致, vbOKOnly + vbExclamation, Text2.SetFocusText2.Text = Text3.Text = Exit SubElseIf Trim(Combo1.Text) system And Trim(Combo1.Text) guest ThenMsgBox 请选择正确的用户权限, vbOKOnly + vbExclamation, Combo1.SetFocusCombo1.Text = Exit

37、SubElsers_add.AddNewrs_add.Fields(0) = Text1.Textrs_add.Fields(1) = Text2.Textrs_add.Fields(2) = Combo1.Textrs_add.Updaters_add.Close下面是返回成功信息对话框的代码:MsgBox 添加用户成功, vbOKOnly + vbExclamation, Unload MeEnd IfEnd IfEnd Sub4.4.3修改密码子窗体代码修改密码子窗体是用来修改用户密码的。其运行效果如图38所示。 修改密码子窗体运行效果在“确定”按钮的Click事件中添加如下代码:Pri

38、vate Sub Command1_Click()Dim rs_chang As New ADODB.RecordsetDim sql As StringIf Trim(Text1.Text) Trim(Text2.Text) ThenMsgBox 密码不一致!, vbOKOnly + vbExclamation, Text1.SetFocusText1.Text = Text2.Text = Elsesql = select * from 系统管理 where 用户名= & userID & rs_chang.Open sql, conn, adOpenKeyset, adLockPessi

39、misticrs_chang.Fields(1) = Text1.Textrs_chang.Updaters_chang.CloseMsgBox 密码修改成功, vbOKOnly + vbExclamation, Unload MeEnd IfEnd Sub在上述代码中,首先比较两个表中的数据是否一致,然后用rs_chang.Fields(1) = Text1.Text语句把代码输入到数据库中。最后,用MsgBox 密码修改成功, vbOKOnly + vbExclamation,语句弹出一个信息框,告诉修改成功,如上图所示。 4.4.4库房管理子窗体代码库房管理子窗体是用来管理图书资料的。其

40、运行效果如图所示。库房管理子窗体实际上,设计库房管理子窗体的程序代码与增加用户子窗体的代码在思路上是完全相同的。就是在DataGrid的文本框中显示图书进出的清单,最后把填写的明细存储到数据库中。检查代码如下:Option ExplicitDim rs_data2 As New ADODB.RecordsetDim select_row As StringDim showgrid2 As BooleanDim rs_custom As New ADODB.RecordsetDim jinchu As String 进出库标志Dim modify As Boolean 修改状态标志Private

41、 Sub cmdexit_Click()Unload MeEnd SubPrivate Sub Form_Load()On Error GoTo loaderrorDim sql As Stringsql = select * from 图书资料rs_custom.CursorLocation = adUseClientrs_custom.Open sql, conn, adOpenKeyset, adLockPessimisticWhile Not rs_custom.EOFCombo1.AddItem rs_custom.Fields(0)rs_custom.MoveNextWendfin

42、dok = Truemodify = False 非修改状态showgrid2 = Falsedisplaygrid1 调用显示Datagrid1子程序loaderror:If Err.Number 0 ThenMsgBox Err.DescriptionEnd IfEnd Sub显示msflexgrid1子程序Public Sub displaygrid1()Dim i As IntegerOn Error GoTo displayerrorsetgridsetgridheadMSFlexGrid1.Row = 0If Not rs_data1.EOF Thenrs_data1.MoveFi

43、rstDo While Not rs_data1.EOFMSFlexGrid1.Row = MSFlexGrid1.Row + 1MSFlexGrid1.Col = 0If Not IsNull(rs_data1.Fields(0) Then MSFlexGrid1.Text = rs_data1.Fields(0) ElseMSFlexGrid1.Text = MSFlexGrid1.Col = 1If Not IsNull(rs_data1.Fields(1) Then MSFlexGrid1.Text = rs_data1.Fields(1) ElseMSFlexGrid1.Text =

44、 MSFlexGrid1.Col = 2If Not IsNull(rs_data1.Fields(2) Then MSFlexGrid1.Text = rs_data1.Fields(2) ElseMSFlexGrid1.Text = MSFlexGrid1.Col = 3If Not IsNull(rs_data1.Fields(3) Then MSFlexGrid1.Text = rs_data1.Fields(3) ElseMSFlexGrid1.Text = MSFlexGrid1.Col = 4If Not IsNull(rs_data1.Fields(4) Then MSFlexGrid1.Text = rs_data1.Fields(4) ElseMSFlexGrid1.Text = MSFlexGrid1.Col = 5If Not IsNull(rs_data1.Fields(5) Then MSFlexGrid1.Text = rs_data1.Fields(5) ElseMSFlexGrid1.Text = rs_data1.MoveNextLoopEnd Ifdisplayerror:If Err.Number 0 Th

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁