图书馆管理系统设计论文

上传人:无*** 文档编号:100003534 上传时间:2022-06-01 格式:DOC 页数:33 大小:836KB
返回 下载 相关 举报
图书馆管理系统设计论文_第1页
第1页 / 共33页
图书馆管理系统设计论文_第2页
第2页 / 共33页
图书馆管理系统设计论文_第3页
第3页 / 共33页
点击查看更多>>
资源描述
毕业论文题 目: 图书馆管理系统 院 系:专 业:班 级:学生:指导教师:论文提交日期: 年 月 日论文答辩日期:年月日摘 要图书管理系统的设计从操作简便、界面友好使用的要求来完成图书馆的图书管理,采用传统的下拉式菜单进行功能选择,操作简单,且可靠性高、通用性好从而提高了管理人员的工作效率,适应现代社会的快节奏步伐,使图书管理员不必再陷于繁琐的手工记录卡片的工作中,从而可以把更多的精力放在图书馆的其他服务上。本文阐述了图书管理系统的主要设计思想和其实现的关键技术,在Windows环境下,主要采用了可视化设计环境Visual Basic和Microsoft Office Access2003作为开发工具。在了解图书馆的现状和要求的基础上,按照软件系统开发的过程,经过系统需求分析、系统设计、数据库设计、窗体设计、模块设计、编程实现等步骤来开发设计。系统采用模块化设计,实现了包括信息设置、库存管理、借阅管理、报表打印以与系统维护模块。关键词:图书馆;图书管理系统;Visual Basic;Access2003数据库30 / 33目 录摘要 第一章引言11.1课题研究的背景与意义11.2 图书管理的要素2第二章开发工具32.1 数据库系统简介32.2 Access数据库介绍42.3 Microsoft Visual Basic 6.05第三章系统分析83.1 需求分析83.1.1 系统的特点83.1.2 系统的功能83.2 系统设计83.2.1 系统功能结构83.2.2 业务流程图9第四章数据库设计104.1 数据库概要设计104.2 数据库概念设计104.3 数据库逻辑设计11第五章系统实现155.1 公共模块设计155.2 主窗体设计155.3 读者信息管理模块设计165.4 读书借书管理模块设计175.5 图书丢书管理模块概述185.6 图书验收报表模块设计19参考文献22致24附录(程序中的主要代码)25第一章 引言随着社会信息量的与日俱增和信息技术的飞速发展,计算机科学日渐成熟,其强大的功能已为人们所熟知,它的应用方面已经渗透到社会工作和生活的各个领域,并发挥着越来越重要的作用。应用计算机代替人工作,不仅有助于节约劳动力,提高劳动生产率,还有利于提高信息收集的正确性、与时性,有利于决策者在瞬息万变中迅速做出准确的判断。图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以与前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备易使用等特点。因此本人结合开入式图书馆的要求,对MS SQL Server2000数据库管理系统、SQL语言原理、VB应用程序设计,Delphi数据库技术进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。1.1课题研究的背景与意义图书管理是图书馆开发的核心环节之一,也是一个实质性的环节,它已成为企业实现长期发展战略的有效管理方式,在企业的管理中扮演着越来越重要的角色,起到不可替代的核心作用,怎样做好图书管理一直是一个困扰企业经营者的主要问题。对于信息类企业,尤其是大型的企业集团来说,图书管理系统显得更为重要,图书管理系统的建立将直接受到企业集团管理方式的影响,并间接影响公司企业的管理效率与经济效益。如何在现有环境下编辑制作最优的图书管理系统,实现公司企业管理实时性,适应企业信息化发展的需要,是一个值得研究和探讨的问题。管理信息系统就是MIS(Management Information System),在强调管理,强调信息的现代社会中它变的越来越普与。而将信息管理系统与企业自动化设备想结合,则是当今社会现代企业的发展趋势。通过这样的管理方式,企业的管理人员、技术人员、统计人员等各部门员工就能从大量烦琐的资料和数据中解脱出来,只需对自己需要的数据和容进行必须的处理,而不用对每个环节都了如指掌。这在一定程度上能够节省人力物力,同时也大大加强了对数据处理的与时性和准确性。本次的开发容图书管理系统就是信息管理与现代化办公设备相结合的例子。因此,该管理系统的目的就是利用计算机对复杂烦琐的数据进行存储和处理,并利用计算机与现代化办公设备的连接实时刷新数据,从而提高企业的工作效率。1.2 图书管理的要素一个图书管理项目是由不同的图书管理主体(比如:信息设置、库存管理、借阅管理、报表打印以与系统维护等)共同管理完成的。大体上图书管理主要有三个要素:用户、书库、读者。用户管理,即新增用户、删除用户、更换登录者与修改密码,为了防盗读者的信息,我们在这里添加了修改密码这项功能,使系统更好的为我们服务。书库,即所有图书的集合,在本模块中可以完成图书入库验收和图书检索等功能。读者,即所有使用图书的人员,将他们的信息依次收集管理,包括读者新增和读者编辑等,以方便公司管理,为公司节约了更多的时间,去做更有意义的工作。第二章 开发工具2.1 数据库系统简介在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系与方法都应当有相当清晰的了解和认识。数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,30多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。并且,近年来,随着World Wide Web(WWW)的猛增与Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。数据库(即data base,简称DB)是按照数据结构来组织、存储和管理数据的仓库,是用于查询的大量数据的存储区域。使用数据库可以带来许多好处:如减少了数据的冗余度,从而大节省了数据的存储空间,实现数据资源的充分共享等等。数据库技术从60年代中期至今只有不到40年的历史,但其发展速度之快是其它技术所不与的。它已由第一代的层次型、网状型数据库,第二代的关系型数据库发展到今天以面向对象为主要模型的第三代数据库。数据库技术和网络通信技术、面向对象编程技术、并行计算机技术、人工智能技术相互融合、相互渗透,促进了数据库技术的发展,使数据库的应用更加广泛。此外,数据库技术还为用户提供了非常简便的使用手段,使用户易于编写有关数据库的应用程序。特别是近年来推出的计算机关系数据库管理系统,操作直观,使用灵活,编程方便,功能强大,环境适应好,数据处理能力极强。2.2 Access数据库介绍Microsoft Access是一种关系型数据库,是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS)。它提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。Access使用标准的SQL(Structured Query Language,结构化查询语言)作为它的数据库语言,从而提供了强大的数据处理能力和通用性,使其成为一个功能强大而且易于使用的桌面关系型数据库管理系统。关系型数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。Access数据库以文件形式保存,文件的扩展名是MDB。Access 2003 是一款关系数据库开发工具,关系数据库是已开发的最通用的数据库之一,它能汇集各种信息以供查询、存储和检索,其优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。Access 2003是现在比较流行的大中型关系型数据库,是一种高效的数据库系统,它与Windows NT/2000/2003与Windows XP等操作系统紧密集成。这种安排使Access 2003能充分利用操作系统所提供的特性。对于我们的工程管理系统来说,Access 2003是一个很好的选择,我们主要使用Access2003的设计器创建表,并利用关系进行表连接。下面是本论文涉与到的一些关系术语做以简单介绍:数据表:数据表是一种按行与列排列的相关信息的逻辑组,类似于工作单。例如,一材料入库单的一系列信息,诸如材料编号,材料名称,入库时间等等。字段:数据表中的每一列称作一个字段。表是由其包含的各种字段定义的,每个字段描述了它所含有的数据。创建一个数据库时,为每个字段分配一个数据类型、最大长度和其它属性。字段可包含各种字符、数字甚至图形。记录:数据表中的每一行被称为一个记录6。2.3 Microsoft Visual Basic 6.0Visual Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK(软件开发工具包)相媲美。Visual Basic提供了一个快速应用程序开发(RAD)环境,以与一组便于使用的调试工具。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows部的应用程序接口(API)函数,以与动态库(DLL)、对象的与嵌入(OLE),开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。Visual Basic 6.0是Microsoft在以往各个Visual Basic版本的基础上开发而成的VB新版本的编程语言,它在原版本的基础上扩充了一系列的新特性,从而进一步增强了这种可视编程语言的性能,方便了程序设计的操作,提高了编程工作的效率。Visual Basic 6.0在数据库应用程序的开发领域中,提供包括数据管理器(DATA Manager)、数据控件(DATA Control)以与数据访问对象(DAO)等功能强大的工具,协助设计人员轻松的连接多种数据库文件格式,并访问其中的数据,功能非常强大。本工程管理系统就是利用VB制作系统界面,使系统界面直观且操作简便。总的来说,Visual Basic具有以下特点:可视化编程用传统程序设计语言设计程序时,是通过编写程序代码来设计用户界面,设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。Visual Basic提供了可视化设计工具,把界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码,即可自动产生界面设计代码,从而可以大大提高程序设计的效率。面向对象的程序设计在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而Visual Basic则是应用面向对象的程序设计方法,把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Basic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。本系统中的各种界面,都不同程度用到工具栏中的各种控件,如commandButton命令按钮,txtbox文本框,Adodc等,操作直观且简便。结构化程序设计语言Visual Basic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual Basic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。在设计Visual Basic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离Visual Basic环境,直接在Windows环境下运行。事件驱动编程机制在用Visual Basic设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。支持多种数据库系统的访问,支持动态数据交换(DDE)、动态库(DLL)和对象的与嵌入(OLE)。动态数据交换是Microsoft Windows除了剪贴板和动态函数库以外,在Windows部交换数据的第三种方式。利用这项技术可在Visual Basic开发的应用程序与其他Windows应用程序之间建立数据通信。动态库中存放了所有Windows应用程序可以共享的代码和资源,这些代码或函数可以用多种语言写成。Visual Basic利用这项技术可以调用几乎任何语言产生的DLL,也可以调用Windows应用程序接口(API)函数,以实现SDK所能实现的功能。第三章 系统分析3.1 需求分析3.1.1 系统的特点从读者与图书管理员的角度出发,本着以读者借书、还书快捷和方便的原则,要求本系统应具有以下特点:(1)确保系统具有良好的性能和有好的用户界面。(2)较高的处理效率,便于使用和维护。(3)采用成熟技术开发,使系统具有较高的技术水平和较长的生命周期。(4)系统尽可能简化图书管理员的重复工作,提高工作效率。(5)简化数据查询、统计难度。3.1.2 系统的功能(1)图书类别设置,读者信息设置。(2)订购新书,新书验收入库,入库图书检索。(3)借书管理,还书管理,续借管理,丢失管理,超时提醒。(4)书目分类统计,图书验收报表。(5)用户的注册、删除、更改密码。3.2 系统设计3.2.1 系统功能结构根据需求分析,设计出图书管理系统的功能结构,如图3.1所示。图3.1 图书管理系统的功能结构3.2.2 业务流程图图书管理系统的业务流程图如图3.2所示。图3.2 图书管理系统的业务流程图第四章 数据库设计4.1 数据库概要设计 在图书管理系统中,采用的是Access 2003数据库。数据库用来存储图书的基本信息、读者信息、读者借书信息、读者还书信息等。这里将数据库命名为db_library,其中包含了13数据表,用于存储不同的信息,如图4.1所示。图4.1 数据库结构4.2 数据库概念设计根据以上对系统所做的需求分析、系统设计,规划出本系统中使用的数据实体。下面将介绍几个关键实体的E-R图。图书管理中一个很重要的问题是图书信息的管理,因此需要规划图书信息实体。该实体中包括书籍名称、类别代码、作者、条形码、ISBN等属性。图书信息实体的E-R图如图4.3所示。为了记录借阅图书的读者信息,特规定出读者信息实体,该实体包括读者编号、读者、性别、出生日期、手机、登记日期等属性。读者信息实体的E-R图如图4.4所示。图4.3图书信息实体的E-R图 图4.4 读者信息实体的E-R图读者借书实体包括读者编号、读者、条码号、书籍名称、借书日期、还书日期等属性。读者借书实体的E-R图如图4.5所示。读者还书实体包括条码号、读者编号、书籍名称、借书日期、还书日期、实际天数等属性。读者还书实体的E-R图如图4.6所示。图4.5读者借书实体的E-R图 4.6读者还书实体的E-R图4.3 数据库逻辑设计根据设计好的E-R图在数据库中创建数据表,系统数据库中各表的结构如下。(1)books(图书信息表)图书信息表用于存储图书馆中的图书信息,其结构如表4.1所示。表3.1 books表的结构字段名称数据类型字段大小书籍名称文本50类别代码文本20作者文本20文本30订购价格货币复本数数字(小数)附件文本10条码号文本30规定天数数字(小数)ISBM文本30借书数量数字(长整型)(2)dzxxtb(读者信息表)读者信息表用于存储图书馆中的所有读者的相关信息,起结构如表4.2所示。表4.2 dzxxtb表的结构字段名称数据类型字段大小读者编号文本50读者文本50性别文本10出生日期日期/时间单位文本50家庭住址文本50家庭文本50手机文本50文本50Email文本50证件类型文本50证件文本50登记日期日期/时间读者级别文本20备注文本50(3)dzjstb(读者借书表)读者信息表中保存了读者所借图书的相关信息,其结构如表4.3所示。表4.3 dzjstb表的结构字段名称数据类型字段大小读者编号文本50读者文本10条码号文本30书籍名称文本50书籍价格货币规定天数文本30作者文本20借书数量数字(小数)类别代码文本5借书日期日期/时间应还日期日期/时间 借文本4(4)hsstb(读者还书表)读者还书表存储了读者的还书信息,其结构如表4.4所示。表4.4 hsstb表的结构字段名称数据类型字段大小条码号文本30读者编号文本50书籍名称文本50书籍价格货币文本30作者文本20规定天数数字(小数)借出日期日期/时间还书日期日期/时间实际天数数字(小数)实还日期日期/时间超出天数数字(小数)第五章 系统实现5.1 公共模块设计通过使用模块可以减少程序的代码量。在本系统中,建数据库连接的通用代码就公共的全局变量等都集中存放在数据模块中,总而节省代码量,提高编程效率。模块中定义的公共变量如下:Public temp, str, BS As String定义字符串变量Public adoCon As New ADODB.Connection定义数据连接变量Public adoRs As New ADODB.Recordset定义数据集对象为了优化ADO数据库的连接,可以在公共模块中简历数据库连接共享函数以与共享数据库连接字符串。这样,在以后的编程中,如果使用对象操作数据库,就可以直接调用数据库练级cnn函数。如果使用ADO控件访问数据库,可以直接将数据库共享连接字符串变量的值赋给Ado控件的ConnectionString属性,从而避免使用ADO控件频繁地简历数据库连接,以致失去其优越性。模块中连接数据库的程序代码如下:Functionn() As ADODB.Connection Setn = New ADODB.Connection n.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & db_library.mdb;Persist Security Info=FalseEnd Function5.2 主窗体设计主窗体用于调用程序的所有功能。用户输入正确的用户名和密码就可以进入到图书管理系统的主窗体中,该主窗体主要由菜单栏、带图片的工具栏、左侧的树状导航菜单、右侧的功能列表以与底部的状态栏组成。用户单击左侧的树状导航菜单中的节点,可以在右侧的窗格中显示出该主菜单下的子菜单。例如,选择“借阅管理”选项,将在右侧窗格中显示该菜单下的所有子菜单,如图5.1所示。图5.1 主窗体运行效果5.3 读者信息管理模块设计读者信息管理模块的主要功能是对图书馆的读者信息进行管理,可以对该信息进行增、删、改、查等操作。在主菜单中选择“信息设置”/“读者信息设置”命令,即可进入到读者信息管理窗体中。在该窗体中选择“添加读者”选项卡,单击”增加”按钮,开始添加读者信息。信息添加完成后,单机“保存”按钮,即可将输入的读者信息保存到数据库中,如图5.2所示。图5.2 读者信息管理窗体5.4 读书借书管理模块设计读者借书管理系统模块的主要功能是将读者的借书信息保存到数据库中,并可以对读者的借书信息进行删除操作。用户在主窗体中选择“借阅管理”/“读者借书管理”命令,即可进入到读者借书管理模块中。在该窗体中,用户输入“读者编号”,按“Enter”键,即可显示读者的,;在“条码号”文本框中输入读者要借书的条码,按“Enter”h键,即可显示所借图书的信息;输入借书数量,单击“借出当前图书”按钮,即可将该图书借出,如图5.3所示。图5.3 读者借书管理模块5.5 图书丢书管理模块概述图书丢失管理模块的主要功能是记录图书的丢失信息。用户在主窗体中选择“借阅管理”/“图书丢失管理”命令,即可进入到图书丢失管理模块中。在该模块中用户输入读者的编号和丢失图书的条码号,按Enter键即可显示该读者借阅该书的信息,单击“丢失”按钮显示“丢失”单击“确定”按钮,将丢失信息写入数据库。在该模块中还可以对丢失图书的信息进行查询,输入查询条件,例如查询读者编号是100003的图书丢失信息,单击“查询”按钮,即可将编号是100003的读者的图书丢失信息显示在表格中,如图5.4所示。图5.4 图书丢失管理模块5.6 图书验收报表模块设计图书验收报表模块主要用于查询指定订购时间段的图书验收信息,并统计订购金额和订购数量信息。用户在主窗体中选择“报表打印”/“图书验收报表”命令,即可进入到图书验收报表模块中。输入订购的时间段,如“2007-12-12至2012-01-11”,单击“查询”按钮,即可显示出该订购时间段的图书验收信息,如图5.5.1所示。图 5.5.1 图书验收报表窗体单击“打印”按钮,即可将查询出来的图书验收信息打印出来,如图5.5.2图5.5.2图书验收报表打印预览此图书管理系统是经过认真学习、听取老师意见,充分考虑图书管理的各种需求后开发的,它是具有重要实际意义的一套系统,并且该系统具有很广阔的应用前景。但由于本人第一次开发系统软件,掌握的知识和经验不是很多,使得有许多系统功能没能实现,希望日后还有机会开发类似的系统软件。本文详细介绍了图书管理系统中对用户、读者管理、图书库管理、借阅管理等的管理。这套系统可以基本实现图书管理的无纸化办公,提高了工作的效率和精确性,给图书管理提供了高效、便捷的应用平台。 在系统开发过程中,在老师的指导下,从头做起,不断学习,积累了宝贵的开发经验,学到了很多书本上没有的知识。通过这次毕业设计,使我受益匪浅,在校学习的各门功课的知识得到了综合应用,加深了对所学知识的理解,同时也培养了刻苦钻研、不怕困难的精神,这些将成为我在以后学习工作中的一笔最宝贵的财富。通过这次毕业设计,使我对目前流行的软件开发方法和手段,有了更进一步的认识,丰富了软件开发的经验,提高了编程的水平, 毕业设计已进入尾声,在毕业设计的这几个月中,我增加了不少的工作经验,增强了对软件设计的信心,同时,我也感觉到自己在计算机专业知识方面还有很多欠缺。今后,我一定会在工作和学习中不断的完善和充实自己,为社会尽自己的一份力量。致在此,我要在这次毕业设计过程中指导老师对我的悉心指导和同学们对我的热心帮助。同时,值此毕业设计结束之际,我还要感数学与计算科学学院的各位老师,感他们3年来对我悉心的栽培。还要感各位同学对我的照料、帮助。最后要感我的父母,感他们在精神、经济、等方面的支持,感他们在我想放弃的时候对我的鼓励。参考文献1朝昆,施丽娜Visual Basic数据库开发基础与应用,人民邮电,2005-9第一版.2 尼春雨,舒雄 Visual Basic基础与案例开发详解M,清华大学 2009-7第一版.3 长林,丽华,王红Visual Basic数据库应用系统开发从基础到实践M:电子工业,2005:276-2804 Visual Basic程序设计教程M ,电子工业2008-1第二次印刷5 美Jeffrey PMcManus著学锁,龚波,志,天伟等Visual Basic 6.0数据库存访问技术M:清华大学,2000:156-1706 英,如何理解和掌握AccessJ新西部下半月,2007(12):66-687 谭浩强,史济民,汤观全Access应用系统开发教程M:清华大学,2004:6-98 萨师煊,王珊,数据库系统概论(第三版)M:高等教育,2000:10-119 美Charles Petzold著,章立民译Visual Basic语言描述M:人民邮电 ,2004:221-22410 龚沛曾,陆慰民,志强Visual Basic 6.0程序设计教程M:高等教育,2000:5-711 连银,基于VB的数据库应用开发研究J电脑知识与技术,2007(14):69-74附录(程序中的主要代码)1. 鼠标移动的效果Private Sub Lbl_Pic_MouseMove(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single) Lbl_info(Index).ForeColor = RGB(255, 0, 0)End SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) Dim i As Integer For i = 0 To Lbl_info.Count - 1 Lbl_info(i).ForeColor = RGB(0, 0, 0) Next iEnd Sub2. 添加工具栏命令Private Sub Lbl_Pic_Click(Index As Integer) Select Case Index Case 0: frmaddnew.Show 1 Case 1: frmdzxxgl.Show 1 Case 2: frmdzjsgl.Show 1 Case 3: frmdzhsgl.Show 1 Case 4: frmcqtx.Show 1 Case 5: frm_lb_cx.Show 1 Case 6: End End SelectEnd Sub3. 向TreeView 中加载数据Public Sub Tree_change() Dim Key, Text, BH As String Dim Nod As Node Adodc1.RecordSource = select * from Table_zcd Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveFirst Do While Adodc1.Recordset.EOF = False Key = Trim(Adodc1.Recordset.Fields(主菜单名称) Text = Adodc1.Recordset.Fields(主菜单名称) Set Node1 = TreeView1.Nodes.Add(, tvwChild, Key, Text, 1) 设置TreeView1控件的节点 文本 和 图标(另外:1 为ImageList控件图标的索引值) Adodc2.RecordSource = select * from Table_zcd_zcd where 主菜单名称= + Adodc1.Recordset.Fields(主菜单名称) + Adodc2.Refresh If Adodc2.Recordset.RecordCount 0 Then Adodc2.Recordset.MoveFirst Do While Adodc2.Recordset.EOF = False Key = Trim(Adodc2.Recordset.Fields(子菜单名称) Text = Adodc2.Recordset.Fields(子菜单名称) Set node2 = TreeView1.Nodes.Add(Node1.Index, tvwChild, Key, Text, 1) 设置TreeView1控件的节点 文本 和 图标(另外:1 为ImageList控件图标的索引值) Adodc2.Recordset.MoveNextLoop End If Adodc1.Recordset.MoveNextLoop End IfEnd Sub4. 向ListView中加载数据If TreeView1.SelectedItem.Key = 借阅管理 Then ListView1.ListItems.clear Set itemX = ListView1.ListItems.Add(, , 读者借书管理, 8) Set itemX = ListView1.ListItems.Add(, , 读者还书管理, 9) Set itemX = ListView1.ListItems.Add(, , 读者续借管理, 10) Set itemX = ListView1.ListItems.Add(, , 图书丢失管理, 11) Set itemX = ListView1.ListItems.Add(, , 超期提醒, 12)End If5. 自动生出读者编号Private Sub Command1_Click() Dim temp1 temp1 = 100000 Adodc1.RecordSource = select * from dzxxtb order by 读者编号 Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveLast Text1.Text = Val(Adodc1.Recordset.Fields(读者编号) + 1 Else Text1.Text = temp1 + 000001 End If Adodc1.RecordSource = select * from dzxxtb order by 读者编号 Adodc1.Refresh clear1 Text6.Text = Text2.SetFocus Command3.Enabled = TrueEnd Sub6. 保存读者信息Private Sub Command3_Click() Dim sql As String sql = insert into dzxxtb values( & Text1 & , & Text2 & , & Combo1 & , & DTPicker1 & , & Text3 & , & Text4 & , & Text5 & , & Text6 & , & Text7 & , & Text8 & , & Combo2 & , & Text9 & , & DTPicker2 & , & Text22 & , & Text10 & ) n.Execute (sql) MsgBox 数据保存成功, 64 Adodc1.Refresh Adodc2.RecordSource = select * from dzxxtb Adodc2.RefreshEnd Sub7. 修改读者信息Private Sub Text11_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then Dim rs As New ADODB.Recordset rs.Open select * from dzxxtb where 读者编号 = + Text11.Text + ,n, adOpenKeyset, adLockOptimistic If rs.RecordCount 0 Then Text12.Text = rs.Fields(读者) Combo4.Text = rs.Fields(性别) DTPicker3.Value = rs.Fields(出生日期) Text13.Text = rs.Fields(单位) Text14.Text = rs.Fields(家庭住址) Text15.Text = rs.Fields(家庭) Text16.Text = rs.Fields(手机) Text17.Text = rs.Fields( ) Text18.Text = rs.Fields(Email) Combo5.Text = rs.Fields(证件类型) Text19.Text = rs.Fields(证件) DTPicker4.Value = rs.Fields(登记日期) Text20.Text = rs.Fields(读者级别) Text21.Text = rs.Fields(备注) Else MsgBox 该读者的编号不正确!, vbCritical Text11.Text = Text11.SetFocus Exit Sub End If Text12.SetFocus End IfEnd Sub8. 读者信息查询Private Sub Command7_Click() Dim Counter As Integer Dim workarea(100) As String Counter = 0 On Error Resume Next ProgressBar1.Value = ProgressBar1.Min For Counter = LBound(workarea) To UBound(workarea) Debug.Print Counter If Check1.Value = 1 And Check2.Value = 0 Then If Combo6.Text = like Then Adodc2.RecordSource = select * from dzxxtb where dzxxtb. & Combo3.Text & like + % + Text23.Text + % Adodc2.Refresh Else Adodc2.RecordSource = select * from dzxxtb where dzxxtb. & Combo3.Text & Combo6 & + + Text23.Text + Adodc2.Refresh End If End If If Check1.Value = 0 And Check2.Value = 1 Then Adodc2.RecordSource = select * from dzxxtb where 登记日期 between & Chr(35) & DTPicker5.Value & Chr(35) & and & Chr(35) & DTPicker6.Value & Chr(35) & Adodc2.Refresh End If If Check1.Value = 1 And Check2.Value = 1 Then If Combo6.Text = like Then Adodc2.RecordSource = select * from dzxxtb where( & Combo3.Text & like % + Text23.Text + %and 登记日期 between & Chr(35) & DTPicker5.Value & Chr(35) & and & Chr(35) & DTPicker6.Value & Chr(35) & ) Adodc2.Refresh Else Adodc2.RecordSource = select * from dzxxtb where ( & Combo3.Text & Combo6 & + + Text23.Text + and 登记日期 between & Chr(35) & DTPicker5.Value & Chr(35) & and & Chr(35) & DTPicker6.Value & Chr(35) & ) Adodc2.Refresh End If End If If Counter = 100 Then Me.MousePointer = 0 End If ProgressBar1.Value = Counter Next Counter ProgressBar1.Value = ProgressBar1.Min ProgressBar1.Value = 0End Sub9. 显示读者信息Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then Adodc2.RecordSource = select * from dzxxtb where 读者编号= & Text1.Text & Adodc2.Refresh If Adodc2.Recordset.RecordCount 0 Then Text2.Text = Adodc2.Recordset.Fields(1) Text3.SetFocus Else MsgBox 没有该读者信息!, vbOKOnly Text2.Text = Text1.SetFocus End If End IfEnd Sub10. 示借阅信息Private Sub Text3_LostFocus() Adodc2.RecordSource = select * from books where 条码号= & Text3.Text & On Error Resume Next Adodc2.Refresh If Adodc2.Recordset.RecordCount 0 Then Text4.Text = Adodc2.Recordset.Fields(书籍名称) Text5.Text = Adodc2.Recordset.Fields(订购价格) Text6.Text = Adodc2.Recordset.Fields(规定天数) Text7.Text = Adodc2.Recordset.Fields() Text8.Text = Adodc2.Recordset.Fields(作者) Text10.Text = Adodc2.Recordset.Fields(类别代码) DTPicker2.Value = DTPicker1.Value + Val(Text6.Text) Else MsgBox 没有该书籍信息!, vbOKOnly Text3.Text = Text4.Text = Text5.Text = Text6.Text = Text8.Text = Text9.Text = Text10.Text = End If Set rs = NothingEnd Sub11. 借出图书Private Sub Command1_Click() If Text1.Text = Or Text2.Text = Or Text3.Text = Or Text4.Text = Or Text9.Text = Then MsgBox 输入的借书信息不完全!, vbCritical Else rs.Open select sum(借书数量) from dzjstb where 读者编号= + Text1.Text + ,n, adOpenKeyset, adLockOptimistic Adodc3.RecordSource = select * from sz Adodc3.Refresh If rs.Fields(0) + Val(Text9.Text) Adodc3.Recordset.Fields(0) Then MsgBox 您的借书量已满!, vbOKOnly rs.Close Exit Sub Else Adodc2.RecordSource = select * from books where 条码号= + Text3.Text + Adodc2.Refresh If Adodc2.Recordset.RecordCount 0 Then n.Execute (insert into dzjstb values( & Text1 & , & Text2 & , & Text3 & , & Text4 & , & Text5.Text & , & Text6 & , & Text7 & , & Text8 & , & Text9 & , & Text10 & , & DTPicker1 & , & DTPicker2 & ,借) x = Val(Adodc2.Recor
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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