1、题目: 基于Access图书管理信息系统 专 业:XXXXXXXXXXXXXXX考号:XXXXXXXXXXX姓名:XXXXXXXXXXXX年XX月XX日1基于Access图书管理信息系统XXX摘要:一直以来,人们使用传统的人工方式管理图书的日常工作,其不足之处显而遇见,处理图书业务流程效率很低,长此以往造成图书、图书信息管理工作混乱复杂,利用Access开发一个图书借阅管理系统,可有效解决图书借阅过程中的诸多问题,给图书管理员及读者带来极大的便利.目前,许多图书馆多为采用数据库管理系统来进行管理。和一些大型数据库软件相比,利用Access开发图书借阅管理系统,开发周期短,费用低,开发的产品也完
2、全可以满足一些小规模企业图书馆的应用。本文建立的图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况.关键词:图书管理系统;图书管理;Access目录1 图书借阅管理系统分析11。1 需求分析11.2 可行性分析11。2。2 经济可行性11。2.2 技术可行性11。2.3 软件平台11。3 系统模块功能分析11.3。1 控制面板模块11。3。2 子模块22 数据库设计32.1 图书类别数据表32.2 图书基本信息数据表42。3 读者基本信息数据表52.4 借阅登记信息数据表63 建立数据表之间的关系74
3、创建图书借阅管理系统查询设计84.1 图书查询84。1。2 按图书名称查询图书84。1.2 按图书作者姓名查询图书84。1。2 按图书类别查询图书94.2 图书借阅查询94。2。1 未归还图书的超期天数查询94.2。2 未归还图书的应还日期查询104。2。3 今日借出、还书查询、今日到期104。2。3 借出图书剩余查询(图15)115 图书借阅管理系统窗体设计126 部分代码分析146。1 读者信息添加146.1。2 代码146。1.2代码分析156。2 读者信息删除166.2。1 代码166。2.2 代码分析17小结18系统分析1图书借阅管理系统分析1.1需求分析管理图书,需要满足来自两方面
4、的需求:一是图书的借阅者,另一个是图书的管理人员.图书的借阅者的需求,是查阅图书内现有的图书、可以查看到自己当前的借阅信息;图书管理员的需求是管理图书信息、用户信息、对用户借书还书的情况作记录。1。2可行性分析1.2.2经济可行性设计的目标是当前一般IT硬件价格不高,容易满足小型书店管理信息系统建设的要求,所需资金不大。系统建设完成后的经济效益却是明显而长期的,必将大大超过建设时的投入,经纪上完全可行。1。2.2技术可行性技术可行性分析是根据现有的技术条件,分析系统是否可能实现,以及现行技术生命周期是否符合书店的要求.技术可行性从三方面进行分析.1.2。3软件平台现有的系统软件和应用软件都很丰
5、富,容易满足小型信息系统的设计要求,这里按综合作业的规定,用Microsoft Access软件作平台,设计小型图书销售系统管理完全可以实现,Microsoft Access是功能较为强大的关系型数据库管理系统,是比较成熟而被普遍使用的.根据系统的生命周期,软件可以实现实时升级。随着书店业务扩大,还可以升为Microsoft SQL Server数据库等。1.3系统模块功能分析本系统采用模块化程序设计方法,即便于系统功能模块的组合,又便于今后系统的维护。图书借阅管理的功能模块如下:1。3.1控制面板模块该模块是这个系统的控制中心,是系统进入各级子模块的入口。控制面板模块的主要功能,是通过该模块
6、的操作,完成对图书借阅管理系统的操作,如图1。系统的实体联系(E-R)图为了是E-R图表示得更加清晰,现将分E-R 图组合成实体及其属性图和实体及其联系图,如图2所示.图1系统的功能模块数据流程图1.3。2子模块对应系统的功能,子模块主要分为借阅信息查阅、图书信息查阅、图书信息管理、用户信息管理、用户信息管理、借阅信息管理等子模块.13数据库设计2数据库设计对于图书借阅管理系统,数据库所要表达的对象是图书信息,以及由图书信息和用户、图书类别、作者、出版社等所产生的数据,这些就是本数据库所要确定的数据源,在这些数据源中,图书的数据信息是最重要的,它是整个数据库的核心数据源。2.1图书类别数据表“
7、图书类别“数据表的作用是保存图书的类别信息,它是以“类别编号”为主键的。其中包含字段的信息如表一、图3、图4所示。表一字段名称字段类型字段大小允许为空备注类别编号文本10否主键类别文本20否必填图2图书类别信息2.2图书基本信息数据表“图书基本信息是整个数据库的核心数据来源。“图书基本信息”数据表的作用是保存图书的基本信息,它是以“图书编号”为主键。如表二、图3所示。表二字段名称字段类型字段大小允许为空备注图书编号文本50否主键图书名称文本20否必填图书类别文本20否列表框作者名称文本20否出版社文本20否出版日期日期/时间格式:短日期是否借出是/否否格式:是/否单价数字单精度库存总数数字长整
8、型必填:是借出数量数字长整型必填:是备注文本图3图书基本信息2。3读者基本信息数据表“读者基本信息”数据表的作用是保护读者的基本信息,它是以“读者ID为主键的.如表三、图4所示。表三字段名称字段类型字段大小允许为空备注读者ID文本10否关键字读者姓名文本20否必填性别文本4否工作单位文本50否家庭住址文本50否必填电话号码文本20否必填登记日期日期/时间否格式:短日期备注文本图42。4借阅登记信息数据表“借阅登记信息”数据表的作用是保存读者所借阅信息,它是以“读者ID”为主键,如表四、图5所示。表四字段名称字段类型字段大小允许为空备注借阅编号文本10否关键字读者ID文本10否必填读者姓名文本2
9、0否必填图书编号文本50否必填图书名称文本20否必填出借日期日期/时间格式:短日期还书日期日期/时间是格式:短日期限借天数数字长整型否图53建立数据表之间的关系通过数据表之间的关系可以将各个数据表联系起来,如图6图6基于Access图书管理信息系统4创建图书借阅管理系统查询设计为了方便对图书馆书籍、读者资料以及借还书等进行管理,用户可以通过查询某位读者、某种图书的借阅情况及对当前图书借阅情况进行统计,来掌握图书的流通情况.对图书、读者和借阅登记资料进行查询。4.1图书查询为了方便用户对图书的查询,需要对图书进行查询设计,主要包括按照图书名称、作者名称、图书类别、出版社和出版日期等.4.1。2按
10、图书名称查询图书图7按图书名称查询图书4。1.2按图书作者姓名查询图书图8按图书作者姓名查询图书4。1。2按图书类别查询图书图9按图书类别查询图书4.2图书借阅查询在实际图书的借阅过程中,图书馆的工作人员经常需要对图书借阅情况进行查询,比如查看某本书是否已归还、某人是否按期归还图书以及某本书是否已到了归还期等.为了解决这个问题,我们就需要进行一些查询设计4。2。1未归还图书的超期天数查询图10未归还图书的超期天数查询4。2.2未归还图书的应还日期查询图11未归还图书的应还日期查询4。2。3今日借出、还书查询、今日到期图12今日借出查询设计图13今日还书查询设计图14今日到期查询设计4.2。3借
11、出图书剩余查询(图15)图15借出图书剩余查询5图书借阅管理系统窗体设计窗体是用户与数据之间的主要窗口,使用窗体可以对数据库进行查询、修改、添加和打印等操作,而且可以灵活地设计窗体的布局。窗体按其功能可以分为数据窗体、流程控制面板窗体和交互窗体。对图书借阅管理系统窗体的设计,简单来说就是先建立窗体,然后将所有新建的窗体链接起来,形成系统。首先要分析图书借阅管理系统的各个功能,再进行分类.比如,“新书添加”功能只能由图书管理员才能够进行操作,所以把这个功能添加到“管理员窗体”中,并通过按钮超链接小时跳转功能.下面附上各个窗体的界面:图16图书借阅管理系统主界面图17读者查询界面图18读者资料管理
12、图19管理员登录界面图 20管理员管理界面图21图书查询界面图22新书上架界面6部分代码分析6.1读者信息添加6.1。2代码Private Sub 添加读者_Click()On Error GoTo Err_添加读者_Click定义保存”查询语句”的字符型变量Dim STemp As String定义数据集变量Dim Rs As ADODB.Recordset为定义的数据集分配空间Set Rs = New ADODB.RecordsetSTemp = ”Select From 读者基本信息打开“读者基本信息”数据表Rs。Open STemp, CurrentProject。Connection
13、, adOpenKeyset _, adLockOptimistic判断窗体中必填文本框和组合框市是否为空 If Me!读者 ID ” And Me!读者姓名 ” And Me!家庭住址 _ ” And Me!电话号码 ” Then 如果必填文本框和组合框不为空 使用记录集的Addnew方法添加记录 Rs.AddNew 把窗体中文本框和组合框内的值赋予记录集中对应的字段 Rs(读者 ID”) = Me!读者 ID Rs(读者姓名”) = Me!读者姓名 Rs(”性别”) = Me!性别 Rs(工作单位”) = Me!工作单位 Rs(”家庭住址) = Me!家庭住址 Rs(”电话号码) = Me
14、!电话号码 Rs(登记日期”) = Me!登记日期 Rs(备注) = Me!备注 使用记录集中的Update方法来刷新记录集 Rs。Update 弹出“添加完成”的提示信息 MsgBox ”读者个人资料记录已经添加成功!, vbOKOnly, 添加完成 Else 如果必填文本框和组合框为空,则弹出“警告信息 MsgBox ”窗体中必填文本框和组合框不能为空!”, vbOKOnly, ”警告 Me!读者基本信息子窗体。SetFocus End If Me!读者基本信息子窗体.Requery 释放系统为Rs数据集分配的空间 Set Rs = NothingExit_添加读者_Click: Exit
15、 SubErr_添加读者_Click: MsgBox Err。Description Resume Exit_添加读者_Click End Sub6。1。2代码分析本段代码为添加读者信息功能代码,首先定义一个用于保存数据集Opan方法的Source参数的字符变量和一个数据变量的Rs,然后把这些变量初始化,再使用数据集Open方法打开“读者基本信息数据表,实现对其的访问。接着判断“读者ID”、“读者姓名”、“家庭地址”和“电话号码”等文本框是否为空,如果不为空,则使用Rs数据集对象的AddNew方法在“读者就不信息”数据表中添加新记录来保存读者资料,然后弹出“添加完成的提示信息,如果读者ID”、
16、“读者姓名、“家庭地址”和“电话号码”等文本框为空,系统将弹出“警告”信息,并把光标置于“读者ID”组合框中,最后再把Rs数据集空间释放。6。2读者信息删除6。2.1代码Private Sub 删除读者_Click()On Error GoTo Err_删除读者_Click定义字符型变量Dim STemp As String定义数据集变量Dim Rs As ADODB。Recordset为定义的数据集变量分配控件Set Rs = New ADODB。Recordset为打开数据表”查询语句字符变量赋值STemp = ”Select * from 读者基本信息打开“读者基本信息”数据表Rs.Op
17、en STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic把记录集的指针指到第一条Rs。MoveFirst使用ForNext 循环语句在Rs数据集中循环判断For i = 1 To Rs。RecordCount判断记录集中的“读者 ID字段值是否与窗体中“读者 ID”文本框内的值相同If Rs(读者 ID”) = Me!读者基本信息子窗体!读者 ID Then如果相同,则把该记录删除Rs。Delete 1设置i的值来跳出循环i = Rs。RecordCount + 1Else如果不相同,则移到下一条记录Rs。MoveN
18、extEnd IfNext iMsgBox 读者档案记录已经删除完成!”, vbOKOnly, ”删除完成”刷新“读者基本信息子窗体”窗体Me!读者基本信息子窗体.Requery释放系统为Rs数据集的分配空间Set Rs = NothingExit_删除读者_Click: Exit SubErr_删除读者_Click: MsgBox Err。Description Resume Exit_删除读者_Click End Sub6.2.2代码分析本段代码为删除读者信息功能代码,首先定义一个用于保存数据集Opan方法的Source参数的字符变量和一个数据变量的Rs,然后把这些变量初始化,再使用数据集
19、Open方法打开“读者基本信息数据表,实现对其的访问。接着使用ForNext循环语句在RS数据集中循环判断记录集中的“读者ID”字段是否与窗体中的“读者ID”文本框中的值相同,如果相同在使用RS数据集对象的Dalete方法来删除该读者的记录:如果不相同则移到下一条记录,然后刷新“读者基本信息子窗体窗体,最后再把Rs数据集空间释放。小结通过一个完整的图书管理信息系统的创建,了解到一个数据库系统的开发,前台是应用程序的开发:功能模块设计、源代码开发。后台是数据库的开发:系统设计、数据库设计、数据库结构的设计等。前台开发涉及到整个图书管理系统功能的实现,及实现的效率.后台开发也尤为重要,它对应用程序的效率以及实现的效果产生影响。另外,合理的数据结构将非常有利于程序的实现。在设计的过程中,我学习了一种新的数据库系统开发工具Visual Basic6。0。它具有的可视化的编程环境和连接数据库的便捷性,为数据库的连接提供了多种方法。通过对这个系统的开发,使我对Visual Basic 有了更深程度的认识和了解,也使我对数据库的开发有所了解,为以后从事数据库开发工作打下了良好的基础。同时,也使我认识到自己所学的知识还很肤浅,这也正是我今后要努力提高的.