access简单数据库设计(Access数据库综合开发实例)

Access数据库综合开发实例 内容提要:本文按照数据库规范设计的方法,考虑数据库及其应用系统开发的全过程,以一个图书管理系统数据库作为开发实例,将数据库的设计过程分为需求分析、概念设计、逻辑设计、物理设计直至详细设计的各个阶段,并且详细讨论了使用Access 2003数据库作为数据库开发工具,对一个实用数据库系统进行开发的各个阶段的设计目标和具体的设计方法 关键字:Access数据库、图书管理系统 引言:本文通过一个图书管理系统数据库的开发例子,介绍综合应用Access 2003的知识和功能,详细阐述了数据库系统的生成过程,使读者对Access 2003的知识和方法有一个系统而全面的巩固和提高 正文: 1 初期规划 进行数据库开发必须准确了解用户的需求,这就是所谓的需求分析这一步是数据库设计过程的基础,它包括数据和处理两方面作好了需求分析,可以使数据库的开发高效且合乎设计标准反之,就有可能要从头做起,重新设计数据库 图书管理系统数据库是为了满足图书馆管理图书的工作而设计的,它应该包括书籍的入库,书籍信息查询功能,读者借阅情况查询这些基本功能 完成需求分析后,再对数据库进行总体规划 2 概念设计 一个简单的图书管理数据库,它的实体部分包括“图书”和“读者”两方面其中实体“图书”的属性又包括图书编号、分类号、书号、作者、出版社、定价、库存量、出版日期、关键字、入库时间,如图1所示 图1 实体“读者”的属性包括借书证号、姓名、单位、借书数量,如图2所示 图2 ※ 1 ※ 实体间的联系可用E-R图表示出来,并画出图书管理系统的数据模型,如图3所示 M N 图3 3 逻辑设计 3.1 关系模式 下一步要做的工作是把这个E-R图转换为关系模式因为每本书在同一个时间段内只能被一个读者借阅,而每个读者可以借多本书为了说明联系,在图书实体中加上借书证号的属性,得到下面的关系模型: 图书实体对应的关系模式为: 图书(图书编号、分类号、书号、作者、出版社、定价、库存量、书号、关键字、入库时间) 读者实体对应的关系模式为: 读者(借书证号、姓名、性别、单位、借书数量) 它们之间的联系“借书”的关系模式为: 借书(借书证号、图书编号、借出日期、应还日期、超期天数) 将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换遵循的原则如下: (1)一个实体型转换为一个关系模式实体的属性就是关系的属性实体的码就是关系的码 (2)一个m:n联系转换为一个关系模式与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合 (3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码 (4)三个或三个以上实体间的一个多元联系转换为一个关系模式和该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性而关系的码为各实体的码的组合 (5)具有相同码的关系模式可以合并 ※ 2 ※ ※ 3 ※ 3.2 业务规则 设计关系模式时还要注意图书管理系统数据库要满足的约束条件,也就是数据库应该满足的业务规则: (1)一个借书证不能借阅超过6本书籍 (2)读者必须在60天内归还书籍 (3)如果一个读者有超期的书,他将不能借更多的书 4 数据库物理设计 为了确定表的字段,首先需要了解表中的属性信息,同时把字段看作是表的属性而想要更好地确定表字段,了解以下几点是很有帮助的: (1)每个字段直接和表的主题相关必须确保一个表中的每一个字段直接描述该表的主题 (2)收集所需要的全部信息确保所需的信息都设计在表中或通过计算可以得到 (3)使用主关键字段设计数据库的时候采用主关键字,即所谓的主键用来区分表中的每一条记录,作为该记录惟一的标记,从而有效地控制对存储数据中每一行的访问 主键的设计原则: (1)尽量避免使用复合键 (2)所有的键都必须惟一 (3)为关联字段创建外键 (4)外键总是与惟一的键字段关联 根据上面的分析结果,可以对存储数据库的数据结构定义如下: 基本表:[Book],如表1所示 表1 基本表:[Book] 字段 数据类型 长度 格式 约束 图书编号 文本 30 主键 分类号 文本 30 书号 文本 30 书名 文本 150 作者 文本 20 出版社 文本 30 定价 货币 Currency 库存量 数字( 整型) Integer 关键词 文本 100 入库时间 日期/时间 日期 基本表:[会员表],如表2所示 表2 基本表:[会员表] 字段 类型 长度 格式 约束 借书证号 文本 30 主键 姓名 文本 150 性别 文本 30 单位 文本 200 借书数量 数字(整型) Integer 基本表:[借书情况表],如表3所示 表3 基本表:[借书情况表] 字段 类型 长度 格式 约束 借书证号 文本 30 主键 图书编号 文本 30 主键 借出日期 日期/时间 日期 应还日期 日期/时间 日期 超期天数 数字(整型)20 Integer 5 详细设计 这个阶段是使用具体的数据库产品进行图书馆数据库的详细设计的阶段,考虑到这个数据库的结构不是很复杂,选用Access 2003是符合要求的 5.1 创建数据库 操作步骤如下: (1)打开Access 2003 (2)选择菜单栏的,在下拉菜单中选择,或者单击工具栏中的按钮,如图4所示 图4 (3)单击“新建”后,右边会显示“新建文件”任务窗格,如图5所示 图5 (4)单击任务窗格中的,弹出保存文件对话框,如图6所示选择文件的保存路径,并输入数据库的名称“图书管理系统.mdb”,然后单击右下角的按钮 (5)弹出“图书管理系统.mdb”的数据库操作对话框(如图7所示) ,现在可以进行创建表等操作了 图6 图7 ※ 4 ※ 5.2 设计数据库的表 操作步骤如下: (1)用鼠标双击数据库中的,打开数据库表的设计视图 (2)在栏中写入记录各个字段的名称,如“图书编号” (3)在栏中选择各个字段相应的数据类型 (4)在栏中输入特定字段的注析这不是必须的,但推荐用户输入适当的注释,这样将会大大方便日后的表维护工作 不断重复上述四个步骤,直到所有的字段都已经添加完毕,就会得到如图8所示的表 图8 (5)为新表指定关键字 在表设计视图中,让光标停留在“图书编号”行,这时行前面出现一个标记用鼠标单击标记,这时整个字段行都将变成黑色单击工具栏中的按钮,即可把该行设为主关键字,如图9所示 图9 (6)单击工具栏上的按钮,在弹出的对话框中输入表名“图书”,如图10所示 图10 (7)单击“确定”,这样,一个基本表“图书”就完成了,如图11所示 图11 ※ 5 ※ (8)用同样的方法创建另一个基本表“读者”,如图12所示 图12 (9)最后创建基本表“借书” 和创建上两个表的不同之处在于关键字创建的时候先单击“借书证号”字段中的方格,使该行被选中,然后把鼠标移至标记上面,按住鼠标左键向下平移,同时选中“图书编号”字段然后单击工具栏中的按钮,即可把这两行同时设为该表的主关键字,如图13所示 图13 (10)为基本表“读者”添加表索引单击工具栏上的按钮,就会弹出如图14所示的对话框,这时是用添加前默认的主键做索引 图14 (11)在基本表“读者”中选择要充当索引的字段,然后把它的“索引”属性设为“有”,并指定是否允许有重复值,如图15所示 图15 ※ 6 ※ (12)再单击工具栏上的按钮,就会弹出如图16所示的对话框,可以看出多了一个索引“姓名” 图16 至此,基本表创建完毕,这时的数据库视图如图17所示 图17 5.3 创建表间关系 操作步骤如下: (1)打开表所在的设计视图,单击工具栏中的按钮,弹出“显示表”对话框和“关系”窗口,如图18所示 图18 (2)在“显示表”对话框中,选择要建立关系的表——“图书”表、“读者”表和“借书”表,单击“添加”按钮将两个表添加到关系窗口中,然后单击“关闭”按钮,关闭对话框,结果如图19所示 图19 ※ 7 ※ (3)用鼠标从“图书”表中选定“图书编号”字段,按住鼠标左键将其拖动到“借书”表中的“图书编号”字段,然后放开鼠标左键,会出现“编辑关系”对话框,如图20所示 图20 (4)单击“创建”按钮,两个表间就建立了一个联系,如图21所示 图21 (5)用同样的方法创建“读者”表和“借书”表的联系,如图22所示 图22 5.4 创建查询 1. 使用简单查询向导创建查询 这种方法可以检索一个或多个表中的数据如果只检索一个表中的数据,这种查询是单表查询;如果检索多个表中的数据,则这种查询是多表查询 下面用简单查询向导来建立一个基于一个表的选择查询,操作步骤如下: (1)打开要建立查询的数据库文件,即 (2)在“对象”选项组中选择,然后单击“新建”按钮,打开“新建查询”对话框 (3)在“新建查询”对话框中,单击“简单查询向导”,然后单击按钮,打开如图23所示的“简单查询向导”对话框;在对话框中的下拉列表框中选择选项 图23 ※ 8 ※ (4)然后单击按钮选择所有的字段,单击按钮,打开下一个对话框,如图24所示 图24 (5)在此对话框中,将选择查询分为明细查询和汇总查询两类明细查询就是普通的选择查询,汇总查询是在普通的选择查询的基础上对一些字段进行统计处理本例中,选中单选按钮,然后单击按钮,打开下一个对话框,如图25所示 图25 (6)在文本框中输入查询的名称(默认名称为),此名称将在建立查询后的窗口标题栏中显示;接着在对话框中选择单选按钮;最后单击按钮,即完成选择查询的设计Access建立了这个查询,并显示查询结果,即打开选择查询对话框,如图26所示 图26 (7)在窗口中选择对象,在其列表框中就显示了刚才新建的查询,如图27所示 图27 ※ 9 ※ 2. 在设计视图中创建借书查询 操作步骤如下: (1)打开要建立查询的数据库文件,即选择“对象”选项组中的,然后在其右侧的列表框中双击选项,出现如图28所示的“显示表”对话框和查询设计视图 图28 (2)在“显示表”对话框中,选择要建立关系的“图书”表和“借书”表,单击“添加”按钮将两个表添加到关系窗口中,然后单击“关闭”按钮关闭对话框这时的查询设计视图如图29所示 图29 (3)从字段列表拖动字段名,可将字段添加到查询设计网格中这里选择的字段包括:图书编号、书名、作者、库存量、借书证号、借出日期、应还日期、超期天数 (4)使查询的结果按还书日期升序排列,以便知道读者想借的书如果现在没有,大概在什么时候会在图书馆里找到,如图30所示 图30 (5)设定好查询内容后,可以关闭设计视图,这时系统会提示存盘,并要求输入查询名称,这里取名为“书籍借阅情况”注意查询的名称不能和已经有的表名称相同 (6)用同样的方法创建“读者借阅情况”查询选择的字段包括:借书证号、姓名、单位、借书数量、图书编号、书名、借出日期、应还日期、超期天数这里使用“借书证号”主键字段作升序排列,如图31所示 图31 ※ 10 ※ 3. 创建生成表查询 生成表查询就是利用现有的一个或多个表中的数据创建新表与选择查询等最大的区别在于生成表查询将查询的结果存为一张新的数据表,生成表查询可应用于以下几个方面: (1)创建用于导出到其他Microsoft Access数据库的表 (2)创建从特定时间点显示数据的报表 (3)创建表的备份副本 (4)创建包含旧记录的历史表 (5)提高基于表查询或SQL语句的窗体和报表的性能 操作步骤如下: (1)在窗口中选择选项组的对象,再双击;新建一个以“借书”表为数据来源的查询,如图32所示 图32 (2)双击字段列表中的,将“借书”表中的全部字段添加到查询设计网格的单元格中 (3)双击字段列表中的“超期天数”选项,将该字段添加到单元格中,如图33所示 图33 (4)单击“超期天数”字段栏下单元格的复选框,清除此复选框内的勾号,在单元格中输入“>0”,如图34所示选中,表示此字段将在数据视图中显示;未选中,则表示此字段作为查询的条件来查找有关的记录,但该字段不会在数据视图中显示 图34 (5)单击菜单中的,将查询的类型改为“生成表查询”,弹出“生成表”对话框,如图35所示在中可输入生成新表的名称,也可在其下拉列表框中选择名称本例输入“借书超期读者”,选中单选框,然后单击按钮 图35 ※ 11 ※ (6)这时则查询设计视图的标题栏变成了,如图36所示 图36 (7)单击工具栏上的执行按钮,更新表中的数据,出现如图37所示的对话框 (8)单击“确定”按钮生成表后,在窗口中选择对象,在其右侧可以看到新生成的表,如图38所示 图37 图38 5.5 设计窗体 1. 欢迎界面的设计 设计步骤如下: (1)打开要设计窗体的数据库文件,即 (2)在“对象”选项组中选择,在数据库窗口中双击“在设计视图中创建窗体”这时会弹出一个窗体的设计视图,如图39所示 (3)双击窗体选择器(就是标尺相交的框)以显示窗体属性对话框 (4)在窗体属性对话框中更改以下的窗体属性设置: 滚动条:两者皆无 记录选择器:否 导航按钮:否 分隔线:否 边框样式:无 属性设置结果如图40所示 图39 图40 ※ 12 ※ (5)在对话框中设置添加图片背景单击“格式”选项卡,然后单击下面“图片”或其旁边的框,以显示有三个点的按钮单击按钮打开“插入图片”对话框,并在其中选择作为背景的图像,如图41所示 图41 (6)将图片的“图片缩放模式”属性改为“拉伸” (7)这时生成的窗体如图42所示 图42 (8)使用工具箱中的标签按钮往窗体里添加三个标签控件(分别是label1、label2和label3) 标签1(label1)的属性为: 标题:Microsoft Access 2003 字体名称:宋体 字号:16 字体粗细:正常 背景样式:透明 边框样式:透明 标签2(label2)的属性为: 标题:欢迎使用 字体名称:华文彩云 字号:26 字体粗细:加粗 背景样式:透明 边框样式:透明 标签3(label3)的属性为: 标题:图书管理系统 字体名称:华文彩云 字号:36 字体粗细:正常 背景样式:透明 边框样式:透明 ※ 13 ※ (9)用工具箱中的控件按钮建立两个按钮控件Command1和Command2,如图43所示 图43 按钮控件Command1的属性为: 标题:进入 字体名称:华文中宋 字号:16 字体粗细:正常 按钮控件Command2的属性为: 标题:退出 字体名称:华文中宋 字号:16 字体粗细:正常 对齐两个按钮的方法是:先选定其中一个按钮,然后按住Shift键不放,再去选定另一个按钮,同时选定两个按钮后,单击鼠标右键,在弹出的快捷菜单中选择“对齐”菜单下的“靠上”命令 (10)在 “进入”按钮上单击鼠标右键,在弹出的快捷菜单中选择,如图44所示 图44 (11)在弹出来的对话框中选择“代码生成器”,如图45所示 图45 ※ 14 ※ (12)这样就进入了VBA的设计界面,如图46所示 图46 (13)在光标闪动的Sub过程中添加事件代码 Private Sub Command1_Click() DoCmd.OpenForm "主窗体" End Sub (14)用同样的方法为 “退出”按钮添加事件代码这段代码的功能是关闭所有窗体,并在退出前提醒是否保存 Private Sub Command1_Click() Dim intx As Integer Dim intCount As Integer intCount = Forms.Count - 1 For intx = intCount To 0 Step -1 DoCmd.Close acForm, Forms(intx).Name Next End Sub (15)添加一个Sub过程使启动界面文字具有闪动的效果首先单击窗体属性中的“事件”选项卡,将“计时器间隔”的值设为“80” (16)单击“计时器触发”旁边的框,以显示有三个点的按钮,单击按钮 (17)在弹出的VBA设计窗口中为这个事件过程添加如下代码: Private Sub Form_Timer() If Label3.FontSize < 36 Then Label3.FontSize = Label3.FontSize 2 Else Me.TimerInterval = 0 End If (18)把Label3的字体大小改为2,演示效果如下: 一开始如图47所示 图47 ※ 15 ※ 渐渐变大如图48所示 图48 适应窗体大小如图49所示 图49 欢迎界面完整的VBA代码如下: Option Compare Database Private Sub Command4_Click() On Error GoTo Err_Command4_Click Screen.PreviousControl.SetFocus DoCmd.FindNext Exit_Command4_Click: Exit Sub Err_Command4_Click: MsgBox Err.Description Resume Exit_Command4_Click End Sub Private Sub Command1_Click() DoCmd.OpenForm "主窗体" End Sub Private Sub Command2_Click() Dim intx As Integer Dim intCount As Integer intCount = Forms.Count - 1 For intx = intCount To 0 Step -1 DoCmd.Close acForm, Forms(intx).Name Next End Sub Private Sub Form_Timer() If Label3.FontSize < 36 Then Label3.FontSize = Label3.FontSize 2 Else Me.TimerInterval = 0 End If End Sub 2. 应用程序主界面的设计 在欢迎界面上单击“进入”就来到了应用程序的主界面,下面介绍主界面的制作过程 (1)打开要设计窗体的数据库文件,即 (2)在“对象”选项组中选择,在数据库窗口中双击“在设计视图中创建窗体”这时会弹出一个窗体的设计视图 (3)单击窗体左上角的方框,使其中心变黑,这表示选中对象窗体单击鼠标右键,从弹出的※ 16 ※ 快捷菜单中选择“属性”选项,如图50所示 图50 (4)将窗体的属性设置如下: 标题:图书管理系统 滚动条:两者皆无 记录选择器:否 导航按钮:否 分隔线:否 边框样式:对话框边框 图片缩放模式:拉伸 (5)在对话框中设置添加图片背景单击“格式”选项卡,然后单击下边“图片”或其旁边的框,以显示有三个点的按钮单击按钮打开“插入图片”对话框,在其中选择作为背景的图像 (6)这时生成的窗体如图51所示 图51 (7)用工具箱中的控件按钮建立四个按钮控件Command0、Command1、Comand2和Command3 按钮控件Command0的属性为: 标题:图书入库 字体名称:宋体 字号:9 字体粗细:正常 按钮控件Command1的属性为: 标题:借还书登记 字体名称:宋体 字号:9 字体粗细:正常 按钮控件Command2的属性为: 标题:书籍信息查询 字体名称:宋体 字号:9 字体粗细:正常 按钮控件Command3的属性为: 标题:读者信息查询 字体名称:宋体 ※ 17 ※ 字号:9 字体粗细:正常 修改后的窗体如图52所示 (8)为避免界面单调,在其上创建一些图标先单击控件工具箱里的图像控件按钮,然后单击窗体中要放置图标的地方,在对话框中挑选图片文件,如图53所示 图52 图53 (9)设置图标的属性如下: 图片对齐方式:中心 宽度:0.7cm 高度:0.7cm 特殊效果:凸出 用同样的方法添加其他三个图标,并调整好它们的位置,如图54所示 (10)在 “图书入库”按钮上单击鼠标右键,在弹出的快捷菜单中选择,如图55所示 图54 图55 (11)在弹出的对话框中选择“宏生成器”,又会弹出如图56所示对话框和宏视图 图56 (12)在对话框中输入宏的名称“图书入库”,单击“确定”按钮然后在宏视图中单击列中的单元格,在其下拉列表框中选择选项,使鼠标在宏运行时变成沙漏状态 (13)将光标移到下一单元格,在“操作”列中选择OpenForm选项,在“注释”列中输入此操作的目的:打开“读者1”窗体;单击文本框,打开一个下拉列表框,如图57所示,其中列出了数据库中所有现存的窗体,选择“读者1”选项 (14)在下拉列表框中列出了打开窗体的六种视图方式:窗体、设计、数据表、打印预览、数据透视表和数据透视图选择 ※ 18 ※ (15)在的下拉列表框中可以设定用户的使用权限这里选择 (16)是用来定义窗体的显示方式,有“普通”、“隐藏” 、“图标”和“对话框”四种显示方式,一般为普通方式,其他三种方式可以达到特殊效果以隐藏方式打开窗体,则窗体被打开时用户在屏幕上无法看到它;以“图标”方式打开窗体时则以最小化的方式显示窗体;以对话框方式打开的窗体,其大小是不可调整的选择“普通”方式,如图58所示 图57 图58 (17)将光标移到第三行,设置第三个操作选择Beep宏操作,并发出嘟嘟声则表示窗体已经打开;将光标移到下一行,选择Maximize宏操作, 此操作的效果是将窗体最大化,充满整个Access窗口 其他按钮也用同样的方法为它们建立宏操作,这里不再一一赘述,仅将它们的操作列出 (1)“图书入库”按钮 事件——单击:图书入库(宏) 宏设置操作: ①hourglass ②OpenForm 窗体名称:读者1 视图:窗体 数据模式:编辑 窗口模式:普通 ③ Beep ④Maximize (2)“借还书登记”按钮 事件——单击:借还书登记(宏) 宏设置操作: ①hourglass ②OpenForm 窗体名称:借书1 视图:窗体 数据模式:编辑 窗口模式:普通 ③Beep ④Maximize (3)“书籍信息查询”按钮 事件——单击:书籍信息查询(宏) 宏设置操作: ①hourglass ②OpenForm 窗体名称:书籍信息查询 视图:窗体 ※ 19 ※ 数据模式:只读 窗口模式:普通 ③Beep ④Maximize (4)“读者信息查询”按钮 事件——单击:读者信息查询(宏) 宏设置操作: ①hourglass ②OpenForm 窗体名称:读者信息查询 视图:窗体 数据模式:只读 窗口模式:普通 ③Beep ④Maximize 3. 设计读者窗体 (1)打开要设计窗体的数据库文件,即 (2)在“对象”选项组中选择,在数据库窗口中双击“使用向导创建窗体”这时会弹出一个“窗体向导”对话框,如图59所示 (3)进入“窗体向导”对话框后,在“表/查询”下拉列表框中选择“表:读者”,于是下方的“可用字段”中将列出此表中的所有字段单击“”按钮,将所有字段都加入窗体中,如图60所示然后单击“下一步”按钮 图59 图60 (4)在随后的“窗体向导”对话框中选择“表格”布局,如图61所示 (5)单击“下一步”按钮,在接着的“窗体向导”对话框中为窗体选择“远征”背景选项,然后单击“下一步”按钮 (6)在随后弹出的“窗体向导”对话框中输入创建窗体的名称“读者1”,单击“完成”按钮,如图62所示 图61 图62 ※ 20 ※ (7)生成的窗体如图63所示 图63 4. 设计图书窗体 (1)打开要设计窗体的数据库文件,即 (2)在“对象”选项组中选择,在数据库窗口中双击“使用向导创建窗体”这时会弹出一个“窗体向导”对话框,如图64所示 (3)进入“窗体向导”对话框后,在“表/查询”下拉列表框中选择“表:图书”,于是下方的“可用字段”中将列出此表中的所有字段单击“”按钮,将所有字段都加入窗体中,如图65所示然后单击“下一步”按钮 图64 图65 (4)在随后的“窗体向导”对话框中选择“表格”布局,如图66所示 (5)单击“下一步”按钮,在接着的“窗体向导”对话框中为窗体选择“标准”背景选项,然后单击“下一步” (6)在“窗体向导”对话框中输入创建窗体的名称“图书1”,单击“完成”按钮,如图67所示 图66 图67 (7)生成的窗体如图68所示 图68 ※ 21 ※ 5. 读者信息查询窗体的创建 有了上面的窗体设计做基础,下面继续设计要用到的窗体操作步骤如下: (1)打开要设计窗体的数据库文件,即 (2)在“对象”选项组中选择,在数据库窗口中双击“使用向导创建窗体”这时会弹出一个“窗体向导”对话框,如图69所示 (3)进入“窗体向导”对话框后,在“表/查询”下拉列表框中选择“查询:读者借阅情况”,于是下方的“可用字段”中将列出此表中的所有字段单击“”按钮,将所有字段都加入窗体中,如图70所示然后单击“下一步”按钮 图69 图70 (4)在随后的“窗体向导”对话框中选择查看数据的方式为“通过读者”,在下方选定,如图71所示 (5)在随后弹出的“窗体向导”对话框中为子窗体选择“数据表”布局,如图72所示 图71 图72 (6)单击“下一步”按钮,在接着的“窗体向导”对话框中为窗体选择“国际”背景选项,如图73所示然后单击“下一步”按钮 (7)在“窗体向导”对话框中输入创建的窗体的名称“读者信息查询”,子窗体的名称“读者信息查询 子窗体” ,单击“完成”按钮,如图74所示 图73 图74 ※ 22 ※ (8)生成的窗体如图75所示 图75 (9)用工具箱中的控件按钮建立一个按钮控件Command1 设置按钮控件Command1的属性为: 标题:详细信息 字体名称:宋体 字号:10 字体粗细:加粗 (10)得到如图76所示的“详细信息”按钮在“详细信息”按钮上单击鼠标右键,在弹出的快捷菜单中选择 图76 (11)在弹出来的对话框中选择“代码生成器”,如图77所示 图77 (12)在弹出的VBA设计窗口中添加下列代码,如图78所示 图78 ※ 23 ※ (13)这段代码的功能是打开“读者1”窗体并将它最大化,执行代码结果如图79所示 图79 6. 书籍信息查询窗体的创建 操作步骤如下: (1)打开要设计窗体的数据库文件,即 (2)在“对象”选项组中选择,在数据库窗口中双击“使用向导创建窗体”这时会弹出一个“窗体向导”对话框 (3)进入“窗体向导”对话框后,在“表/查询”下拉列表框中选择“查询:书籍借阅情况”,如图80所示于是下方的“可用字段”中将列出此表中的所有字段单击“”按钮,将所有字段都加入窗体中,如图81所示然后单击“下一步”按钮 图80 图81 (4)在随后的“窗体向导”对话框中选择查看数据的方式为“通过图书”,并在下方选定,如图82所示 (5)在随后的“窗体向导”对话框中为子窗体选择“表格”布局,如图83所示 图82 图83 (6)单击“下一步”按钮,在接着的“窗体向导”对话框中为窗体选择“国际”背景选项,如图84所示然后单击“下一步”按钮 (7)在“窗体向导”对话框中输入创建的窗体的名称“书籍信息查询”,子窗体的名称“书籍※ 24 ※ 信息查询 子窗体” ,单击“完成”按钮,如图85所示 图84 图85 (8)生成的窗体如图86所示 图86 (9)用工具箱中的控件按钮建立一个按钮控件Command1 设置按钮控件Command1的属性为: 标题:详细信息 字体名称:宋体 字号:10 字体粗细:加粗 (10)设置完成后得到如图87所示的“详细信息”按钮在“详细信息”按钮上单击鼠标右键,在弹出的快捷菜单中选择 图87 (11)在弹出的对话框中选择“代码生成器” (12)在弹出的VBA设计窗口中添加下列代码,如图88所示 图88 ※ 25 ※ (13)这段代码的功能是打开“图书1”窗体并将它最大化,执行代码结果如图89所示 图89 5.6 设计报表 1. 设计图书查询报表 操作步骤如下: (1)打开要设计窗体的数据库文件,即 (2)在“对象”选项组中选择,在数据库窗口中双击这时会弹出一个“报表向导”对话框 (3)进入“窗体向导”对话框后,在“表/查询”下拉列表框中选择“表:读者”,于是下方的“可用字段”中将列出此表中的所有字段单击“”按钮,将所有字段都加入窗体中,然后单击“下一步”按钮,如图90所示 图90 (4)不分组,按单击“下一步”按钮,如图91所示 图91 ※ 26 ※ (5)设置以借书证号为“升序”排列,如图92所示然后单击“下一步”按钮 (6)选择“表格”布局,方向为“纵向”,并选择“调整字段宽度使所有字段都能显示在同一页中” ,如图93所示 图92 图93 (7)单击,为报表选择“组织”样式,如图94所示,单击“下一步”按钮 (8)在文本框中输入标题“读者报表”,然后单击,如图95所示 图94 图95 (9)预览刚刚设计好的报表,效果如图96所示 图96 2. 设计书籍信息查询报表 (1)打开数据库之后,在选项组中选择对象,然后单击按钮,弹出如图97所示的对话框 图97 ※ 27 ※ (2)在对话框中选择,然后在下面的下拉列表框中选择报表的数据源,如图98所示 图98 (3)选择好“读者借阅情况”数据源之后单击“确定”按钮把字段列表中的字段拖动至报表视图中的合适位置,如图99所示 在拖动字段的时候,Access 2003会自动创建一个文本框,用于显示数据,而在文本框之前会自动添加一个标签控件,标签控件的标题自动以字段名称命名 用户也可以单击标签控件,这时光标在标签控件之内将变成形状,用户可以根据实际情况自行修改 重复这个步骤,直至所需的字段全部已经加入到视图窗口中 (4)用鼠标左键画出一个矩形,把所需要使用同一种对齐方式的字段全部选中然后在这个矩形区域内单击鼠标右键,在弹出的快捷菜单中选择菜单下的命令,如图100所示 图99 图100 (5)在和中添加一条直线,以突出报表的主体具体方法是,在工具箱中单击直线按钮,然后添加至和处,然后双击该直线,弹出如图101所示的属性对话框在属性内,把数值改为“25”cm 图101 (6)添加报表标题至处用户在视图窗口内单击右键,在弹出的快捷菜单中选择※ 28 ※ ,即可弹出报表页眉和报表页脚在里添加一个标签控件,输入“书籍信息查询结果”,如图102所示 图102 (7)将报表的页码插入到报表的页眉或者页脚单击菜单中的菜单项,弹出如图103所示的对话框在对话框里选择的页码格式位置定在,格式选择“中” 图103 (8)设置好报表后,可以预览报表但预览之前要保存报表直接单击报表设计视图右上角的按钮,会弹出如图104所示的对话框 图104 单击按钮,就会弹出如图105所示的对话框 填好报表名称“书籍信息查询结果”之后,单击按钮,即完成报表的保存 (9)在数据库中选中刚刚设计好的报表,单击按钮,就能弹出如图106所示设计好的报表 图105 图106 3. 把报表添加到窗体中 (1)打开的设计视图,如图107所示 (2)单击工具箱上的控件按钮,然后在准备建立报表预览按钮的地方单击,系统弹出※ 29 ※ 对话框,如图108所示 图107 图108 (3)在“类别”列表框中选择“报表操作”,在“操作”列表框中选择“预览报表”,单击“下一步”按钮,如图109所示 (4)选择“书籍信息查询结果”选项单击“下一步”按钮,在弹出的对话框中选择默认的图片,如图110所示然后单击“下一步”按钮 图109 图110 (5)在弹出的对话框中输入按钮名称“书籍查询报表预览”,如图111所示 图111 (6)这样就生成了“书籍查询报表预览”按钮,如图112所示 图112 (7)单击工具箱上的控件按钮,然后在准备建立报表预览按钮的地方单击,系统弹出※ 30 ※ 对话框,如图113所示 (8)在“类别”列表框中选择“报表操作”,在“操作”列表框中选择“打印报表”,单击“下一步”按钮,如图114所示 图113 图114 (9)选择“书籍信息查询结果”报表单击“下一步”,在弹出的对话框中选择默认的图片,如图115所示 然后再单击“下一步”按钮 (10)在弹出的对话框中输入按钮名称“书籍查询报表打印”,如图116所示 图115 图116 (11)这样就生成了“书籍查询报表打印”按钮,如图117所示 图117 (12)切换到窗体视图,如图118所示 图118 ※ 31 ※ (13)单击按钮,就会弹出预览窗口,如图119所示 图119 5.7 设计数据访问页 (1)在“图书管理系统”数据库窗口中,选择“对象”选项组中的对象,单击数据库工具栏上的按钮,弹出“新建数据访问页”对话框,如图120所示 图120 (2)选择对话框中的“数据页向导”项,然后单击按钮,弹出“数据页向导”的第一个对话框,如图121所示 图121 (3)在“表/查询”下拉列表框中选择“查询:书籍借阅情况”,于是下方的“可用字段”列表框中将列出此表中的所有字段单击“”按钮,将所有字段都加入窗体中,然后单击“下一步”按钮,如图122所示 (4)单击按钮,弹出“数据页向导”的第二个对话框,如图123所示 图122 图123 ※ 32 ※ (5)在第二个对话框中,需要确定分组级别,并且一旦设置了分组级别,则生成的数据页就是只读的在这里按“书名”分组,在左侧的列表框中单击“书名”字段,然后单击按钮,即按字段“书名”进行分组 (6)单击按钮,弹出“数据页向导”的第三个对话框,设置按“借出日期”升序排列,如图124所示 图124 (7)单击按钮,弹出“数据页向导”的第四个对话框,如图125所示 (8)在这一个对话框中,提示用户指定数据页的标题,如输入“书籍借阅情况”如不指定,则Access 2003系统将给出一个缺省的标题选择“打开数据页”,其余不选择,最后单击按钮,系统开始创建“书籍借阅情况页”然后,屏幕上出现书籍借阅情况页视图,如图126所示 图125 图126 5.8 设计自动启动宏autoexec 如果要实现当启动图书管理数据库时出现欢迎界面,就要设计一个叫做aotoexec的宏,Access会在启动一个数据库时先检查数据库中是否存在名为autoexec的宏如果有,Access会首先执行这个宏 设计步骤如下: (1)打开要设计窗体的数据库文件,即 (2)在“对象”选项组中选择,在数据库窗口单击这时会弹出宏的设计视图 (3)在宏设计视图的“操作”列中选择“OpenForm”,在“窗体名称”下拉列表框中选择“欢迎界面” ,如图127所示 (4)保存并退出,得到如图128所示的宏 图127 图128 ※ 33 ※,我来为大家科普一下关于access简单数据库设计?以下内容希望对你有帮助!

access简单数据库设计(Access数据库综合开发实例)

access简单数据库设计

Access数据库综合开发实例 内容提要:本文按照数据库规范设计的方法,考虑数据库及其应用系统开发的全过程,以一个图书管理系统数据库作为开发实例,将数据库的设计过程分为需求分析、概念设计、逻辑设计、物理设计直至详细设计的各个阶段,并且详细讨论了使用Access 2003数据库作为数据库开发工具,对一个实用数据库系统进行开发的各个阶段的设计目标和具体的设计方法。 关键字:Access数据库、图书管理系统 引言:本文通过一个图书管理系统数据库的开发例子,介绍综合应用Access 2003的知识和功能,详细阐述了数据库系统的生成过程,使读者对Access 2003的知识和方法有一个系统而全面的巩固和提高。 正文: 1 初期规划 进行数据库开发必须准确了解用户的需求,这就是所谓的需求分析。这一步是数据库设计过程的基础,它包括数据和处理两方面。作好了需求分析,可以使数据库的开发高效且合乎设计标准。反之,就有可能要从头做起,重新设计数据库。 图书管理系统数据库是为了满足图书馆管理图书的工作而设计的,它应该包括书籍的入库,书籍信息查询功能,读者借阅情况查询这些基本功能。 完成需求分析后,再对数据库进行总体规划。 2 概念设计 一个简单的图书管理数据库,它的实体部分包括“图书”和“读者”两方面。其中实体“图书”的属性又包括图书编号、分类号、书号、作者、出版社、定价、库存量、出版日期、关键字、入库时间,如图1所示。 图1 实体“读者”的属性包括借书证号、姓名、单位、借书数量,如图2所示。 图2 ※ 1 ※ 实体间的联系可用E-R图表示出来,并画出图书管理系统的数据模型,如图3所示。 M N 图3 3 逻辑设计 3.1 关系模式 下一步要做的工作是把这个E-R图转换为关系模式。因为每本书在同一个时间段内只能被一个读者借阅,而每个读者可以借多本书。为了说明联系,在图书实体中加上借书证号的属性,得到下面的关系模型: 图书实体对应的关系模式为: 图书(图书编号、分类号、书号、作者、出版社、定价、库存量、书号、关键字、入库时间) 读者实体对应的关系模式为: 读者(借书证号、姓名、性别、单位、借书数量) 它们之间的联系“借书”的关系模式为: 借书(借书证号、图书编号、借出日期、应还日期、超期天数) 将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换遵循的原则如下: (1)一个实体型转换为一个关系模式。实体的属性就是关系的属性。实体的码就是关系的码。 (2)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。 (3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 (4)三个或三个以上实体间的一个多元联系转换为一个关系模式。和该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体的码的组合。 (5)具有相同码的关系模式可以合并。 ※ 2 ※ ※ 3 ※ 3.2 业务规则 设计关系模式时还要注意图书管理系统数据库要满足的约束条件,也就是数据库应该满足的业务规则: (1)一个借书证不能借阅超过6本书籍。 (2)读者必须在60天内归还书籍。 (3)如果一个读者有超期的书,他将不能借更多的书。 4 数据库物理设计 为了确定表的字段,首先需要了解表中的属性信息,同时把字段看作是表的属性。而想要更好地确定表字段,了解以下几点是很有帮助的: (1)每个字段直接和表的主题相关。必须确保一个表中的每一个字段直接描述该表的主题。 (2)收集所需要的全部信息。确保所需的信息都设计在表中或通过计算可以得到。 (3)使用主关键字段。设计数据库的时候采用主关键字,即所谓的主键用来区分表中的每一条记录,作为该记录惟一的标记,从而有效地控制对存储数据中每一行的访问。 主键的设计原则: (1)尽量避免使用复合键。 (2)所有的键都必须惟一。 (3)为关联字段创建外键。 (4)外键总是与惟一的键字段关联。 根据上面的分析结果,可以对存储数据库的数据结构定义如下: 基本表:[Book],如表1所示。 表1 基本表:[Book] 字段 数据类型 长度 格式 约束 图书编号 文本 30 主键 分类号 文本 30 书号 文本 30 书名 文本 150 作者 文本 20 出版社 文本 30 定价 货币 Currency 库存量 数字( 整型) Integer 关键词 文本 100 入库时间 日期/时间 日期 基本表:[会员表],如表2所示。 表2 基本表:[会员表] 字段 类型 长度 格式 约束 借书证号 文本 30 主键 姓名 文本 150 性别 文本 30 单位 文本 200 借书数量 数字(整型) Integer 基本表:[借书情况表],如表3所示。 表3 基本表:[借书情况表] 字段 类型 长度 格式 约束 借书证号 文本 30 主键 图书编号 文本 30 主键 借出日期 日期/时间 日期 应还日期 日期/时间 日期 超期天数 数字(整型)20 Integer 5 详细设计 这个阶段是使用具体的数据库产品进行图书馆数据库的详细设计的阶段,考虑到这个数据库的结构不是很复杂,选用Access 2003是符合要求的。 5.1 创建数据库 操作步骤如下: (1)打开Access 2003。 (2)选择菜单栏的,在下拉菜单中选择,或者单击工具栏中的按钮,如图4所示。 图4 (3)单击“新建”后,右边会显示“新建文件”任务窗格,如图5所示。 图5 (4)单击任务窗格中的,弹出保存文件对话框,如图6所示。选择文件的保存路径,并输入数据库的名称“图书管理系统.mdb”,然后单击右下角的按钮。 (5)弹出“图书管理系统.mdb”的数据库操作对话框(如图7所示) ,现在可以进行创建表等操作了。 图6 图7 ※ 4 ※ 5.2 设计数据库的表 操作步骤如下: (1)用鼠标双击数据库中的,打开数据库表的设计视图。 (2)在栏中写入记录各个字段的名称,如“图书编号”。 (3)在栏中选择各个字段相应的数据类型。 (4)在栏中输入特定字段的注析。这不是必须的,但推荐用户输入适当的注释,这样将会大大方便日后的表维护工作。 不断重复上述四个步骤,直到所有的字段都已经添加完毕,就会得到如图8所示的表。 图8 (5)为新表指定关键字。 在表设计视图中,让光标停留在“图书编号”行,这时行前面出现一个标记。用鼠标单击标记,这时整个字段行都将变成黑色。单击工具栏中的按钮,即可把该行设为主关键字,如图9所示。 图9 (6)单击工具栏上的按钮,在弹出的对话框中输入表名“图书”,如图10所示。 图10 (7)单击“确定”,这样,一个基本表“图书”就完成了,如图11所示。 图11 ※ 5 ※ (8)用同样的方法创建另一个基本表“读者”,如图12所示。 图12 (9)最后创建基本表“借书”。 和创建上两个表的不同之处在于关键字创建的时候先单击“借书证号”字段中的方格,使该行被选中,然后把鼠标移至标记上面,按住鼠标左键向下平移,同时选中“图书编号”字段。然后单击工具栏中的按钮,即可把这两行同时设为该表的主关键字,如图13所示。 图13 (10)为基本表“读者”添加表索引。单击工具栏上的按钮,就会弹出如图14所示的对话框,这时是用添加前默认的主键做索引。 图14 (11)在基本表“读者”中选择要充当索引的字段,然后把它的“索引”属性设为“有”,并指定是否允许有重复值,如图15所示。 图15 ※ 6 ※ (12)再单击工具栏上的按钮,就会弹出如图16所示的对话框,可以看出多了一个索引“姓名”。 图16 至此,基本表创建完毕,这时的数据库视图如图17所示。 图17 5.3 创建表间关系 操作步骤如下: (1)打开表所在的设计视图,单击工具栏中的按钮,弹出“显示表”对话框和“关系”窗口,如图18所示。 图18 (2)在“显示表”对话框中,选择要建立关系的表——“图书”表、“读者”表和“借书”表,单击“添加”按钮将两个表添加到关系窗口中,然后单击“关闭”按钮,关闭对话框,结果如图19所示。 图19 ※ 7 ※ (3)用鼠标从“图书”表中选定“图书编号”字段,按住鼠标左键将其拖动到“借书”表中的“图书编号”字段,然后放开鼠标左键,会出现“编辑关系”对话框,如图20所示。 图20 (4)单击“创建”按钮,两个表间就建立了一个联系,如图21所示。 图21 (5)用同样的方法创建“读者”表和“借书”表的联系,如图22所示。 图22 5.4 创建查询 1. 使用简单查询向导创建查询 这种方法可以检索一个或多个表中的数据。如果只检索一个表中的数据,这种查询是单表查询;如果检索多个表中的数据,则这种查询是多表查询。 下面用简单查询向导来建立一个基于一个表的选择查询,操作步骤如下: (1)打开要建立查询的数据库文件,即。 (2)在“对象”选项组中选择,然后单击“新建”按钮,打开“新建查询”对话框。 (3)在“新建查询”对话框中,单击“简单查询向导”,然后单击按钮,打开如图23所示的“简单查询向导”对话框;在对话框中的下拉列表框中选择选项。 图23 ※ 8 ※ (4)然后单击按钮选择所有的字段,单击按钮,打开下一个对话框,如图24所示。 图24 (5)在此对话框中,将选择查询分为明细查询和汇总查询两类。明细查询就是普通的选择查询,汇总查询是在普通的选择查询的基础上对一些字段进行统计处理。本例中,选中单选按钮,然后单击按钮,打开下一个对话框,如图25所示。 图25 (6)在文本框中输入查询的名称(默认名称为),此名称将在建立查询后的窗口标题栏中显示;接着在对话框中选择单选按钮;最后单击按钮,即完成选择查询的设计。Access建立了这个查询,并显示查询结果,即打开选择查询对话框,如图26所示。 图26 (7)在窗口中选择对象,在其列表框中就显示了刚才新建的查询,如图27所示。 图27 ※ 9 ※ 2. 在设计视图中创建借书查询 操作步骤如下: (1)打开要建立查询的数据库文件,即。选择“对象”选项组中的,然后在其右侧的列表框中双击选项,出现如图28所示的“显示表”对话框和查询设计视图。 图28 (2)在“显示表”对话框中,选择要建立关系的“图书”表和“借书”表,单击“添加”按钮将两个表添加到关系窗口中,然后单击“关闭”按钮关闭对话框。这时的查询设计视图如图29所示。 图29 (3)从字段列表拖动字段名,可将字段添加到查询设计网格中。这里选择的字段包括:图书编号、书名、作者、库存量、借书证号、借出日期、应还日期、超期天数。 (4)使查询的结果按还书日期升序排列,以便知道读者想借的书如果现在没有,大概在什么时候会在图书馆里找到,如图30所示。 图30 (5)设定好查询内容后,可以关闭设计视图,这时系统会提示存盘,并要求输入查询名称,这里取名为“书籍借阅情况”。注意查询的名称不能和已经有的表名称相同。 (6)用同样的方法创建“读者借阅情况”查询。选择的字段包括:借书证号、姓名、单位、借书数量、图书编号、书名、借出日期、应还日期、超期天数。这里使用“借书证号”主键字段作升序排列,如图31所示。 图31 ※ 10 ※ 3. 创建生成表查询 生成表查询就是利用现有的一个或多个表中的数据创建新表。与选择查询等最大的区别在于生成表查询将查询的结果存为一张新的数据表,生成表查询可应用于以下几个方面: (1)创建用于导出到其他Microsoft Access数据库的表。 (2)创建从特定时间点显示数据的报表。 (3)创建表的备份副本。 (4)创建包含旧记录的历史表。 (5)提高基于表查询或SQL语句的窗体和报表的性能。 操作步骤如下: (1)在窗口中选择选项组的对象,再双击;新建一个以“借书”表为数据来源的查询,如图32所示。 图32 (2)双击字段列表中的,将“借书”表中的全部字段添加到查询设计网格的单元格中。 (3)双击字段列表中的“超期天数”选项,将该字段添加到单元格中,如图33所示。 图33 (4)单击“超期天数”字段栏下单元格的复选框,清除此复选框内的勾号,在单元格中输入“>0”,如图34所示。选中,表示此字段将在数据视图中显示;未选中,则表示此字段作为查询的条件来查找有关的记录,但该字段不会在数据视图中显示。 图34 (5)单击菜单中的,将查询的类型改为“生成表查询”,弹出“生成表”对话框,如图35所示。在中可输入生成新表的名称,也可在其下拉列表框中选择名称。本例输入“借书超期读者”,选中单选框,然后单击按钮。 图35 ※ 11 ※ (6)这时则查询设计视图的标题栏变成了,如图36所示。 图36 (7)单击工具栏上的执行按钮,更新表中的数据,出现如图37所示的对话框。 (8)单击“确定”按钮。生成表后,在窗口中选择对象,在其右侧可以看到新生成的表,如图38所示。 图37 图38 5.5 设计窗体 1. 欢迎界面的设计 设计步骤如下: (1)打开要设计窗体的数据库文件,即。 (2)在“对象”选项组中选择,在数据库窗口中双击“在设计视图中创建窗体”。这时会弹出一个窗体的设计视图,如图39所示。 (3)双击窗体选择器(就是标尺相交的框)以显示窗体属性对话框。 (4)在窗体属性对话框中更改以下的窗体属性设置: 滚动条:两者皆无。 记录选择器:否。 导航按钮:否。 分隔线:否。 边框样式:无。 属性设置结果如图40所示。 图39 图40 ※ 12 ※ (5)在对话框中设置添加图片背景。单击“格式”选项卡,然后单击下面“图片”或其旁边的框,以显示有三个点的按钮。单击按钮打开“插入图片”对话框,并在其中选择作为背景的图像,如图41所示。 图41 (6)将图片的“图片缩放模式”属性改为“拉伸”。 (7)这时生成的窗体如图42所示。 图42 (8)使用工具箱中的标签按钮往窗体里添加三个标签控件(分别是label1、label2和label3)。 标签1(label1)的属性为: 标题:Microsoft Access 2003。 字体名称:宋体。 字号:16。 字体粗细:正常。 背景样式:透明。 边框样式:透明。 标签2(label2)的属性为: 标题:欢迎使用。 字体名称:华文彩云。 字号:26。 字体粗细:加粗。 背景样式:透明。 边框样式:透明。 标签3(label3)的属性为: 标题:图书管理系统。 字体名称:华文彩云。 字号:36。 字体粗细:正常。 背景样式:透明。 边框样式:透明。 ※ 13 ※ (9)用工具箱中的控件按钮建立两个按钮控件Command1和Command2,如图43所示。 图43 按钮控件Command1的属性为: 标题:进入。 字体名称:华文中宋。 字号:16。 字体粗细:正常。 按钮控件Command2的属性为: 标题:退出。 字体名称:华文中宋。 字号:16。 字体粗细:正常。 对齐两个按钮的方法是:先选定其中一个按钮,然后按住Shift键不放,再去选定另一个按钮,同时选定两个按钮后,单击鼠标右键,在弹出的快捷菜单中选择“对齐”菜单下的“靠上”命令。 (10)在 “进入”按钮上单击鼠标右键,在弹出的快捷菜单中选择,如图44所示。 图44 (11)在弹出来的对话框中选择“代码生成器”,如图45所示。 图45 ※ 14 ※ (12)这样就进入了VBA的设计界面,如图46所示。 图46 (13)在光标闪动的Sub过程中添加事件代码。 Private Sub Command1_Click() DoCmd.OpenForm "主窗体" End Sub (14)用同样的方法为 “退出”按钮添加事件代码。这段代码的功能是关闭所有窗体,并在退出前提醒是否保存。 Private Sub Command1_Click() Dim intx As Integer Dim intCount As Integer intCount = Forms.Count - 1 For intx = intCount To 0 Step -1 DoCmd.Close acForm, Forms(intx).Name Next End Sub (15)添加一个Sub过程使启动界面文字具有闪动的效果。首先单击窗体属性中的“事件”选项卡,将“计时器间隔”的值设为“80”。 (16)单击“计时器触发”旁边的框,以显示有三个点的按钮,单击按钮。 (17)在弹出的VBA设计窗口中为这个事件过程添加如下代码: Private Sub Form_Timer() If Label3.FontSize < 36 Then Label3.FontSize = Label3.FontSize 2 Else Me.TimerInterval = 0 End If (18)把Label3的字体大小改为2,演示效果如下: 一开始如图47所示。 图47 ※ 15 ※ 渐渐变大如图48所示。 图48 适应窗体大小如图49所示。 图49 欢迎界面完整的VBA代码如下: Option Compare Database Private Sub Command4_Click() On Error GoTo Err_Command4_Click Screen.PreviousControl.SetFocus DoCmd.FindNext Exit_Command4_Click: Exit Sub Err_Command4_Click: MsgBox Err.Description Resume Exit_Command4_Click End Sub Private Sub Command1_Click() DoCmd.OpenForm "主窗体" End Sub Private Sub Command2_Click() Dim intx As Integer Dim intCount As Integer intCount = Forms.Count - 1 For intx = intCount To 0 Step -1 DoCmd.Close acForm, Forms(intx).Name Next End Sub Private Sub Form_Timer() If Label3.FontSize < 36 Then Label3.FontSize = Label3.FontSize 2 Else Me.TimerInterval = 0 End If End Sub 2. 应用程序主界面的设计 在欢迎界面上单击“进入”就来到了应用程序的主界面,下面介绍主界面的制作过程。 (1)打开要设计窗体的数据库文件,即。 (2)在“对象”选项组中选择,在数据库窗口中双击“在设计视图中创建窗体”。这时会弹出一个窗体的设计视图。 (3)单击窗体左上角的方框,使其中心变黑,这表示选中对象窗体。单击鼠标右键,从弹出的※ 16 ※ 快捷菜单中选择“属性”选项,如图50所示。 图50 (4)将窗体的属性设置如下: 标题:图书管理系统。 滚动条:两者皆无。 记录选择器:否。 导航按钮:否。 分隔线:否。 边框样式:对话框边框。 图片缩放模式:拉伸。 (5)在对话框中设置添加图片背景。单击“格式”选项卡,然后单击下边“图片”或其旁边的框,以显示有三个点的按钮。单击按钮打开“插入图片”对话框,在其中选择作为背景的图像。 (6)这时生成的窗体如图51所示。 图51 (7)用工具箱中的控件按钮建立四个按钮控件Command0、Command1、Comand2和Command3。 按钮控件Command0的属性为: 标题:图书入库。 字体名称:宋体。 字号:9。 字体粗细:正常。 按钮控件Command1的属性为: 标题:借还书登记。 字体名称:宋体。 字号:9。 字体粗细:正常。 按钮控件Command2的属性为: 标题:书籍信息查询。 字体名称:宋体。 字号:9。 字体粗细:正常。 按钮控件Command3的属性为: 标题:读者信息查询。 字体名称:宋体。 ※ 17 ※ 字号:9。 字体粗细:正常。 修改后的窗体如图52所示。 (8)为避免界面单调,在其上创建一些图标。先单击控件工具箱里的图像控件按钮,然后单击窗体中要放置图标的地方,在对话框中挑选图片文件,如图53所示。 图52 图53 (9)设置图标的属性如下: 图片对齐方式:中心。 宽度:0.7cm。 高度:0.7cm。 特殊效果:凸出。 用同样的方法添加其他三个图标,并调整好它们的位置,如图54所示。 (10)在 “图书入库”按钮上单击鼠标右键,在弹出的快捷菜单中选择,如图55所示。 图54 图55 (11)在弹出的对话框中选择“宏生成器”,又会弹出如图56所示对话框和宏视图。 图56 (12)在对话框中输入宏的名称“图书入库”,单击“确定”按钮。然后在宏视图中单击列中的单元格,在其下拉列表框中选择选项,使鼠标在宏运行时变成沙漏状态。 (13)将光标移到下一单元格,在“操作”列中选择OpenForm选项,在“注释”列中输入此操作的目的:打开“读者1”窗体;单击文本框,打开一个下拉列表框,如图57所示,其中列出了数据库中所有现存的窗体,选择“读者1”选项。 (14)在下拉列表框中列出了打开窗体的六种视图方式:窗体、设计、数据表、打印预览、数据透视表和数据透视图。选择。 ※ 18 ※ (15)在的下拉列表框中可以设定用户的使用权限。这里选择。 (16)是用来定义窗体的显示方式,有“普通”、“隐藏” 、“图标”和“对话框”四种显示方式,一般为普通方式,其他三种方式可以达到特殊效果。以隐藏方式打开窗体,则窗体被打开时用户在屏幕上无法看到它;以“图标”方式打开窗体时则以最小化的方式显示窗体;以对话框方式打开的窗体,其大小是不可调整的。选择“普通”方式,如图58所示。 图57 图58 (17)将光标移到第三行,设置第三个操作。选择Beep宏操作,并发出嘟嘟声则表示窗体已经打开;将光标移到下一行,选择Maximize宏操作, 此操作的效果是将窗体最大化,充满整个Access窗口。 其他按钮也用同样的方法为它们建立宏操作,这里不再一一赘述,仅将它们的操作列出。 (1)“图书入库”按钮。 事件——单击:图书入库(宏)。 宏设置操作: ①hourglass。 ②OpenForm。 窗体名称:读者1。 视图:窗体。 数据模式:编辑。 窗口模式:普通。 ③ Beep。 ④Maximize。 (2)“借还书登记”按钮。 事件——单击:借还书登记(宏)。 宏设置操作: ①hourglass。 ②OpenForm。 窗体名称:借书1。 视图:窗体。 数据模式:编辑。 窗口模式:普通。 ③Beep。 ④Maximize。 (3)“书籍信息查询”按钮。 事件——单击:书籍信息查询(宏)。 宏设置操作: ①hourglass。 ②OpenForm。 窗体名称:书籍信息查询。 视图:窗体。 ※ 19 ※ 数据模式:只读。 窗口模式:普通。 ③Beep。 ④Maximize。 (4)“读者信息查询”按钮。 事件——单击:读者信息查询(宏)。 宏设置操作: ①hourglass。 ②OpenForm。 窗体名称:读者信息查询。 视图:窗体。 数据模式:只读。 窗口模式:普通。 ③Beep。 ④Maximize。 3. 设计读者窗体 (1)打开要设计窗体的数据库文件,即。 (2)在“对象”选项组中选择,在数据库窗口中双击“使用向导创建窗体”。这时会弹出一个“窗体向导”对话框,如图59所示。 (3)进入“窗体向导”对话框后,在“表/查询”下拉列表框中选择“表:读者”,于是下方的“可用字段”中将列出此表中的所有字段。单击“”按钮,将所有字段都加入窗体中,如图60所示。然后单击“下一步”按钮。 图59 图60 (4)在随后的“窗体向导”对话框中选择“表格”布局,如图61所示。 (5)单击“下一步”按钮,在接着的“窗体向导”对话框中为窗体选择“远征”背景选项,然后单击“下一步”按钮。 (6)在随后弹出的“窗体向导”对话框中输入创建窗体的名称“读者1”,单击“完成”按钮,如图62所示。 图61 图62 ※ 20 ※ (7)生成的窗体如图63所示。 图63 4. 设计图书窗体 (1)打开要设计窗体的数据库文件,即。 (2)在“对象”选项组中选择,在数据库窗口中双击“使用向导创建窗体”。这时会弹出一个“窗体向导”对话框,如图64所示。 (3)进入“窗体向导”对话框后,在“表/查询”下拉列表框中选择“表:图书”,于是下方的“可用字段”中将列出此表中的所有字段。单击“”按钮,将所有字段都加入窗体中,如图65所示。然后单击“下一步”按钮。 图64 图65 (4)在随后的“窗体向导”对话框中选择“表格”布局,如图66所示。 (5)单击“下一步”按钮,在接着的“窗体向导”对话框中为窗体选择“标准”背景选项,然后单击“下一步”。 (6)在“窗体向导”对话框中输入创建窗体的名称“图书1”,单击“完成”按钮,如图67所示。 图66 图67 (7)生成的窗体如图68所示。 图68 ※ 21 ※ 5. 读者信息查询窗体的创建 有了上面的窗体设计做基础,下面继续设计要用到的窗体。操作步骤如下: (1)打开要设计窗体的数据库文件,即。 (2)在“对象”选项组中选择,在数据库窗口中双击“使用向导创建窗体”。这时会弹出一个“窗体向导”对话框,如图69所示。 (3)进入“窗体向导”对话框后,在“表/查询”下拉列表框中选择“查询:读者借阅情况”,于是下方的“可用字段”中将列出此表中的所有字段。单击“”按钮,将所有字段都加入窗体中,如图70所示。然后单击“下一步”按钮。 图69 图70 (4)在随后的“窗体向导”对话框中选择查看数据的方式为“通过读者”,在下方选定,如图71所示。 (5)在随后弹出的“窗体向导”对话框中为子窗体选择“数据表”布局,如图72所示。 图71 图72 (6)单击“下一步”按钮,在接着的“窗体向导”对话框中为窗体选择“国际”背景选项,如图73所示。然后单击“下一步”按钮。 (7)在“窗体向导”对话框中输入创建的窗体的名称“读者信息查询”,子窗体的名称“读者信息查询 子窗体” ,单击“完成”按钮,如图74所示。 图73 图74 ※ 22 ※ (8)生成的窗体如图75所示。 图75 (9)用工具箱中的控件按钮建立一个按钮控件Command1。 设置按钮控件Command1的属性为: 标题:详细信息。 字体名称:宋体。 字号:10。 字体粗细:加粗。 (10)得到如图76所示的“详细信息”按钮。在“详细信息”按钮上单击鼠标右键,在弹出的快捷菜单中选择。 图76 (11)在弹出来的对话框中选择“代码生成器”,如图77所示。 图77 (12)在弹出的VBA设计窗口中添加下列代码,如图78所示。 图78 ※ 23 ※ (13)这段代码的功能是打开“读者1”窗体并将它最大化,执行代码结果如图79所示。 图79 6. 书籍信息查询窗体的创建 操作步骤如下: (1)打开要设计窗体的数据库文件,即。 (2)在“对象”选项组中选择,在数据库窗口中双击“使用向导创建窗体”。这时会弹出一个“窗体向导”对话框。 (3)进入“窗体向导”对话框后,在“表/查询”下拉列表框中选择“查询:书籍借阅情况”,如图80所示。于是下方的“可用字段”中将列出此表中的所有字段。单击“”按钮,将所有字段都加入窗体中,如图81所示。然后单击“下一步”按钮。 图80 图81 (4)在随后的“窗体向导”对话框中选择查看数据的方式为“通过图书”,并在下方选定,如图82所示。 (5)在随后的“窗体向导”对话框中为子窗体选择“表格”布局,如图83所示。 图82 图83 (6)单击“下一步”按钮,在接着的“窗体向导”对话框中为窗体选择“国际”背景选项,如图84所示。然后单击“下一步”按钮。 (7)在“窗体向导”对话框中输入创建的窗体的名称“书籍信息查询”,子窗体的名称“书籍※ 24 ※ 信息查询 子窗体” ,单击“完成”按钮,如图85所示。 图84 图85 (8)生成的窗体如图86所示。 图86 (9)用工具箱中的控件按钮建立一个按钮控件Command1。 设置按钮控件Command1的属性为: 标题:详细信息。 字体名称:宋体。 字号:10。 字体粗细:加粗。 (10)设置完成后得到如图87所示的“详细信息”按钮。在“详细信息”按钮上单击鼠标右键,在弹出的快捷菜单中选择。 图87 (11)在弹出的对话框中选择“代码生成器”。 (12)在弹出的VBA设计窗口中添加下列代码,如图88所示。 图88 ※ 25 ※ (13)这段代码的功能是打开“图书1”窗体并将它最大化,执行代码结果如图89所示。 图89 5.6 设计报表 1. 设计图书查询报表 操作步骤如下: (1)打开要设计窗体的数据库文件,即。 (2)在“对象”选项组中选择,在数据库窗口中双击。这时会弹出一个“报表向导”对话框。 (3)进入“窗体向导”对话框后,在“表/查询”下拉列表框中选择“表:读者”,于是下方的“可用字段”中将列出此表中的所有字段。单击“”按钮,将所有字段都加入窗体中,然后单击“下一步”按钮,如图90所示。 图90 (4)不分组,按单击“下一步”按钮,如图91所示。 图91 ※ 26 ※ (5)设置以借书证号为“升序”排列,如图92所示。然后单击“下一步”按钮。 (6)选择“表格”布局,方向为“纵向”,并选择“调整字段宽度使所有字段都能显示在同一页中” ,如图93所示。 图92 图93 (7)单击,为报表选择“组织”样式,如图94所示,单击“下一步”按钮。 (8)在文本框中输入标题“读者报表”,然后单击,如图95所示。 图94 图95 (9)预览刚刚设计好的报表,效果如图96所示。 图96 2. 设计书籍信息查询报表 (1)打开数据库之后,在选项组中选择对象,然后单击按钮,弹出如图97所示的对话框。 图97 ※ 27 ※ (2)在对话框中选择,然后在下面的下拉列表框中选择报表的数据源,如图98所示。 图98 (3)选择好“读者借阅情况”数据源之后单击“确定”按钮。把字段列表中的字段拖动至报表视图中的合适位置,如图99所示。 在拖动字段的时候,Access 2003会自动创建一个文本框,用于显示数据,而在文本框之前会自动添加一个标签控件,标签控件的标题自动以字段名称命名。 用户也可以单击标签控件,这时光标在标签控件之内将变成形状,用户可以根据实际情况自行修改。 重复这个步骤,直至所需的字段全部已经加入到视图窗口中。 (4)用鼠标左键画出一个矩形,把所需要使用同一种对齐方式的字段全部选中。然后在这个矩形区域内单击鼠标右键,在弹出的快捷菜单中选择菜单下的命令,如图100所示。 图99 图100 (5)在和中添加一条直线,以突出报表的主体。具体方法是,在工具箱中单击直线按钮,然后添加至和处,然后双击该直线,弹出如图101所示的属性对话框。在属性内,把数值改为“25”cm。 图101 (6)添加报表标题至处。用户在视图窗口内单击右键,在弹出的快捷菜单中选择※ 28 ※ ,即可弹出报表页眉和报表页脚。在里添加一个标签控件,输入“书籍信息查询结果”,如图102所示。 图102 (7)将报表的页码插入到报表的页眉或者页脚。单击菜单中的菜单项,弹出如图103所示的对话框。在对话框里选择的页码格式。位置定在,格式选择“中”。 图103 (8)设置好报表后,可以预览报表。但预览之前要保存报表。直接单击报表设计视图右上角的按钮,会弹出如图104所示的对话框。 图104 单击按钮,就会弹出如图105所示的对话框。 填好报表名称“书籍信息查询结果”之后,单击按钮,即完成报表的保存。 (9)在数据库中选中刚刚设计好的报表,单击按钮,就能弹出如图106所示设计好的报表。 图105 图106 3. 把报表添加到窗体中 (1)打开的设计视图,如图107所示。 (2)单击工具箱上的控件按钮,然后在准备建立报表预览按钮的地方单击,系统弹出※ 29 ※ 对话框,如图108所示。 图107 图108 (3)在“类别”列表框中选择“报表操作”,在“操作”列表框中选择“预览报表”,单击“下一步”按钮,如图109所示。 (4)选择“书籍信息查询结果”选项。单击“下一步”按钮,在弹出的对话框中选择默认的图片,如图110所示。然后单击“下一步”按钮。 图109 图110 (5)在弹出的对话框中输入按钮名称“书籍查询报表预览”,如图111所示。 图111 (6)这样就生成了“书籍查询报表预览”按钮,如图112所示。 图112 (7)单击工具箱上的控件按钮,然后在准备建立报表预览按钮的地方单击,系统弹出※ 30 ※ 对话框,如图113所示。 (8)在“类别”列表框中选择“报表操作”,在“操作”列表框中选择“打印报表”,单击“下一步”按钮,如图114所示。 图113 图114 (9)选择“书籍信息查询结果”报表。单击“下一步”,在弹出的对话框中选择默认的图片,如图115所示。 然后再单击“下一步”按钮。 (10)在弹出的对话框中输入按钮名称“书籍查询报表打印”,如图116所示。 图115 图116 (11)这样就生成了“书籍查询报表打印”按钮,如图117所示。 图117 (12)切换到窗体视图,如图118所示。 图118 ※ 31 ※ (13)单击按钮,就会弹出预览窗口,如图119所示。 图119 5.7 设计数据访问页 (1)在“图书管理系统”数据库窗口中,选择“对象”选项组中的对象,单击数据库工具栏上的按钮,弹出“新建数据访问页”对话框,如图120所示。 图120 (2)选择对话框中的“数据页向导”项,然后单击按钮,弹出“数据页向导”的第一个对话框,如图121所示。 图121 (3)在“表/查询”下拉列表框中选择“查询:书籍借阅情况”,于是下方的“可用字段”列表框中将列出此表中的所有字段。单击“”按钮,将所有字段都加入窗体中,然后单击“下一步”按钮,如图122所示。 (4)单击按钮,弹出“数据页向导”的第二个对话框,如图123所示。 图122 图123 ※ 32 ※ (5)在第二个对话框中,需要确定分组级别,并且一旦设置了分组级别,则生成的数据页就是只读的。在这里按“书名”分组,在左侧的列表框中单击“书名”字段,然后单击按钮,即按字段“书名”进行分组。 (6)单击按钮,弹出“数据页向导”的第三个对话框,设置按“借出日期”升序排列,如图124所示。 图124 (7)单击按钮,弹出“数据页向导”的第四个对话框,如图125所示。 (8)在这一个对话框中,提示用户指定数据页的标题,如输入“书籍借阅情况”。如不指定,则Access 2003系统将给出一个缺省的标题。选择“打开数据页”,其余不选择,最后单击按钮,系统开始创建“书籍借阅情况页”。然后,屏幕上出现书籍借阅情况页视图,如图126所示。 图125 图126 5.8 设计自动启动宏autoexec 如果要实现当启动图书管理数据库时出现欢迎界面,就要设计一个叫做aotoexec的宏,Access会在启动一个数据库时先检查数据库中是否存在名为autoexec的宏。如果有,Access会首先执行这个宏。 设计步骤如下: (1)打开要设计窗体的数据库文件,即。 (2)在“对象”选项组中选择,在数据库窗口单击。这时会弹出宏的设计视图。 (3)在宏设计视图的“操作”列中选择“OpenForm”,在“窗体名称”下拉列表框中选择“欢迎界面” ,如图127所示。 (4)保存并退出,得到如图128所示的宏。 图127 图128 ※ 33 ※

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页