一、数据库分析与设计1.数据库数据结构分析通过对图书借阅管理的内容和数据分析,创建该管理系统数据库,名为“图书借阅管理系统.mdb”,主要包含的数据表有“会员表”、“会员级别表”、“图书表”、“图书类别表”、“图书借阅表”共五个表。这五个表之间存在着一定的关联关系,各表间的关系如图2所示:2.数据库逻辑结构设计“图书借阅管理系统”的各个数据库表结构设计如表1~表5所示:表1“会员表”表结构字段名数据类型字段大小格式主键必填字段会员证编号文本12是是会员级别文本8是会员姓名文本8是会员性别文本2是身份证号文本18是单位名称文本50否单位地址文本50否联系电话文本15否办证日期日期/时间短日期是有效日期日期/时间短日期否照片OLE对象否备注备注否表2“会员级别表”表结构字段名数据类型字段大小格式主键必填字段会员级别文本8是是限借册数数字整型是表3“图书表”表结构字段名数据类型字段大小格式主键必填字段图书编号文本7是是图书分类号文本30是图书类别文本30是书名文本50是作者文本50是出版社文本30是出版日期日期/时间短日期是价格数字双精度型货币是存放位置文本50是入库时间日期/时间短日期是库存总数数字整型是在库数量数字整型是借出数量数字整型是新书入库数字整型否旧书出库数字整型否借出次数数字整型是备注备注否表4“图书类别表”表结构字段名数据类型字段大小格式主键必填字段图书类别文本30是是限借天数数字整型是超期罚款/天数字双精度型货币是表5“图书借阅表”表结构字段名数据类型字段大小格式主键必填字段默认值借阅编号自动编号长整型是图书编号文本7是会员证编号文本12是借阅日期日期/时间短日期是还书日期日期/时间短日期否罚款已缴文本2是“否”备注备注否图5“图书表”结构二、各表数据:图6会员表信息图7会员级别表信息图8图书类别表信息图9图书表信息图10图书借阅表信息三、查询的设计与实现1.借阅超期查询:2.借阅历史记录查询3.今日借出查询4.今日到期查询5.今日还书查询6.续借查询7.罚款查询,主设计视图:须设立2个新字段——“超期天数”和“罚款数额”且“超期天数”字段的约束条件为“0”,另外“罚款缴纳”字段的约束条件为“否”,表示已欠费且未缴纳过罚款的会员才会被列出,未欠费或已缴纳过的会员不会再被列出。下边给出这两个新字段的数学表达式:(1)超期天数:[还书日期]-[借阅日期]-[限借天数];(2)罚款数额:([还书日期]-[借阅日期]-[限借天数])*[超期罚款/天]。(见图26)图26四、窗体的设计与实现窗体是Access2003数据库系统的一个重要对象。前面介绍的浏览记录、显示查询结果等都是在“数据表”视图中所进行的操作,只能用于对表的一般维护。如果要改变表记录的显示界面,则需要通过界面窗口来添加、修改、删除记录或改变应用程序控制流程,这就需要数据库的一个重要组件——窗体。窗体是用户与数据之间的主要窗口,使用窗体可以对数据库进行查询、修改、添加和打印等操作,而且可以灵活的设计窗体的布局。窗体按其功能可以分为数据窗体、流程控制面板窗体和交互窗体。(1)数据窗体:主要用来显示、浏览、添加、修改、删除表或查询中的记录。(如图38)图38(2)流程控制面板窗体:主要用来控制应用程序的运行流程。(如图39)在Access2003数据库中,窗体有设计视图、窗体视图、数据表视图、数据透视表视图和数据透视图视图5种视图,它们之间可以通过工具栏“视图”按钮进行切换。(见下图)我们将主要介绍使用设计视图创建窗体的方法。使用窗体的设计视图来创建、修改和美化窗体,窗体的设计视图一般由窗体页眉/页脚、页面页眉/页脚和主体5部分组成。一般情况下,窗体的页眉/页脚很少用到,而主体是窗体的核心,通过在主体中添加控件可以实现对数据的管理功能。1.使用窗体向导创建窗体使用“窗体向导”可以创建使用“自动创建窗体”(“自动创建窗体”所创建的窗体较粗糙,一般在用户对窗体效果要求不高时使用)所创建的5种类型的窗体,不同之处在于窗体中的数据可以来源于一个或多个表与查询。在使用“窗体向导”创建窗体时,可以重新设置字段的排列顺序。下面我们以创建“会员基本信息管理窗体”为例说明一下利用“窗体向导”来创建窗体的过程。第一步:双击“使用向导创建窗体”,打开窗体向导设计界面。(见图41)图41第二步:在“表/查询”栏中选择“表:会员表”项,并将其中要用到的字段全部添加到“选定的字段”中。(见图42)图42第三步:选择窗体布局。Access中有“纵栏表”、“表格”、“数据表”、“两端对齐”、“数据透视表”和“数据透视图”6种可供选择的布局类型,在这里我们以“两端对齐”为例。(见图43)图43第四步:选择窗体样式。Access中有“国际”、“宣纸”、“工业”、“标准”、“水墨画”和“砂岩”、“混合”、“石头”、“蓝图”和“远征”10种默认的可供选择的布局类型,在这里我们以“标准”为例。(图44)图44第五步:确定窗体的标题。这一步除了指定窗体标题外,我们还可以选择在向导设置完成后我们是要“打开窗体查看或输入信息”还是“修改窗体设计”。由于一般情况下通过向导创建的窗体不可能尽善尽美,有很多地方需要做适当的添加和修改,所以我们通常都选择“修改窗体设计”项并完成创建。(见图45)图45第六步:在“会员基本信息管理窗体”的设计视图中对窗体的大小、各个字段的位置和顺序进行调整,并添加“标签”——“会员基本信息”和8个命令按钮——“转至上一条记录”、“转至最后一条记录”、“添加记录”、“保存记录”等。(见图46)图46说到控件,Access的窗体设计很大程度表现在窗体控件的使用上。控件是窗体中用于显示数据、执行操作命令或修饰窗体的一种对象。在窗体设计视图窗口中,单击工具栏上的“工具箱”按钮,屏幕出现控件“工具箱”工具栏。工具箱中包括各种控件按钮,如标签、文本框、选项组、复选框、列表框、组合框、绑定对象框、未绑定对象框、选项按钮、命令按钮、切换按钮、分页符、选项卡控件、子窗体/子报表、矩形、直线、图像等。下面以“转至下一条记录”命令按钮的添加为例来简单说明一下窗体控件的使用。(1)单击“工具箱”中的“命令按钮”,然后将鼠标移至窗体设计视图界面中要添加该命令按钮的地方单击鼠标左键进行命令按钮的添加。(如图47)图47(2)在弹出的“命令按钮向导”窗口中选择该按钮所要执行的命令或其该具备的功能。(如图48)图48(3)选择按钮的显示类型。Access支持两种显示方式:“文本”型和“图片”型。我们以“图片”型为例进行说明。(如图49)图49(4)为命令按钮命名。(如图50)图50第七步:窗体最终效果预览与功能验证。(如图51)图51可用同样方法创建“会员级别设置窗体”、“图书基本信息管理窗体”、“图书类别设置窗体”等窗体。下边列出上述几个窗体的主要设计视图:⑴.“会员级别设置窗体”设计视图:(如图52)图52⑵.“图书基本信息管理窗体”设计视图:(如图53)图53⑶.“图书类别设置窗体”设计视图:(如图54)图542.使用窗体设计视图创建窗体利用设计视图创建窗体随意性很大,你可以完全按照自己的想法或用户具体的需求有针对性的进行窗体设计。下面我们以“还书窗体”为例来对运用设计视图创建窗体的过程步骤进行说明。第一步:双击“在设计视图中创建窗体”,打开窗体视图设计界面。(见图55)图55第二步:调整窗体“主体”大小到所需的值。(见图56)图56第三步:添加所需的窗体控件。(见图57~图58)①标签——“还书”标签(Label0);②文本框——“会员证编号”文本框(Text11)和“图书编号”文本框(Text12);③命令按钮——“确定”按钮(Command11)和“还书”按钮(Command12);④子窗体——“还书子窗体”窗体(Child15)。图57图58其中“还书子窗体”窗体只是对“还书查询”查询(已在前边查询的设计与实现部分介绍过)的窗体化,即“还书子窗体”的记录源是“还书查询”。“还书子窗体”的主要设计视图如图59。图59第四步:设置各控件的数据连接或事件过程。(见图60~图65)①“子窗体”控件的数据源对象为“还书子窗体”。(见图60)图60②“还书子窗体”的数据记录源为“还书查询”。(见图61)图61③“确定”命令按钮的“单击”事件过程为一组代码(见图62~图63),其功能为调用“还书”查询中与窗体控件“会员证编号”文本框和“图书编号”文本框中所输入号码相符的号码所具有的相关数据信息。“确定”命令按钮(Command11)代码:PrivateSubCommand11_Click()Me.还书子窗体.RequeryEndSub图62图63④“还书”命令按钮的“单击”事件过程是调用宏“还书更新宏”。“还书更新宏”通过执行“还书更新”查询来实现图书还书功能。(见图64~图65)图64图65第五步:保存“还书窗体”。(见图66)图66第六步:窗体最终效果预览与功能验证。(见图67)图67其他类似窗体有“借书窗体”、“续借窗体”、“罚款窗体”、“图书查询窗体”、“会员查询窗体”、“借阅超期查询窗体”、“借阅记录查询窗体”等,其窗体设计可以参照上述“还书窗体”的例子进行创建。下边给出了这几个窗体的主要设计视图供大家参考:⑴.“借书窗体”主要设计视图:(如图68~图71)图68“借书窗体”设计视图图69“借书子窗体1”设计视图图70“借书子窗体2”设计视图