且以“Date()”为约束条件,表达式为:应还日期: [借阅日期]+[限借天数]。(见图19)
图19
⑷.“今日还书查询”主设计视图:字段“还书日期”须以“Date()”作为约束条件。(见图20)
图20
⑸.“今日入库查询”主设计视图:字段“入库时间”须以“Date()”作为约束条件。(见图21)
图21
⑹.“借书查询”主设计视图:由于“借书查询”、“还书查询”、“续借查询”、“罚款查询”这4个选择查询是专门为“借书窗体”、“还书窗体”、“续借窗体”、“罚款窗体”的功能实现而量身打造的专用查询,故其设计上有别与上述几个一般选择查询。区别主要体现在在这些查询中要设计与相应窗体中控件的功能链接,如大家现在在图22——“借书查询1”和图23——“借书查询2”(此处将借书查询分为1和2两部分也是应借书窗体的功能要求而针对设计的)中看到的“图书编号”字段和“会员证编号”字段中的条件约束即为功能链接的一部分。例如“借书查询1”中的“图书编号”字段的条件“[Forms]![借书窗体]![Text13]”意为与“借书窗体”中的文本框“Text13”相链接,该条件其实起到了一个“指针”的作用(后边几个查询中的相似条件约束的功能与此相同,不再多作解释)。“借书查询1”中的字段“在库数量”的约束条件为“>0”,表示某本书只有在有库存的情况下才允许借出。(见图22~图23)
图22
图23
⑺.“还书查询”主设计视图:“还书日期”字段的约束条件要设置为“Is Null”,表示未还的书才会被列出。(见图24)
图24
⑻.“续借查询”主设计视图:(见图25)
图25
⑼.“罚款查询”主设计视图:须设立2个新字段——“超期天数”和“罚款数额”且“超期天数”字段的约束条件为“>0”,另外“罚款缴纳”字段的约束条件为“否”,表示已欠费且未缴纳过罚款的会员才会被列出,未欠费或已缴纳过的会员不会再被列出。下边给出这两个新字段的数学表达式:(1)超期天数: [还书日期]-[借阅日期]-[限借天数];(2)罚款数额: ([还书日期]-[借阅日期]-[限借天数])*[超期罚款/天]。(见图26)
图26
2. 操作查询的设计与实现
分析:在“图书借阅管理系统”中,图书的借阅功能是该系统的核心功能,如何实现该功能便是设计该系统的核心问题。我们知道,图书在借出、归还、续借等过程发生后,数据表中的数据就应发生相应的改变(即更新),那么在系统中如何实现数据的自动更新或添加呢?答案是利用“操作查询”。 步骤:(以“借书更新”和“借书追加”为例) 第一步:在设计视图中创建查询,并添加“会员表”、“图书表”和“图书借阅表”。 第二步:将“图书表”中的“图书编号”、“借出次数”、“借出数量”、“在库数量”字段;“会
员表”中的“会员证编号”字段;“图书借阅表”中的“还书日期”字段添加进来。
并将查询类型设置为“更新查询”(设置方法:在选中查询窗口的情况下在“查询设计菜单栏”中单击“查询类型”进行更改,或者在查询窗口中的表添加栏中的空白处单击鼠标右键,在弹出的菜单中选择查询类型)。(见图27~图28)
图27