数据库设计查询窗体训练.docx
《数据库设计查询窗体训练.docx》由会员分享,可在线阅读,更多相关《数据库设计查询窗体训练.docx(26页珍藏版)》请在冰点文库上搜索。
数据库设计查询窗体训练
一、数据库分析与设计
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)
图54
2.使用窗体设计视图创建窗体
利用设计视图创建窗体随意性很大,你可以完全按照自己的想法或用户具体的需求有针对性的进行窗体设计。
下面我们以“还书窗体”为例来对运用设计视图创建窗体的过程步骤进行说明。
第一步:
双击“在设计视图中创建窗体”,打开窗体视图设计界面。
(见图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.还书子窗体.Requery
EndSub
图62
图63
④“还书”命令按钮的“单击”事件过程是调用宏“还书更新宏”。
“还书更新宏”通过执行“还书更新”查询来实现图书还书功能。
(见图64~图65)
图64
图65
第五步:
保存“还书窗体”。
(见图66)
图66
第六步:
窗体最终效果预览与功能验证。
(见图67)
图67
其他类似窗体有“借书窗体”、“续借窗体”、“罚款窗体”、“图书查询窗体”、“会员查询窗体”、“借阅超期查询窗体”、“借阅记录查询窗体”等,其窗体设计可以参照上述“还书窗体”的例子进行创建。
下边给出了这几个窗体的主要设计视图供大家参考:
⑴.“借书窗体”主要设计视图:
(如图68~图71)
图68“借书窗体”设计视图
图69“借书子窗体1”设计视图
图70“借书子窗体2”设计视图