Access实例――图书借阅管理系统_第1页
Access实例――图书借阅管理系统_第2页
Access实例――图书借阅管理系统_第3页
Access实例――图书借阅管理系统_第4页
Access实例――图书借阅管理系统_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Access数据库应用实例图书借阅管理系统一、数据库分析与设计1数据库数据结构分析通过对图书借阅管理的内容和数据分析,创建该管理系统数据库,名为“图书借阅管理系统 mdb”,主要包含的数据表有“会员表”、“会员级别表”、“图书表”、“图书类别表”、“图书借阅表”共五个表。这五个表之间存在着一定的关联关系,各表间的关系如图2所示:图2 系统中各表间关系图2数据库逻辑结构设计“图书借阅管理系统”的各个数据库表结构设计如表1表5所示:表1 “会员表”表结构字段名数据类型字段大小格式主键必填字段会员证编号文本12是是会员级别文本8是会员姓名文本8是会员性别文本2是身份证号文本18是单位名称文本50否单

2、位地址文本50否联系电话文本15否办证日期日期/时间短日期是有效日期日期/时间短日期否照片OLE 对象否备注备注否表2 “会员级别表”表结构字段名数据类型字段大小格式主键必填字段会员级别文本8是是限借册数数字整型是表3 “图书表”表结构字段名数据类型字段大小格式主键必填字段图书编号文本7是是图书分类号文本30是图书类别文本30是书名文本50是作者文本50是出版社文本30是出版日期日期/时间短日期是价格数字双精度型货币是存放位置文本50是入库时间日期/时间短日期是库存总数数字整型是在库数量数字整型是借出数量数字整型是新书入库数字整型否旧书出库数字整型否借出次数数字整型是备注备注否表4 “图书类别

3、表”表结构字段名数据类型字段大小格式主键必填字段图书类别文本30是是限借天数数字整型是超期罚款/天数字双精度型货币是表5 “图书借阅表”表结构字段名数据类型字段大小格式主键必填字段默认值借阅编号自动编号长整型是图书编号文本7是会员证编号文本12是借阅日期日期/时间短日期是还书日期日期/时间短日期否罚款已缴文本2是“否”备注备注否二、查询的设计与实现在本图书借阅管理系统中,要用到大量的查询功能。Access 2003提供了5种查询:选择查询、参数查询、交叉表查询、操作查询和SOL查询。其中操作查询又包括生成表查询、更新查询、追加查询和删除查询4种查询。(1) 生成表查询:这种查询可以根据一个或多

4、个表中的全部或部分数据新建表。生成表查询有助于创建表以导出到其他Microsoft Access数据库或包含所有旧记录的历史表。(2) 更新查询:这种查询可以对一个或多个表中的一个或一组记录作全局更改。使用更新查询可以更改已有表中的数据。(3) 追加查询:追加查询将一个或多个表中的一组记录添加到一个或多个表的末尾。(4) 删除查询:这种查询可以从一个或多个表中删除一组记录。(使用删除查询,通常会删除整个记录,而不只是记录中的部分字段。)该图书借阅管理系统中主要用到了选择查询、操作查询的更新查询和追加查询,下边我们以实例主要说明一下这几种查询在本系统中的实现方法与过程。1 选择查询的设计与实现分

5、析:在实际图书馆图书借阅过程中,会员(借阅者)或者图书馆管理员经常需要对图书借阅情况进行查询,比如查看某本书是否已归还、某人是否未按期归还图书、某本书是否已到归还期或是某本书是否忘记归还了等等。为了解决上述这些问题,我们就需要设置一些相应的查询(一般都是以“选择查询”为居多)。这些查询能有效地帮我们解决这些问题。步骤:(以“图书借阅超期查询”为例)第一步:选择“在设计视图中创建查询”。(见图11)图11第二步:分别添加“会员表”、“图书表”、“图书借阅表”和“图书类别表”。(见图12)见图12第三步:选择“图书表”中的“图书编号”、“书名”、“作者”、“图书类别”;“会员表”中的“会员证编号”

6、、“会员姓名”、“会员级别”;“图书借阅表”中的“借阅日期”、“还书日期”字段,然后再设立2个新字段“超期天数”和“应还日期”。这两个新字段是原表中没有的,它们是以原表的部分字段为数据基础,通过数学表达式计算得出的新数据所组成的。(表达式的写入可以通过单击工具栏上的“生成器”按钮,打开“表达式生成器”对话框来完成如图13)最后在“还书日期”字段的“条件”约束栏中写入约束条件“IS NULL”并在“超期天数”字段的“条件”约束栏中写入约束条件“0”(此处正值为有效值,负值是无效值,因为负值说明还未超期,在该查询中无实用意义,故舍去)。(见图14)下边给出这两个新字段的数学表达式:(1)超期天数:

7、 Date ()-借阅日期-限借天数;(2)应还日期: 借阅日期+限借天数。图13图14第四步:保存查询。(见图15)图15第五步:运行该查询。(见图16)图16其他选择查询的设计可参照“图书借阅超期查询”的设计来进行,如“借阅历史记录查询”、“今日借出查询”、“今日到期查询”、“今日还书查询”、“今日入库查询”、“借书查询”、“还书查询”、“续借查询”、“罚款查询”等。下边给出上述这几个选择查询的主要设计视图供大家参考:“借阅历史记录查询”主设计视图:(见图17)图17“今日借出查询”主设计视图:字段“借阅日期”须以“Date()”(当前日期)作为约束条件。(见图18)图18“今日到期查询”

8、主设计视图:须通过“表达式生成器”建立新字段“应还日期”且以“Date()”为约束条件,表达式为:应还日期: 借阅日期+限借天数。(见图19)图19“今日还书查询”主设计视图:字段“还书日期”须以“Date()”作为约束条件。(见图20)图20“今日入库查询”主设计视图:字段“入库时间”须以“Date()”作为约束条件。(见图21)图21“借书查询”主设计视图:由于“借书查询”、“还书查询”、“续借查询”、“罚款查询”这4个选择查询是专门为“借书窗体”、“还书窗体”、“续借窗体”、“罚款窗体”的功能实现而量身打造的专用查询,故其设计上有别与上述几个一般选择查询。区别主要体现在在这些查询中要设计

9、与相应窗体中控件的功能链接,如大家现在在图22“借书查询1”和图23“借书查询2”(此处将借书查询分为1和2两部分也是应借书窗体的功能要求而针对设计的)中看到的“图书编号”字段和“会员证编号”字段中的条件约束即为功能链接的一部分。例如“借书查询1”中的“图书编号”字段的条件“Forms!借书窗体!Text13”意为与“借书窗体”中的文本框“Text13”相链接,该条件其实起到了一个“指针”的作用(后边几个查询中的相似条件约束的功能与此相同,不再多作解释)。“借书查询1”中的字段“在库数量”的约束条件为“0”,表示某本书只有在有库存的情况下才允许借出。(见图22图23)图22图23“还书查询”主

10、设计视图:“还书日期”字段的约束条件要设置为“Is Null”,表示未还的书才会被列出。(见图24)图24“续借查询”主设计视图:(见图25)图25“罚款查询”主设计视图:须设立2个新字段“超期天数”和“罚款数额”且“超期天数”字段的约束条件为“0”,另外“罚款缴纳”字段的约束条件为“否”,表示已欠费且未缴纳过罚款的会员才会被列出,未欠费或已缴纳过的会员不会再被列出。下边给出这两个新字段的数学表达式:(1)超期天数: 还书日期-借阅日期-限借天数;(2)罚款数额: (还书日期-借阅日期-限借天数)*超期罚款/天。(见图26)图262 操作查询的设计与实现分析:在“图书借阅管理系统”中,图书的借

11、阅功能是该系统的核心功能,如何实现该功能便是设计该系统的核心问题。我们知道,图书在借出、归还、续借等过程发生后,数据表中的数据就应发生相应的改变(即更新),那么在系统中如何实现数据的自动更新或添加呢?答案是利用“操作查询”。步骤:(以“借书更新”和“借书追加”为例)第一步:在设计视图中创建查询,并添加“会员表”、“图书表”和“图书借阅表”。第二步:将“图书表”中的“图书编号”、“借出次数”、“借出数量”、“在库数量”字段;“会员表”中的“会员证编号”字段;“图书借阅表”中的“还书日期”字段添加进来。并将查询类型设置为“更新查询”(设置方法:在选中查询窗口的情况下在“查询设计菜单栏”中单击“查询

12、类型”进行更改,或者在查询窗口中的表添加栏中的空白处单击鼠标右键,在弹出的菜单中选择查询类型)。(见图27图28)图27图28第三步:对各个字段的更新条件进行设置。(如图29) 图中“借出次数”、“借出数量”、“在库数量”三个字段的“更新到”一栏中的条件表示当借书操作使得某本图书被借出时,相应数据表中的原数据应该根据这一条件更新为新数据。约束条件“0”表示只有当该书有库存的情况下才能借出;而字段“图书编号”和“会员证编号”的约束条件“Forms!借书窗体!Text13”和“Forms!借书窗体!Text14”与前边在选择查询中提到的条件一样,是查询与相应窗体中控件的功能链接条件。图29第四步:

13、保存该“更新查询”。(如图30)图30第五步:再在设计视图中创建查询,并添加“会员表”、“图书表”和“图书借阅表”。第六步:将查询类型更改为“追加查询”并将所需的字段添加进来。第七步:对所需追加记录的字段进行追加条件限制。(如图31) 追加查询与更新查询不太一样,它的工作原理是将“字段”中的表达式数值“追加”到相应的数据表字段中。如:对表达式3的操作即是将“Date()”(当前日期)这一新数据追加到图书借阅表的借阅日期这一字段的数据中。至于表达式1和表达式2则是功能链接条件。图31第八步:保存该“追加查询”。(如图32)图32其他需用到操作查询的查询设计可参照“借书更新”和“借书追加”的设计来

14、进行,如“还书更新”、“罚款更新”、“续借更新”、“续借追加”等。下边给出上述这几个操作查询的主要设计视图供大家参考:“还书更新”主设计视图:(见图33)图33“罚款更新”主设计视图:(见图34)图34“续借更新”主设计视图:(见图35图36)此处将续借功能的实现变通为以先还再借的方式来实现,故将“续借更新”分为两块:先还“续接更新1”;再借“续借更新2”。图35图36“续借追加”主设计视图:(见图37)图37三、窗体的设计与实现窗体是Access 2003数据库系统的一个重要对象。前面介绍的浏览记录、显示查询结果等都是在“数据表”视图中所进行的操作,只能用于对表的一般维护。如果要改变表记录的

15、显示界面,则需要通过界面窗口来添加、修改、删除记录或改变应用程序控制流程,这就需要数据库的一个重要组件窗体。窗体是用户与数据之间的主要窗口,使用窗体可以对数据库进行查询、修改、添加和打印等操作,而且可以灵活的设计窗体的布局。窗体按其功能可以分为数据窗体、流程控制面板窗体和交互窗体。(1) 数据窗体:主要用来显示、浏览、添加、修改、删除表或查询中的记录。(如图38)图38(2) 流程控制面板窗体:主要用来控制应用程序的运行流程。(如图39)图39(3) 交互窗体:是在不同的状态下,给出系统提示信息或要求用户输入的窗口。(如图40) 图40在Access 2003数据库中,窗体有设计视图、窗体视图

16、、数据表视图、数据透视表视图和数据透视图视图5种视图,它们之间可以通过工具栏“视图”按钮进行切换。(见下图)我们将主要介绍使用设计视图创建窗体的方法。使用窗体的设计视图来创建、修改和美化窗体,窗体的设计视图一般由窗体页眉/页脚、页面页眉/页脚和主体5部分组成。一般情况下,窗体的页眉/页脚很少用到,而主体是窗体的核心,通过在主体中添加控件可以实现对数据的管理功能。1使用窗体向导创建窗体使用“窗体向导”可以创建使用“自动创建窗体”(“自动创建窗体”所创建的窗体较粗糙,一般在用户对窗体效果要求不高时使用)所创建的5种类型的窗体,不同之处在于窗体中的数据可以来源于一个或多个表与查询。在使用“窗体向导”

17、创建窗体时,可以重新设置字段的排列顺序。下面我们以创建“会员基本信息管理窗体”为例说明一下利用“窗体向导”来创建窗体的过程。第一步:双击“使用向导创建窗体”,打开窗体向导设计界面。(见图41)图41 第二步:在“表/查询”栏中选择“表:会员表”项,并将其中要用到的字段全部添加到“选定的字段”中。(见图42)图42第三步:选择窗体布局。Access中有“纵栏表”、“表格”、“数据表”、“两端对齐”、“数据透视表”和“数据透视图”6种可供选择的布局类型,在这里我们以“两端对齐”为例。(见图43)图43 第四步:选择窗体样式。Access中有“国际”、“宣纸”、“工业”、“标准”、“水墨画”和“砂岩

18、”、“混合”、“石头”、“蓝图”和“远征”10种默认的可供选择的布局类型,在这里我们以“标准”为例。(图44)图44第五步:确定窗体的标题。这一步除了指定窗体标题外,我们还可以选择在向导设置完成后我们是要“打开窗体查看或输入信息”还是“修改窗体设计”。由于一般情况下通过向导创建的窗体不可能尽善尽美,有很多地方需要做适当的添加和修改,所以我们通常都选择“修改窗体设计”项并完成创建。(见图45)图45 第六步:在“会员基本信息管理窗体”的设计视图中对窗体的大小、各个字段的位置和顺序进行调整,并添加“标签”“会员基本信息”和8个命令按钮“转至上一条记录”、“转至最后一条记录”、“添加记录”、“保存记

19、录”等。(见图46)图46说到控件,Access的窗体设计很大程度表现在窗体控件的使用上。控件是窗体中用于显示数据、执行操作命令或修饰窗体的一种对象。在窗体设计视图窗口中,单击工具栏上的“工具箱”按钮,屏幕出现控件“工具箱”工具栏。工具箱中包括各种控件按钮,如标签、文本框、选项组、复选框、列表框、组合框、绑定对象框、未绑定对象框、选项按钮、命令按钮、切换按钮、分页符、选项卡控件、子窗体/子报表、矩形、直线、图像等。下面以“转至下一条记录”命令按钮的添加为例来简单说明一下窗体控件的使用。(1)单击“工具箱”中的“命令按钮”,然后将鼠标移至窗体设计视图界面中要添加该命令按钮的地方单击鼠标左键进行命

20、令按钮的添加。(如图47)图47 (2)在弹出的“命令按钮向导”窗口中选择该按钮所要执行的命令或其该具备的功能。(如图48)图48 (3)选择按钮的显示类型。Access 支持两种显示方式:“文本”型和“图片”型。我们以“图片”型为例进行说明。(如图49)图49 (4)为命令按钮命名。(如图50)图50 第七步:窗体最终效果预览与功能验证。(如图51)图51可用同样方法创建“会员级别设置窗体”、“图书基本信息管理窗体”、“图书类别设置窗体”等窗体。下边列出上述几个窗体的主要设计视图:“会员级别设置窗体”设计视图:(如图52)图52“图书基本信息管理窗体”设计视图:(如图53)图53“图书类别设

21、置窗体”设计视图:(如图54)图542使用窗体设计视图创建窗体利用设计视图创建窗体随意性很大,你可以完全按照自己的想法或用户具体的需求有针对性的进行窗体设计。下面我们以“还书窗体”为例来对运用设计视图创建窗体的过程步骤进行说明。第一步:双击“在设计视图中创建窗体”,打开窗体视图设计界面。(见图55)图55 第二步:调整窗体“主体”大小到所需的值。(见图56)图56第三步:添加所需的窗体控件。(见图57图58) 标 签“还书”标签(Label0);文 本 框“会员证编号”文本框(Text11)和“图书编号”文本框(Text12);命令按钮“确定”按钮(Command11)和“还书”按钮(Comm

22、and12);子 窗 体“还书子窗体”窗体(Child15)。图57图58其中“还书子窗体”窗体只是对“还书查询”查询(已在前边查询的设计与实现部分介绍过)的窗体化,即“还书子窗体”的记录源是“还书查询”。“还书子窗体”的主要设计视图如图59。图59第四步:设置各控件的数据连接或事件过程。(见图60图65) “子窗体”控件的数据源对象为“还书子窗体”。(见图60)图60 “还书子窗体”的数据记录源为“还书查询”。(见图61)图61 “确定”命令按钮的“单击”事件过程为一组代码(见图62图63),其功能为调用“还书”查询中与窗体控件“会员证编号”文本框和“图书编号”文本框中所输入号码相符的号码所

23、具有的相关数据信息。 “确定”命令按钮(Command11)代码:Private Sub Command11_Click()Me.还书子窗体.RequeryEnd Sub图62图63 “还书”命令按钮的“单击”事件过程是调用宏“还书更新宏”。“还书更新宏”通过执行“还书更新”查询来实现图书还书功能。(见图64图65)图64图65第五步:保存“还书窗体”。(见图66)图66 第六步:窗体最终效果预览与功能验证。(见图67)图67其他类似窗体有“借书窗体”、“续借窗体”、“罚款窗体”、“图书查询窗体”、“会员查询窗体”、“借阅超期查询窗体”、“借阅记录查询窗体”等,其窗体设计可以参照上述“还书窗体

24、”的例子进行创建。下边给出了这几个窗体的主要设计视图供大家参考:“借书窗体”主要设计视图:(如图68图71)图68 “借书窗体”设计视图图69 “借书子窗体1”设计视图图70 “借书子窗体2”设计视图 其中两个“确定”命令按钮的代码为:Private Sub Command13_Click()Me.借书子窗体1.RequeryEnd Sub Private Sub Command14_Click()Me.借书子窗体2.RequeryEnd Sub“借出”命令按钮的“单击”事件为调用宏“借书更新宏”,见图71。(关于“宏”的创建将会在后边专门介绍)图71“续借窗体”主要设计视图:(如图72图74)图72 “续借窗体”设计视图图73 “续借子窗体”设计视图其中“确定”命令按钮的代码为:Private Sub Command17_Click()Me.续借子窗体.RequeryEnd Sub“续借”命令按钮的“单击”事件为调用宏“续借更新宏”,见图74。图74“罚款窗体”主要设计视图:(如图75图77)图75 “罚款窗体”设计视图图76 “罚款子窗体”设计视图其中“确定”命令按钮的代码为:Private Sub Command19_Click()Me.罚款子窗体.Re

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论