《2752.校园图书管理系统 论文.doc》由会员分享,可在线阅读,更多相关《2752.校园图书管理系统 论文.doc(30页珍藏版)》请在三一办公上搜索。
1、毕业设计(论文)题目:校园图书管理系统源代码联系本人姓 名: 专 业: 学 号:指导教师: 目录摘要一、系统分析与设计1、需求分析2、模块设计二、分析与创建数据库三、创建借阅管理窗体模块 1、窗体模块的功能 2、窗体界面的设计3、窗体的工作流程/方式4、编写窗体代码四、创建图书管理窗体模块 1、窗体模块的功能2、窗体界面的设计3、窗体的工作流程/方式4、编写窗体代码五、创建图书查询窗体模块1、窗体模块的功能2、窗体界面的设计3、窗体的工作流程/方式4、编写窗体代码六、创建借阅查询窗体模块1、窗体模块的功能2、窗体界面的设计3、窗体的工作流程/方式4、编写窗体代码七、创建基础维护窗体模块1、窗体
2、模块的功能2、窗体界面的设计3、窗体的工作流程/方式4、编写窗体代码八、配置与运行九、系统开发小结致谢参考文献摘要图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,一方面要求建立起数据一致性和完整性强、数据安全性好的库另一方面则要求应用程序功能完备,易使用等特点。经过分析,我使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系
3、统。关键字:控件 窗体 VISULBASIC ACCESS数据库 AbstractAbstract library management system is typical of the Management Information System (MIS). its development including the establishment and maintenance of the database and front-end application development in two areas. consistency and integrity of data require
4、d to establish a strong one, Secretary of good data security requirements of the other applications functions, and easy to use features.By looking up lots of datum, we selected Visual Basic presented by Microsoft because of its objective tools in Win32。 VB offered a series of ActiveX operating a dat
5、a-base。 It can give you a short-cut to build up a prototype of system application。 The prototype could be modified and developed till users are satisfied with it。Keywords: ActiveX Form VB Access DataBase 一、 系统分析与设计1、 需求分析为了更好地适应当前读者的借阅需求,缓解手工管理存在的弊端,开发图书馆查询管理系统。校园图书管理系统向用户提供的服务将在传统的“采编借查”基础上,进一步提供全方
6、位的信息服务。它具有以下几个特点:l 可以存储所有馆中图书的资料以及借阅人员的情况,具有安全、高效的特性;l 只需12名档案录入员即可操作系统,节省大量人力;l 可以迅速查到所需信息。用户的需求可分为如下4方面:第1方面是图书馆工作人员通过计算机来管理各类图书,分类编号,调整图书结构,增加图书库存,适应读者的需求;第2方面是读者能通过计算机来查询浏览图书馆中的图书,来确定自己需要的书籍,为借阅做好准备;第3方面是工作人员对读者的借书情况作好全面的掌握,及时得到每个读者的当前借阅状态和历史借阅记录;第4方面也是图书馆的核心工作,对图书的借阅管理。2、模块设计l 模块化的开发环境的简介VISUAL
7、 BASIC简介 VISUAL BASIC是微软公司出品的一个快速可视化程序开发工具软件。借助微软在操作系统和办公自动化软件的垄断地位,VB在短短的几年内风靡全球。VB是极具特色和功能强大的软件,主要表现:所见即所得的界面设计,基于对象的设计方法,极短的软件开发周期,教易维护的代码。同时众多的ACTIVE控件,提高了软件的使用效率。l VB应用程序语言的基本特点: 可视化界面设计:VB为用户提供大量的界面元素(在VB中称为控件对象),这些控件对象对于熟悉WINDOWS应用程序的用户来说是一点也不陌生,如“窗体”,“菜单”,“命令按扭”,“工具按扭”,“检查框”等等,用户只要利用鼠标、键盘把这些
8、控件对象拖动到合适的位置,设置其大小、形状、属性等,就可以设计出所需的应用程序界面。 事件驱动编程在使用VB设计应用程序是,必须首先确定应用程序如何同用户进行交互。例如发生鼠标单击、键盘输入等事件是,由用户编写代码控制这些事件的响应,这就是所谓的事件驱动编程。 与数据库的连接性 VISUAL BASIC提供了与底层数据库系统紧密的连接。 VISUAL BASIC支持不同的关系数据库管理系统并充分发挥每一个数据库的特长。开发人员和利用内置的高性能数据库引擎JET生成独立应用或脱离服务器运行的服务以上的应用,在开发该图书馆管理系统时,笔者就是使用该种数据库引擎。VISUAL BASIC存取数据库的
9、方式有两种:通过使用的ODBC接口。(ODBC(开放数据库连接)是微软公司的数据库连接标准)通过使用由VISUAL BASIC提供的专用的直接与数据库相连的接口以下进行图例说明:VISUAL BASICODBC接口SYBASE接口ORACLE接口INFORMIX接口SQL ANYWHERE数据库ORACLE数据库INFORMIX数据库SYBASE数据库值得一提的是VISUAL BASIC拥有可视化数据管理器窗口,可以直接利用他进行数据库设计。本系统主要划分为以下5个子模块:图书管理、图书查询、借阅查询、基础维护。主要的系统模块如下图如示。图书查询管理系统图书管理图书查询借阅查询借阅管理基础维护
10、系统功能模块下面分别对这5个功能模块进行介绍。2.1图书管理模块图书馆工作人员通过此模块来管理各类图书,包括图书品种的添加、修改、删除等。在进行图书的添加时,弹出新的窗口进行图书信息的录入,在保存的时候要进行书籍编号是否重复的检验,如果添加的书籍编号重复要对用户进行提示,只有在不重复的情况下才能够进行图书的添加。在进行图书的删除操作时,要首先弹出提示窗口让用户确认是否删除,只有在用户确认后才能够进行图书的删除。在进行图书的修改时,要能够根据用户选定的书进行修改,即列出所有用户选定书的信息,在这个基础上进行图书信息的修改。2.2图书查询模块读者通过引模块来查询自己所需要的图书。该模块提供了包括书
11、籍编号、书籍类别、书籍名称、出版社、书籍价格以及登记日期在内的各种查询条件,读者可以根据这些单个的查询条件或者它们的组合来进行所需要图书的查询。同时,在查询时还提供了进行模糊查询的功能,即该模块能够利用读者输入的非完整的查询条件查询,例如读者在书籍编号的查询条件中输入“06”,系统就能够查出所有书籍编号包括“06”的图书,像“1006”、“0600”等。这样更加方便了读者的查询。2.3借阅查询模块 工作人员通过此模块来进行借阅记录的查询。该模块提供了包括读者编号、读者姓名、书籍编号、书籍名称、以及借书日期在内的各种查询条件,工作人员可根据这些单个的查询条件或者它们的组合来进行查询,既可以查询出
12、某本书或者某个读者的借阅历史,也可以查出某天所有的借阅信息。同时,跟图书查询模块类似,该模块在查询时也提供了进行模糊查询的功能以方便工作人员的查询。2.4借阅管理模块通过些模块来完成读者的图书借阅、续借以及图书退还工作。该模块是图书管理系统的重点,其中主要包括借阅、续借、退还3部分,现在分别对这3个部分进行介绍。首先是借阅部分在进行图书的借阅时,除了要对读者的信息进行确认外,还要进行书籍信息的确认,在最后进行借出该书的操作时,除了在借阅信息的表中添加记录外,还要将数据库中该书的状态设置为已经借出,以避免其他的读者在对该书进行借阅。接着是续借部分,相对于借阅部分,续借部分比较简单,在进行了用户信
13、息怕确认之后,只需要更新需要续借书籍的借书日期即可完成图书的续借。最后是还书部分,首先要进行书籍信息的确认,注意在判断该书是否已经借出是时,同借书流程做相反的处理,只有借出的书才能够进行还书,同时在归还图书的操作时,除了更新借阅信息中的内容外,还要更新该图书的信息为没有借出,方便别的读者借阅。2.5基础维护模块包括最大借阅数量、罚款单价和图书类别的维护等工作。在该模块中工作人员可以设置读者所能借阅图书的最大数量以及如果读者图书延期每天需要交纳的罚款,同时还可进行图书类别的一些设置,包括图书类别代码、类别名称以及该类图书所允许的最大借阅天数。二、分析与创建数据库根据系统功能需求,数据采用Acce
14、ss2002,它完全可以适合工作需求,并且它所支持的数据类型十分丰富,维护简便,费用比较低,人员素质要求不是很高,容易长级。根据模块的设计,以及根据前面章节介绍的规范的设计要求,该系统的数据库表设计如表16所示,表1主要用来存放书籍的信息,表2用来存放读者的信息,表3用来存放进行借阅的信息,表4用来存放书籍类别的信息,表5用来存放基础设置的信息,表6用来存放系统用户遥一些信息。表1 图书信息表bookinfo字段名称数据类型字段属性字段大小作用必填字段索引是否主键书籍编号文本20书籍编号是有(列重复)是书籍名称文本50书籍名称否无类别代码文本5类别代码否无出版社文本50出版社否无作者姓名文本3
15、0作者姓名否无书籍价格数字单精度型书籍价格否无书籍页码文本10书籍页码否无登记日期日期/时间登记日期否无是否借出是/否4借出否否无表2 读者信息表readerinfo字段名称数据类型字段属性字段大小作用必填字段索引是否主键读者编号文本15读者编号是有(无重复)是读者姓名文本10读者姓名否无读者性别文本3读者性别否无办证日期日期/时间办证日期否无联系电话文本30联系电话否无工作单位文本50工作单位否无家庭地址文本50家庭地址否无表3 阅信息表lentinfo字段名称数据类型字段属性字段大小作用必填字段索引是否主键读者编号文本15读者编号是有(有重复)是书籍编号文本20书籍编号否有(有重复)是借书
16、日期日期/时间借书日期否无还书日期日期/时间还书日期否无超出天数数字整型超出天数否无罚款金额数字单精度型罚款金额否无表4 图书类别表booktype字段名称数据类型字段属性字段大小作用必填字段索引是否主键类别代码文本5类别代码是有(无重复)是书籍类别文本20书籍类别是有(无重复)借出天数数字整型借出天数否无表5 基本信息表basicset字段名称数据类型字段属性字段大小作用必填字段索引是否主键借出册数数字整型类别代码是有(无重复)罚款数字整型书籍类别是有(无重复)表6 系统用户表operator字段名称数据类型字段属性字段大小作用必填字段索引是否主键ID自动编号长整型读者编号是有(无重复)是名
17、称文本20名称否无密码文本20密码否无书库管理是/否书库管理否无读者管理是/否读者管理否无图书类别是/否图书类别否无基本设置是/否基本设置否无根据第1章介绍的规范化的设计理论,这时将校园图书管理系统的数据分成上面6个表,减少了数据的冗余,同是在这些表之间又存着一些关联关系。例如在借阅信息表中,由书籍编号和读者编号两个字段分别与图书信息表和读者信息表建立了关联关系,这样在查询借阅信息的时候,就能够显示出读者以及图书的信息,同时在查看图书信息的时候,又可以通过类别代码同书籍类别表进行关联,以显示出书籍的类别信息,各表间的关系如图2所示。三、创建借阅管理窗体模块1、 窗体模块的功能借阅管理窗体模块主
18、要完成借阅管理的功能,包括借书、续借和还书。工作人员可以根据使用的需要,依靠单击Tab标签页中的标签分别进入不同的操作。在“正常借书”的标签页下,工作人员输入读者编号以及书籍编号,系统便会对这两项信息进行确认,如果确认成功,工作人员只要单击“借出当前图书”按钮,便完成了借书的操作,操作十分简单,该部分的流程图如图3所示。同样在“续借图书”的标签页下,工作人员输入读者编号,系统便会列出该读者所借的所有图书,工作人员选择其中要续借的图本后,在“借书日期改为”的日期选择框中选择要修改的借书日期,最后单击“确定”按钮,就完成了图书的续借,该部分的流程图如图4所示。在“还书的标签页下”。工作人员只需要输
19、入书籍编号,系统会自动对该信息进行确认,确认成功后,单击“归还图书”按钮,完成了还书的操作,该部分流程图如图5所示。输入读者编号读者是否存在列出读者所借书籍选择续借书籍更新借书日期进行续借数据库输入读者编号读者是否存在输入图书编号是否已被借出借出读书读者是否借满数据库编号是否存在输入图书编号编号是否存在是否已被借出列出借阅信息归还该书数据库图3 借阅图书流程图 图4 续借图书流程图 图5 还书流程图2、 窗体界面的设计该窗体的界面就是程序的主界面,设计界面如图6所示,图7和图8分别列出了“续借图书”和“还书”标签页下的设计界面。 图6 程序设计的主界面图7 “续借图书”标签页设计界面图8 “还
20、书”标签页设计界面 3、 窗体的工作流程/方式在该窗体加载时要对两个DTPicker控件进行初始化,将它们的值设为当前日期,同时为了简化程序的编码,要进行数据库的连接,一直到该窗体关闭时才断开数据库的连接,这样在程序的其他地方就不需要再进行数据库的连接,直接使用该连接即可。 对一窗体中菜单项和工具栏按钮的单击,主要是弹出对应的窗体进行相应的操作。 在进行“正常借书”时,输入读者编码,然后按下键盘的回车键,系统便会通过查询数据库来对输入的读者编号进行有效性的确认,通过确认的用户,便会在下面的DataGrid控件中进行已借阅图书信息的显示。接着输入书籍编码,然后按下的回车键,系统便同样对输入的书籍
21、编号进行有效性的确认,具体的流程如图3所示。最后单击“借出该书”按钮,系统便会新数据库中的相应信息。 在进行“续借图书”时,输入读者编码,然后按下键盘的回车键,系统便会通过查询数据库来对输入的读者编号进行有效的确认,通过确认的用户,便会在下面的DdataGrid控件中进行已借阅图书信息的显示。接着选择其中要续借的图书,对“借书日期改为”DTPicker控件的值进行设置。具体的流程图如图4所示。最后单击“确定”按钮,系统便会新数据库中的相应信息。在进行“还书”时,输入书籍编码,然后按下键盘的回车键,系统便会通过查询数据库来对输入的书籍编号进行有效性的确认,通过确认的书籍,便会在下面的多个文本框中
22、显示该书的信息。具体的流程如图5所示。最后单击“归还图书”按钮,系统便会更新数据库中的相应信息。4、 编写窗体代码按上节介绍的工作流程,主要过程的具体代码如下。(1)响应“正常借书”中输入读者编号后按下回车的事件,进行读者编号的有效性确认以及读者已借图书信息的显示。代码如下:Private Sub txtBookID_KeyPress(KeyAscii As Integer)判断用户按下回车键并且是否输入读者编号和书籍编号If KeyAscii = 13 And txtReaderID.Text And txtBookID.Text Then g_strSql = select bookInf
23、o.书籍名称,bookInfo.书籍价格,bookInfo.出版社,bookInfo.书籍页码, _ & bookInfo.是否借出,bookType.书籍类别 from bookInfo,bookType where 书籍编号= & txtBookID.Text & _ & and bookInfo.类别代码=bookType.类别代码 Set g_rs = g_db.OpenRecordset(g_strSql) If Not g_rs.EOF Then txtBookName.Text = g_rs!书籍名称 txtBookPrice.Text = g_rs!书籍价格 txtBookLe
24、ibie.Text = g_rs!书籍类别 txtBookConcern.Text = g_rs!出版社 txtBookPage.Text = g_rs!书籍页码 If g_rs!是否借出 = True Then MsgBox 该书已经借出,请选择其它图书!, vbOKOnly, 提示 cmdLendBook.Enabled = False Else cmdLendBook.Enabled = True End If Else MsgBox 没有该书信息!, vbOKOnly, 提示 txtBookName.Text = txtBookPrice.Text = txtBookLeibie.Te
25、xt = txtBookConcern.Text = txtBookPage.Text = End If Set g_rs = NothingElseIf KeyAscii = 13 And txtReaderID.Text = Then MsgBox 请先输入读者编号, vbOKOnly, 提示ElseIf KeyAscii = 13 And txtReaderID.Text And txtBookID.Text = Then MsgBox 请先输入书籍编号, vbOKOnly, 提示End IfEnd Sub(2)InitDataGrid函数,主要为了进行DataGrid控件的显示,由于在
26、“正常借书”和“续借”中都具有DataGrid控件的显示问题,因此用函数中的参数来区分是正常借书页面还是续借页面,以分别进行处理。由于所要显示的字段包括4个表的内容,因此SQL语句的书写比较重要。代码如下:Public Function InitDataGrid(blnRenew As Boolean) 初始化DataGrid控件信息,其中得参数用来区分是正常借书页面还是续借页面Dim strDataSource As StringDim intCount As IntegerDim strReaderID As StringIf blnRenew = False Then strReader
27、ID = txtReaderID.TextElse strReaderID = txtReaderIDRenew.TextEnd IfstrDataSource = select lentInfo.读者编号,readerInfo.读者姓名,lentInfo.书籍编号, _ & bookInfo.书籍名称,bookType.书籍类别,bookInfo.出版社,bookInfo.书籍页码,lentInfo.借书日期, _ & lentInfo.还书日期,lentInfo.超出天数,lentInfo.罚款金额 from readerInfo,bookInfo,lentInfo,bookType _
28、& where readerInfo.读者编号=lentInfo.读者编号 and bookInfo.书籍编号=lentInfo.书籍编号 and _ & lentInfo.读者编号= & strReaderID & and bookType.类别代码=bookInfo.类别代码 and lentInfo.还书日期 is nullAdodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & 校园图书管理系统.mdb;Persist Security Info=FalseAdodc1.Cu
29、rsorLocation = adUseClientAdodc1.CommandType = adCmdTextAdodc1.RecordSource = strDataSourceAdodc1.RefreshIf blnRenew = False Then 如果是正常借书进行如下操作 Set dtgrdLendBook.DataSource = Adodc1 dtgrdLendBook.Refresh 显示一共借了多少书 lblLendCount.Caption = 所借图书: + CStr(Adodc1.Recordset.RecordCount) 显示还能够借多少书 g_strSql =
30、 select * from basicSet Set g_rs = g_db.OpenRecordset(g_strSql) intCount = g_rs!借出册数 - Adodc1.Recordset.RecordCount lblRemain.Caption = CStr(intCount)Else Set dtgrdLendBookRenew.DataSource = Adodc1 dtgrdLendBookRenew.RefreshEnd IfEnd Function四、创建图书管理窗体模块1、 窗体模块的功能图书管理窗体模块主要完成图书管理的功能,包括添加、删除和修改。工作 人员
31、可以根据使用的需要,依靠单击窗体中相应的按钮分别进入不同的操作。 在添加新书时,弹出添加新书窗体,在该窗体中工作人员进行新书信息的录入,然后单击“保存”按钮,系统会对新书的图书编号进行有效性的检查,免插入重复数据,检查合格便会将该图书信息插入到数据库中。 在删除图书中,工作人员在列表中选择将要删除的图书,然后单击“删除”按钮,系统会弹出确认对话框,提示是否确认删除,在得到确认后,便会删除该图书信息。 在修改图书信息时,工作人员在列表中选择将要修改的图书,然后单击“修改”按钮,系统会弹出修改窗体,在窗体打开的同时,该图书的信息在各个文本框中显示出来,以方便修改完后单击修改窗体上的“保存”按钮,便
32、会保存该图书的信息。2、 窗体界面的设计根据功能,该窗体的设计界面如图9所示,图10和图11分别列出了在进行添加图书和修改图书时的设计界面。图9 书库管理窗体设计界面图10 添加新书窗体设计界面 图11 修改图书窗体设计界面3、 窗体的工作流程/方式在该窗体加载时Ado Data 控件要进行数据库的连接,同时在DataGrid控件中显示出来。单击“添加新书”按钮,弹出添加图书窗体。在弹出该窗体的同时,初始化combo控件的下拉选项。在输入完新书信息后,单击“保存”进行图书编号是否重复的判断,对于不重复的图书进行入库保存。 在单击“删除”按钮时,首先,询问工作人员是否确定要删除该图书信息,在得到
33、确认后取得用户选定的图书信息,根据图书编号进行删除。 在单击“修改”按钮时,首先取出选定的要修改的图书信息,然后弹出修改图书窗体,在窗体弹出的同时,将取出的图书信息显示在修改图书的窗体上,以方便工作人员进行修改。修改后,单击“保存”按钮,进行图书的更新。4、 编写窗体代码桉照上节介绍的工作流程,主要过程的具体代码如下:(1)响应按钮“删除”的单击事件,进行选中图书的删除。代码如下:Private Sub cmdDel_Click()Dim strBookID As StringDim intResponse As IntegerDataGrid1.Col = 0strBookID = Data
34、Grid1.TextintResponse = MsgBox(是否真的要删除编号为 + strBookID + 的书籍信息?, vbOKCancel, 提示)If intResponse = vbOK Then g_strSql = select * from bookInfo where 书籍编号= & strBookID & Set g_rs = g_db.OpenRecordset(g_strSql) g_rs.Delete Set g_rs = Nothing Adodc1.Refresh Call Form_Load MsgBox 删除完毕!, vbOKOnly, 提示End If(
35、2)响应添加新书窗体的加载事件,进行组合框控件的初始化。代码如下: Private Sub Form_Load()dtpRigDate.Value = Date Set g_rs = g_db.OpenRecordset(bookType, dbOpenTable) cboType.Clear If g_rs.RecordCount 0 Then g_rs.MoveFirst Do While Not g_rs.EOF cboType.AddItem g_rs!类别代码 + - + g_rs!书籍类别 g_rs.MoveNext Loop End If Set g_rs = NothingEn
36、d Sub(3)响应修改图书窗体的加载事件,根据指定的图书进行控件的初始化。代码如下:Private Sub Form_Load()dtpRigDate.Value = DateSet g_rs = g_db.OpenRecordset(bookType, dbOpenTable) cboType.Clear If g_rs.RecordCount 0 Then g_rs.MoveFirst Do While Not g_rs.EOF cboType.AddItem g_rs!类别代码 + - + g_rs!书籍类别 g_rs.MoveNext Loop End If Set g_rs = N
37、othingFrmBookManage.DataGrid1.Col = 0txtBookID.Text = FrmBookManage.DataGrid1.TextFrmBookManage.DataGrid1.Col = 1txtBookName.Text = FrmBookManage.DataGrid1.TextFrmBookManage.DataGrid1.Col = 2cboType.Text = FrmBookManage.DataGrid1.TextFrmBookManage.DataGrid1.Col = 3txtBookConcern.Text = FrmBookManage
38、.DataGrid1.TextFrmBookManage.DataGrid1.Col = 4txtWriter.Text = FrmBookManage.DataGrid1.TextFrmBookManage.DataGrid1.Col = 5txtPrice.Text = FrmBookManage.DataGrid1.TextFrmBookManage.DataGrid1.Col = 6txtPage.Text = FrmBookManage.DataGrid1.TextFrmBookManage.DataGrid1.Col = 7dtpRigDate.Value = FrmBookMan
39、age.DataGrid1.TextSet g_rs = g_db.OpenRecordset(bookType, dbOpenTable) If g_rs.RecordCount 0 Then g_rs.MoveFirst Do While Not g_rs.EOF If cboType.Text = g_rs!书籍类别 Then cboType.Text = g_rs!类别代码 + - + g_rs!书籍类别 End If g_rs.MoveNext Loop End IfSet g_rs = NothingEnd Sub五、创建图书查询窗体的模块1、 窗体模块的功能图书查询模块主要完成图
40、书信息的查询功能,根据不同的查询条件以及查询方式进行图书的查询。方便读者找到所需的图书。在窗体输入各个查询条件,单击“开始查找”按钮,系统便会根据输入的查询条件查找满足的数据,如果选中了“执行模糊查询”对话框,系统便会根据输入的查询条件进行模糊查询。2、窗体界面设计 根据功能,该窗体的设计界面如图12所示。图12 图书查询窗体设计界面3、窗体的工作流程/方式 在该窗体加载时要对查询条件中的“书籍类别”复选框进行初始化,根据数据库中的数据插入所有可选类别。 接着进行查询条件的录入,在录入时如果选中“登记日期”复选框,查询条件就增加了登记日期这一项。录入完毕,在单击“开始查找”按钮时,根据录入的查
41、询条件,动态地生成查询语句,然后Ado Data控件进行数据库的连接,按照生成的查询语句进行数据库的查询操作,在DataGrid控件中显示查询结果。 在单击“清空”按钮时,对所有的查询条件进行清空。在单击“关闭”按钮时,关闭该窗体。4、编写窗体代码 按照上节介绍的工作流程,主要过程的具体代码如下:(1)响应“开始查找”按钮的单击事件,按照查询条件生成查询语句来进行图书查询。代码如下:Private Sub cmdFind_Click()Dim strSQL As StringDim strCon(6) As StringDim intCount As IntegerDim i As IntegerintCount = 0获得所有得查询条件If txtBookID.Text Then If chkMoHu.Value = 1 Then strCon(1) = 书籍编号 like % & txtBookID.Text & % Else strCon(1) =