(四)创建关系
创建关系很简单,只需要打开关系编辑界面,将副表中的相关字段拖到主表的相关字段即可。如:将事由表中字段“事由”拖到借出登记表中字段“借出事由”处,单击对话框“确定”,两个表中的这两个字段即建立了关系。媒体资源数据库的表间关系如下图:
(五)创建查询
如果你对Visual Basic编程比较熟练,那么,可以使用Visual Basic编程来实现相关查询,如果不熟悉Visual Basic编程,就用Access数据库中创建查询向导来建立需要的查询表。从前面了解需求情况来看,媒体资源数据库除了能灵活地进行各个字段查找外,还要实现针对首拍日期和内容提要两条件的精确查找,另外,主控界面底部是关于库存量的动态显示,这就要求我们建立实时的数据统计,因此,媒体资源数据库应建立如下图中所显示的相关查询,以便窗体和报表使用。
这里要着重说明的是,基于“首拍日期”和“内容提要”两个条件的精确查询,需要在“磁带信息登记表查询”中“首拍日期”字段和“内容提要”两个字段设置查询条件,而“首拍日期”这个条件又是基于查询者临时输入的日期范围,因此,它必须是从输入日期数据的窗口中获得的相关日期信息;而“内容提要”字段中的数据不是固定的数据,查询条件不能固定,需要进行模糊查询。又因为是精确查找,这两个查询条件的逻辑关系应该是“与”的关系。
鉴于上述要求,在“磁带信息登记表查询”中“首拍日期”字段的“条件”栏中输入“>=[Forms]![报表日期范围]![开始日期] And <=[Forms]![报表日期范围]![终止日期]”查询条件,而在“磁带信息登记表查询”中“内容提要”字段的“条件”栏中输入“Like [输入内容提要可用通配符如:*人大*]”查询条件,且让它们在同一行中,形成逻辑与的关系。
对于其它查询表的建立可以在设计视图中逐个创建,这里不再叙述。
(六)创建窗体
窗体是人机对话的载体,没有窗体,人机对话将很难实现。窗体的创建步骤与表的创建步骤基本相似,先要创建非主控窗体,后创建主控窗体,这是因为,主控窗体的子窗体和部分数据来源于非主控窗体。使用窗体创建向导创建如“部门”等非主控窗体十分简单,而子窗体不需要手动创建,它在创建主控窗体时会自动创建的,所以,这里只着重说明主控窗体的创建过程。(所创建的窗体如下图所示)
主控窗体“磁带信息登记表”是整个数据库的操作平台,所有操作将在这个窗体上完成,它既有基本信息输入窗口,又有各种功能命令按钮;既有主窗体,又有子窗体,因此,创建过程比较复杂。
1.创建基本信息登记表窗体,进入窗体设计界面;
2.调整窗体大小,安排各个字段的位置,插入装饰图,使窗体美观大方;
3.设置窗体主要属性和参数:
(1)记录来源:磁带信息登记表;
(2)标题:影像资料信息登记;
(3)默认窗体:单个窗体;
(4)最大最小化按钮:最小化按钮;
(5)宽度:25.407厘米;
(6)打开:[事件过程],并进入代码编辑界面,输入如下代码:
Private Sub Form_Open(Cancel As Integer)
DoCmd.SelectObject acForm, "磁带信息登记表", True
DoCmd.Minimize '最小化数据库
End Sub
4.创建借出登记子窗体
(1)将贷出登记表拖入界面中部左侧位置;
(2)设置借出登记表 子窗体属性及参数:
名称:借出登记表 子窗体;
源对象:借出登记表 子窗体;
链接子字段:磁带编号;
链接主字段:磁带编号;
宽度:14.101厘米;
高度:3.164厘米;
特殊效果:凹陷;
边框样式:实线;
边框宽度:细线。
(4)设置子窗体表属性及参数:
记录源:借出登记表;
标题:借出登记表 子窗体;
默认视图:数据表。
5.创建归还登记子窗体
归还登记子窗体的创建方法及属性、参数的设置与借出登记子窗体相同。
6.创建总量统计子窗体
(1)先将窗体页脚向下拉开一定距离,以便放置子窗体;
(2)将总量统计查询表拖至窗体页脚处;
(3)其它方法同上述子窗体的创建方法。
7.创建报表日期范围窗体
(1)用设计视图创建两个非绑定控件,分别作为“开始日期”和“终止日期”输入窗口,并在这两个控件左侧分别使用标签工具创建两个标签,输入“开始日期”和“终止日期”;
(2)设置窗体主要属性“打开”——“事件过程”,进入代码编辑状态,输入如下代码:
Private Sub Form_Open(Cancel As Integer)
Me.Caption = Forms![报表日期范围].OpenArgs
Forms!报表日期范围!开始日期.SetFocus
End Sub
(3)创建一个“预览……”命令按钮,设置主要属性“单击”——“事件过程”,进入代码编辑状态,输入如下代码:
Private Sub 预览_Click()
If IsNull([开始日期]) Or IsNull([终止日期]) Then
MsgBox "您必须输入开始时间和终止时间。"
DoCmd.GoToControl "开始日期"
Else
If [开始日期] > [终止日期] Then
MsgBox "截止日期必须大于开始日期。"
DoCmd.GoToControl "开始日期"
Else
Me.Visible = False
End If
End If
End Sub
8.创建命令按钮
(1)创建“刷新”命令按钮
使用Access系统工具在适当位置创建一个命令按钮,在弹出的对话框中选择记录操作——刷新数据,系统会自动建立相关代码如下:
Private Sub 刷新_Click()
On Error GoTo Err_刷新_Click
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
Exit_刷新_Click:
Exit Sub
Err_刷新_Click:
MsgBox Err.Description
Resume Exit_刷新_Click
End Sub
(2)创建“查找”命令按钮
方法同上。代码如下:
Private Sub 查找_Click()
On Error GoTo Err_查找_Click
Screen.PreviousControl.SetFocus
DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70
Exit_查找_Click:
Exit Sub
Err_查找_Click:
MsgBox Err.Description
Resume Exit_查找_Click
End Sub
(3)创建“精确查找”命令按钮
方法同上,代码如下:
Private Sub 精确查找_Click()
On Error GoTo Err_精确查找_Click
Dim stDocName As String
Dim stLinkCriteria As String
DoCmd.OpenForm "报表日期范围", , , , , acDialog, "影像资料统计表"
If Not IsLoaded("报表日期范围") Then
Cancel = True
End If
stDocName = "资料精确查询"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_精确查找_Click:
Exit Sub
Err_精确查找_Click:
MsgBox Err.Description
Resume Exit_精确查找_Click
End Sub
(4)创建“数据备份”命令按钮
方法同上,代码如下:
Private Sub 数据备份_Click()
On Error GoTo 11 '如果删除文件夹出错,执行第11行
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFolder ("D:mtzy") '删除已有的文件夹及文件
11 MkDir "D:mtzy" '创建文件夹
On Error GoTo 22 '如果复制文件夹出错,执行第22行
CopyFile "C:mtzymtzt.ico", "D:mtzymtzt.ico", 0 '复制并覆盖文件
CopyFile "C:mtzySecured.mdw", "D:mtzySecured.mdw", 0 '复制并覆盖文件
CopyFile "C:mtzy媒体资源管理.mdb", "D:mtzy媒体资源管理.mdb", 0 '复制并覆盖文件
CopyFile "C:mtzy媒体资源管理.bak", "D:mtzy媒体资源管理.bak", 0 '复制并覆盖文件
CopyFile "C:mtzy媒体资源管理.lnk", "D:mtzy媒体资源管理.lnk", 0 '复制并覆盖文件
CopyFile "C:mtzy媒体资源管理.snp", "D:mtzy媒体资源管理.snp", 0 '复制并覆盖文件
Exit_数据备份_Click:
Exit Sub
22 Err_数据备份_Click:
MsgBox Err.Description
Resume Exit_数据备份_Click
End Sub
(5)创建“基本信息录入”命令按钮
方法同上,选择窗体操作——打开窗体。代码如下:
Private Sub 录入基本信息_Click()
On Error GoTo Err_录入基本信息_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "基本信息录入"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_录入基本信息_Click:
Exit Sub
Err_录入基本信息_Click:
MsgBox Err.Description
Resume Exit_录入基本信息_Click
End Sub
(6)创建基本信息录入窗体中的各种命令按钮,
方法同上,这里不再叙述。
(7)创建报表命令按钮
关于报表系统的相关命令按钮的创建,是在报表创建完毕后进行的。这里以“资料总表”命令按钮为例加以说明,其它报表命令按钮的创建方法相同。
使用Access系统工具在适当位置创建一个命令按钮,在弹出的对话框中选择报表操作——打开预览报表,系统会自动建立相关代码如下:
Private Sub 资料总表_Click()
On Error GoTo Err_资料总表_Click
Dim stDocName As String
stDocName = "影像资料统计表"
DoCmd.OpenReport stDocName, acPreview
Exit_资料总表_Click:
Exit Sub
Err_资料总表_Click:
MsgBox Err.Description
Resume Exit_资料总表_Click
End Sub
通过上述步骤的创建,主控窗体创建完毕。其界面如下图: