基于Access图书管理信息系统.docx
- 文档编号:24576209
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:18
- 大小:997.27KB
基于Access图书管理信息系统.docx
《基于Access图书管理信息系统.docx》由会员分享,可在线阅读,更多相关《基于Access图书管理信息系统.docx(18页珍藏版)》请在冰豆网上搜索。
基于Access图书管理信息系统
题目:
基于Access图书管理信息系统
专业:
XXXXXXXXXXXXXXX
考号:
XXXXXXXXXXX
姓名:
XXXXXXX
XXXXX年XX月XX日
基于Access图书管理信息系统
XXX
摘要:
一直以来,人们使用传统的人工方式管理图书的日常工作,其不足之处显而遇见,处理图书业务流程效率很低,长此以往造成图书、图书信息管理工作混乱复杂,利用Access开发一个图书借阅管理系统,可有效解决图书借阅过程中的诸多问题,给图书管理员及读者带来极大的便利。
目前,许多图书馆多为采用数据库管理系统来进行管理。
和一些大型数据库软件相比,利用Access开发图书借阅管理系统,开发周期短,费用低,开发的产品也完全可以满足一些小规模企业图书馆的应用。
本文建立的图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。
关键词:
图书管理系统;图书管理;Access
1图书借阅管理系统分析
1.1需求分析
管理图书,需要满足来自两方面的需求:
一是图书的借阅者,另一个是图书的管理人员。
图书的借阅者的需求,是查阅图书内现有的图书、可以查看到自己当前的借阅信息;图书管理员的需求是管理图书信息、用户信息、对用户借书还书的情况作记录。
1.2可行性分析
1.2.2经济可行性
设计的目标是当前一般IT硬件价格不高,容易满足小型书店管理信息系统建设的要求,所需资金不大。
系统建设完成后的经济效益却是明显而长期的,必将大大超过建设时的投入,经纪上完全可行。
1.2.2技术可行性
技术可行性分析是根据现有的技术条件,分析系统是否可能实现,以及现行技术生命周期是否符合书店的要求。
技术可行性从三方面进行分析。
1.2.3软件平台
现有的系统软件和应用软件都很丰富,容易满足小型信息系统的设计要求,这里按综合作业的规定,用MicrosoftAccess软件作平台,设计小型图书销售系统管理完全可以实现,MicrosoftAccess是功能较为强大的关系型数据库管理系统,是比较成熟而被普遍使用的。
根据系统的生命周期,软件可以实现实时升级。
随着书店业务扩大,还可以升为MicrosoftSQLServer数据库等。
1.3系统模块功能分析
本系统采用模块化程序设计方法,即便于系统功能模块的组合,又便于今后系统的维护。
图书借阅管理的功能模块如下:
1.3.1控制面板模块
该模块是这个系统的控制中心,是系统进入各级子模块的入口。
控制面板模块的主要功能,是通过该模块的操作,完成对图书借阅管理系统的操作,如图1。
系统的实体-联系(E-R)图为了是E-R图表示得更加清晰,现将分E-R图组合成实体及其属性图和实体及其联系图,如图2所示。
图1系统的功能模块数据流程图
1.3.2子模块
对应系统的功能,子模块主要分为借阅信息查阅、图书信息查阅、图书信息管理、用户信息管理、用户信息管理、借阅信息管理等子模块。
2数据库设计
对于图书借阅管理系统,数据库所要表达的对象是图书信息,以及由图书信息和用户、图书类别、作者、出版社等所产生的数据,这些就是本数据库所要确定的数据源,在这些数据源中,图书的数据信息是最重要的,它是整个数据库的核心数据源。
2.1图书类别数据表
“图书类别“数据表的作用是保存图书的类别信息,它是以“类别编号”为主键的。
其中包含字段的信息如表一、图3、图4所示。
表一
字段名称
字段类型
字段大小
允许为空
备注
类别编号
文本
10
否
主键
类别
文本
20
否
必填
图2图书类别信息
2.2图书基本信息数据表
“图书基本信息”是整个数据库的核心数据来源。
“图书基本信息”数据表的作用是保存图书的基本信息,它是以“图书编号”为主键。
如表二、图3所示。
表二
字段名称
字段类型
字段大小
允许为空
备注
图书编号
文本
50
否
主键
图书名称
文本
20
否
必填
图书类别
文本
20
否
列表框
作者名称
文本
20
否
出版社
文本
20
否
出版日期
日期/时间
格式:
短日期
是否借出
是/否
否
格式:
是/否
单价
数字
单精度
库存总数
数字
长整型
必填:
是
借出数量
数字
长整型
必填:
是
备注
文本
图3图书基本信息
2.3读者基本信息数据表
“读者基本信息”数据表的作用是保护读者的基本信息,它是以“读者ID”为主键的。
如表三、图4所示。
表三
字段名称
字段类型
字段大小
允许为空
备注
读者ID
文本
10
否
关键字
读者姓名
文本
20
否
必填
性别
文本
4
否
工作单位
文本
50
否
家庭住址
文本
50
否
必填
电话号码
文本
20
否
必填
登记日期
日期/时间
否
格式:
短日期
备注
文本
图4
2.4借阅登记信息数据表
“借阅登记信息”数据表的作用是保存读者所借阅信息,它是以“读者ID”为主键,如表四、图5所示。
表四
字段名称
字段类型
字段大小
允许为空
备注
借阅编号
文本
10
否
关键字
读者ID
文本
10
否
必填
读者姓名
文本
20
否
必填
图书编号
文本
50
否
必填
图书名称
文本
20
否
必填
出借日期
日期/时间
格式:
短日期
还书日期
日期/时间
是
格式:
短日期
限借天数
数字
长整型
否
图5
3建立数据表之间的关系
通过数据表之间的关系可以将各个数据表联系起来,如图6
图6
4创建图书借阅管理系统查询设计
为了方便对图书馆书籍、读者资料以及借还书等进行管理,用户可以通过查询某位读者、某种图书的借阅情况及对当前图书借阅情况进行统计,来掌握图书的流通情况。
对图书、读者和借阅登记资料进行查询。
4.1图书查询
为了方便用户对图书的查询,需要对图书进行查询设计,主要包括按照图书名称、作者名称、图书类别、出版社和出版日期等。
4.1.2按图书名称查询图书
图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借出图书剩余查询(图15)
图15借出图书剩余查询
5图书借阅管理系统窗体设计
窗体是用户与数据之间的主要窗口,使用窗体可以对数据库进行查询、修改、添加和打印等操作,而且可以灵活地设计窗体的布局。
窗体按其功能可以分为数据窗体、流程控制面板窗体和交互窗体。
对图书借阅管理系统窗体的设计,简单来说就是先建立窗体,然后将所有新建的窗体链接起来,形成系统。
首先要分析图书借阅管理系统的各个功能,再进行分类。
比如,“新书添加”功能只能由图书管理员才能够进行操作,所以把这个功能添加到“管理员窗体”中,并通过按钮超链接小时跳转功能。
下面附上各个窗体的界面:
图16图书借阅管理系统主界面
图17读者查询界面图18读者资料管理
图19管理员登录界面图20管理员管理界面
图21图书查询界面图22新书上架界面
6部分代码分析
6.1读者信息添加
6.1.2代码
PrivateSub添加读者_Click()
OnErrorGoToErr_添加读者_Click
'定义保存"查询语句"的字符型变量
DimSTempAsString
'定义数据集变量
DimRsAsADODB.Recordset
'为定义的数据集分配空间
SetRs=NewADODB.Recordset
STemp="Select*From读者基本信息"
'打开“读者基本信息”数据表
Rs.OpenSTemp,CurrentProject.Connection,adOpenKeyset_
adLockOptimistic
'判断窗体中必填文本框和组合框市是否为空
IfMe!
[读者ID]<>""AndMe!
[读者姓名]<>""AndMe!
[家庭住址]_
<>""AndMe!
[电话号码]<>""Then
'如果必填文本框和组合框不为空
'使用记录集的Addnew方法添加记录
Rs.AddNew
'把窗体中文本框和组合框内的值赋予记录集中对应的字段
Rs("读者ID")=Me!
[读者ID]
Rs("读者姓名")=Me!
[读者姓名]
Rs("性别")=Me!
[性别]
Rs("工作单位")=Me!
[工作单位]
Rs("家庭住址")=Me!
[家庭住址]
Rs("电话号码")=Me!
[电话号码]
Rs("登记日期")=Me!
[登记日期]
Rs("备注")=Me!
[备注]
'使用记录集中的Update方法来刷新记录集
Rs.Update
'弹出“添加完成”的提示信息
MsgBox"读者个人资料记录已经添加成功!
",vbOKOnly,"添加完成"
Else
'如果必填文本框和组合框为空,则弹出“警告信息”
MsgBox"窗体中必填文本框和组合框不能为空!
",vbOKOnly,"警告"
Me!
[读者基本信息子窗体].SetFocus
EndIf
Me!
[读者基本信息子窗体].Requery
'释放系统为Rs数据集分配的空间
SetRs=Nothing
Exit_添加读者_Click:
ExitSub
Err_添加读者_Click:
MsgBoxErr.Description
ResumeExit_添加读者_Click
EndSub
6.1.2代码分析
本段代码为添加读者信息功能代码,首先定义一个用于保存数据集Opan方法的Source参数的字符变量和一个数据变量的Rs,然后把这些变量初始化,再使用数据集Open方法打开“读者基本信息”数据表,实现对其的访问。
接着判断“读者ID”、“读者姓名”、“家庭地址”和“电话号码”等文本框是否为空,如果不为空,则使用Rs数据集对象的AddNew方法在“读者就不信息”数据表中添加新记录来保存读者资料,然后弹出“添加完成”的提示信息,如果读者ID”、“读者姓名”、“家庭地址”和“电话号码”等文本框为空,系统将弹出“警告”信息,并把光标置于“读者ID”组合框中,最后再把Rs数据集空间释放。
6.2读者信息删除
6.2.1代码
PrivateSub删除读者_Click()
OnErrorGoToErr_删除读者_Click
'定义字符型变量
DimSTempAsString
'定义数据集变量
DimRsAsADODB.Recordset
'为定义的数据集变量分配控件
SetRs=NewADODB.Recordset
'为打开数据表"查询语句"字符变量赋值
STemp="Select*from读者基本信息"
'打开“读者基本信息”数据表
Rs.OpenSTemp,CurrentProject.Connection,adOpenKeyset,adLockOptimistic
'把记录集的指针指到第一条
Rs.MoveFirst
'使用For…Next循环语句在Rs数据集中循环判断
Fori=1ToRs.RecordCount
'判断记录集中的“读者ID”字段值是否与窗体中“读者ID”文本框内的值相同
IfRs("读者ID")=Me!
[读者基本信息子窗体]!
[读者ID]Then
'如果相同,则把该记录删除
Rs.Delete1
'设置i的值来跳出循环
i=Rs.RecordCount+1
Else
'如果不相同,则移到下一条记录
Rs.MoveNext
EndIf
Nexti
MsgBox"读者档案记录已经删除完成!
",vbOKOnly,"删除完成"
'刷新“读者基本信息子窗体”窗体
Me!
[读者基本信息子窗体].Requery
'释放系统为Rs数据集的分配空间
SetRs=Nothing
Exit_删除读者_Click:
ExitSub
Err_删除读者_Click:
MsgBoxErr.Description
ResumeExit_删除读者_Click
EndSub
6.2.2代码分析
本段代码为删除读者信息功能代码,首先定义一个用于保存数据集Opan方法的Source参数的字符变量和一个数据变量的Rs,然后把这些变量初始化,再使用数据集Open方法打开“读者基本信息”数据表,实现对其的访问。
接着使用For…Next循环语句在RS数据集中循环判断记录集中的“读者ID”字段是否与窗体中的“读者ID”文本框中的值相同,如果相同在使用RS数据集对象的Dalete方法来删除该读者的记录:
如果不相同则移到下一条记录,然后刷新“读者基本信息子窗体”窗体,最后再把Rs数据集空间释放。
小结
通过一个完整的图书管理信息系统的创建,了解到一个数据库系统的开发,前台是应用程序的开发:
功能模块设计、源代码开发。
后台是数据库的开发:
系统设计、数据库设计、数据库结构的设计等。
前台开发涉及到整个图书管理系统功能的实现,及实现的效率。
后台开发也尤为重要,它对应用程序的效率以及实现的效果产生影响。
另外,合理的数据结构将非常有利于程序的实现。
在设计的过程中,我学习了一种新的数据库系统开发工具VisualBasic6.0。
它具有的可视化的编程环境和连接数据库的便捷性,为数据库的连接提供了多种方法。
通过对这个系统的开发,使我对VisualBasic有了更深程度的认识和了解,也使我对数据库的开发有所了解,为以后从事数据库开发工作打下了良好的基础。
同时,也使我认识到自己所学的知识还很肤浅,这也正是我今后要努力提高的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Access 图书 管理信息系统
![提示](https://static.bdocx.com/images/bang_tan.gif)