图5 “图书表”结构
图6 会员表信息
图7 会员级别表信息 图8 图书类别表信息
图9 图书表信息
图10 图书借阅表信息
三、查询的设计与实现
在本图书借阅管理系统中,要用到大量的查询功能。Access 2003提供了5种查询:选择查询、参数查询、交叉表查询、操作查询和SOL查询。
其中操作查询又包括生成表查询、更新查询、追加查询和删除查询4种查询。 (1)
生成表查询:这种查询可以根据一个或多个表中的全部或部分数据新建表。生成表查询有助于创建表以导出到其他Microsoft Access数据库或包含所有旧记录的历史表。
更新查询:这种查询可以对一个或多个表中的一个或一组记录作全局更改。使用更新查询可以更改已有表中的数据。
追加查询:追加查询将一个或多个表中的一组记录添加到一个或多个表的末尾。
(2) (3)
(4) 删除查询:这种查询可以从一个或多个表中删除一组记录。(使用删除查询,
通常会删除整个记录,而不只是记录中的部分字段。)
该图书借阅管理系统中主要用到了选择查询、操作查询的更新查询和追加查询,下边我们以实例主要说明一下这几种查询在本系统中的实现方法与过程。
1. 选择查询的设计与实现
分析:在实际图书馆图书借阅过程中,会员(借阅者)或者图书馆管理员经常需要对图书借阅情况进行查询,比如查看某本书是否已归还、某人是否未按期归还图书、某本书是否已到归还期或是某本书是否忘记归还了等等。为了解决上述这些问题,我们就需要设置一些相应的查询(一般都是以“选择查询”为居多)。这些查询能有效地帮我们解决这些问题。 步骤:(以“图书借阅超期查询”为例)
第一步:选择“在设计视图中创建查询”。(见图11)
图11
第二步:分别添加“会员表”、“图书表”、“图书借阅表”和“图书类别表”。(见图12)
见图12
第三步:选择“图书表”中的“图书编号”、“书名”、“作者”、“图书类别”;“会员表”中的
“会员证编号”、“会员姓名”、“会员级别”;“图书借阅表”中的“借阅日期”、“还书日期”字段,然后再设立2个新字段——“超期天数”和“应还日期”。这两个
新字段是原表中没有的,它们是以原表的部分字段为数据基础,通过数学表达式计算得出的新数据所组成的。(表达式的写入可以通过单击工具栏上的“生成器”按钮,打开“表达式生成器”对话框来完成——如图13)最后在“还书日期”字段的“条件”约束栏中写入约束条件“IS NULL”并在“超期天数”字段的“条件”约束栏中写入约束条件“>0”(此处正值为有效值,负值是无效值,因为负值说明还未超期,在该查询中无实用意义,故舍去)。(见图14)
下边给出这两个新字段的数学表达式:(1)超期天数: Date ()-[借阅日期]-[限借天数];(2)应还日期: [借阅日期]+[限借天数]。
图13
图14
第四步:保存查询。(见图15)
图15
第五步:运行该查询。(见图16)
图16
其他选择查询的设计可参照“图书借阅超期查询”的设计来进行,如“借阅历史记录查
询”、“今日借出查询”、“今日到期查询”、“今日还书查询”、“今日入库查询”、“借书查询”、
“还书查询”、“续借查询”、“罚款查询”等。下边给出上述这几个选择查询的主要设计视图供大家参考:
⑴.“借阅历史记录查询”主设计视图:(见图17)
图17
⑵.“今日借出查询”主设计视图:字段“借阅日期”须以“Date()”(当前日期)作为约束条件。(见图18)
图18
⑶.“今日到期查询”主设计视图:须通过“表达式生成器”建立新字段“应还日期”