第10章access数据库应用系统集成与发布.ppt
第10章 Access数据库应用系统集成与发布归纳“教材征订管理信息系统”数据库中所有对象的设计参数学习集成各个数据库对象的方法掌握Access数据库应用系统的网络应用设计与实现方法 掌握发布Access数据库应用系统的基本方法 10.1 “教材征订管理信息系统”表对象集成“教材征订管理信息系统”数据库中包括4个基本的Access表对象“课程信息表”、“课堂信息表”、“教材预订表”和“教材征订表”,2个辅助的Access表对象“出版社表”和“供书商表”,它们的作用及其设计参数的设置操作方法均已经在第三章中作了介绍,本小节将对其进行全面的归纳,用以帮助读者整体归纳前面所介绍的所有知识。10.1.1 “课程信息表”对象1.“课程信息表”对象的功用“课程信息表”对象用于存储“教材征订管理信息系统”数据库中的课程基本数据,即系统中所有课程的基本数据均应保存在这个数据表中。“课程信息表”对象所存储的数据是整个数据库最基础的数据之一,因此,“课程信息表”对象是“教材征订管理信息系统”数据库的基础数据之所在。只有记录于“课程信息表”中的课程,才可能根据需要开设相应的课堂。10.1.1 “课程信息表”对象2.“课程信息表”对象的设计参数“课程信息表”对象的设计参数如表10-1-1所示。表10-1-1 “课程信息表”对象的设计参数基本参数常规参数查阅参数字段名数据类型字段大小格式小数位索引显示控件行来源课程代码文本8主索引文本框课程名称文本28无文本框考核方式文本8有(有重复)文本框总学时数字整型0无理论学时数字整型0无实验学时数字整型0无课程性质文本8有(有重复)文本框10.1.2 “课堂信息表”对象1.“课堂信息表”对象的功用“课堂信息表”对象用于存储“教材征订管理信息系统”数据库中某一个学期的所有课堂数据。与“课程信息表”对象相同,“课堂信息表”所存储的数据也是整个数据库最基础的数据之一。只有记录在“课堂信息表”中的课堂,才可以具有教材预订数据。“课堂信息表”中索引字段的设置是为了满足其他各项系统检索的需求。10.1.2 “课堂信息表”对象2.“课堂信息表”对象的设计参数“课堂信息表”对象的设计参数如表10-1-2所示。表10-1-2 “课堂信息表”对象的设计参数基本参数常规参数查阅参数字段名数据类型字段大小格式小数位索引显示控件行来源课堂编号文本9有(有重复)文本框课程代码文本8有(有重复)文本框专业文本26无文本框年级文本4无文本框班级文本12无文本框人数数字整型0无校区文本1有(有重复)文本框周学时数字整型0无教学周次文本6无文本框10.1.3 “教材预订表”对象1.“教材预订表”对象的功用“教材预订表”对象用于存储“教材征订管理信息系统”数据库中各个课堂的教材预订数据。各个课堂的教材预订数据来源于各位任课教师提供的信息,只有那些在本学期设置了课堂的任课教师方能够提出教材预订数据。为了实现系统功能的要求,“教材预订表”必须包括:“课堂编号”、“课程代码”、“任课教师”、“教材名称”、“出版社”、“作者”、“版别”、“书刊号”和“预订册数”共九个字段。其中,“课堂编号”为数据表的主关键字段,“课程代码”和“出版社”分别设置了索引。10.1.3 “教材预订表”对象2.“教材预订表”对象的设计参数“教材预订表”对象的设计参数如表10-1-3所示。表10-1-3 “教材预订表”对象的设计参数基本参数常规参数查阅参数字段名数据类型字段大小格式小数位索引显示控件行来源课堂编号文本9主索引文本框课程代码文本8有(有重复)文本框任课教师文本8无文本框教材名称文本50无文本框出版社文本20有(有重复)文本框作者文本8无文本框版别文本12无文本框书刊号文本30无文本框预订册数数字整型0无10.1.4 “教材征订表”对象1.“教材征订表”对象的功用“教材征订表”对象用于存储“教材征订管理信息系统”数据库中各个课堂预订教材的落实状态信息。教材管理部门根据各个课堂的教材预订数据,联络相应的供书商,确定各个课堂的预订教材来源、购进册数、单价及其订购折扣,并将这些数据记录在“教材征订表”中。只有那些在本学期提出了教材预订数据的课堂,方能够订购教材。为了实现系统功能的要求,“教材征订表”必须包括:“课堂编号”、“书刊号”、“预订册数”、“订购册数”、“教材定价”、“供书商”和“订购折扣”共七个字段。其中,“课堂编号”字段为数据表的主关键字段,“供书商”字段设置了索引。10.1.4 “教材征订表”对象2.“教材征订表”对象的设计参数“教材征订表”对象的设计参数如表10-1-4所示。表10-1-4 “教材征订表”对象的设计参数基本参数常规参数查阅参数字段名数据类型字段大小格式小数位索引显示控件行来源课堂编号文本9主索引文本框书刊号文本30无文本框预订册数数字整型无订购册数数字整型无教材定价货币2无文本框供书商文本20有(有重复)文本框订购折扣数字单精度型2无10.1.5 “出版社表”和“供书商表”对象1.“出版社表”和“供书商表”对象的功用这两个Access表的功用是相似的,它们主要用于提供列表框或组合框控件的数据行来源,用以保证在针对4个主数据表对象进行操作时,数据输入的正确性与便捷性。为了满足系统功能的要求,“出版社表”对象仅包含“出版社”这一个字段,而“供书商表”对象亦仅需设置“供书商”这一个字段。10.1.5 “出版社表”和“供书商表”对象2.“出版社表”和“供书商表”对象的设计参数“出版社表”和“供书商表”对象的设计参数如表10-1-4所示。表10-1-5 “出版社表”和“供书商表”对象的设计参数表名字段名数据类型字段大小小数位数索引出版社表出版社文本20主索引供书商表供书商文本20主索引10.2 “教材征订管理信息系统”查询对象集成“教材征订管理信息系统”数据库中主要包括三个查询对象,本小节将对其进行全面的归纳,用以帮助读者整体归纳前面所介绍的所有知识。10.2.1 “课堂信息查询”对象1.“课堂信息查询”对象的功用“课堂信息查询”对象除了包含“课堂信息表”中的全部字段以外,还包含“课程信息表”中的“课程名称”字段,使得每一个课堂的基本数据得以完整地被表述出来。这就是“课堂信息查询”对象的主要功用。因此,“课堂信息查询”对象应该是一个选择查询对象,它负责将“课堂信息表”和“课程信息表”内的关联记录连接形成一个完整的课堂基本数据记录。10.2.1 “课堂信息查询”对象2.“课堂信息查询”对象的设计参数显然,根据上述对于“课堂信息查询”对象功用的分析,所需要的“课堂信息查询”对象运行视图需如第5章图5-1-8所示,其采用SQL语句描述的设计参数如下。SELECT 课堂信息表.课堂编号,课堂信息表.课程代码,课程信息表.课程名称,课堂信息表.专业,课堂信息表.年级,课堂信息表.班级,课堂信息表.人数,课堂信息表.校区,课程信息表.总学时,课堂信息表.周学时,课堂信息表.教学周次 FROM 课程信息表 LEFT JOIN 课堂信息表 ON 课程信息表.课程代码 =课堂信息表.课程代码 ORDER BY 课堂信息表.课堂编号;10.2.2 “教材预订查询”对象1.“教材预订查询”对象的功用在设计“教材预订信息编辑”窗体时,需要设置一个“教材预订子窗体”的窗体对象。为了使得这个子窗体对象数据源简洁,可以基于“教材预订表”设计“教材预订查询”对象,以此作为“教材预订子窗体”数据源。这就是“教材预订查询”对象的功用。因此,“教材预订查询”对象应该是一个选择查询对象,它负责筛选出“教材预订表”中的全部记录形成“教材预订子窗体”的数据源。10.2.2 “教材预订查询”对象2.“教材预订查询”对象的设计参数显然,根据上述对于“教材预订查询”对象功用的分析,所需要的“教材预订查询”对象运行视图应如图10-2-1所示。其采用SQL语句描述的设计参数如下。SELECT 教材预订表.课堂编号,教材预订表.课程代码,教材预订表.任课教师,教材预订表.教材名称,教材预订表.出版社,教材预订表.作者,教材预订表.版别,教材预订表.书刊号,教材预订表.预订册数 FROM 教材预订表;10.2.2 “教材预订查询”对象图10-2-1 “教材预订查询”对象运行视图10.2.3 “教材征订信息查询”对象1.“教材征订信息查询”对象的功用“教材征订信息查询”对象的功用在于为“教材征订信息编辑”窗体中的“教材征订子窗体”提供数据源。当操作者输入一条完整的教材征订记录后,他可以单击窗体上的“”来更新原有的教材征订数据,或者单击窗体上的“”来增加一个教材征订数据记录。一旦操作者完成这一项操作,“教材征订子窗体”将计算并显示订购金额数据,这就是“教材征订信息查询”对象的主要功能。为此,需要基于“教材征订表”设计一个具有计算功能字段的“教材征订信息查询”对象,而这个计算字段则是这个“教材征订信息查询”对象的主要功能。10.2.3 “教材征订信息查询”对象2.“教材征订信息查询”对象的设计参数根据上述对于“教材征订信息查询”对象功用的分析,所需要的“教材征订信息查询”对象设计视图如图10-2-2所示。其采用SQL语句描述的设计参数如下。SELECT 教材征订表.课堂编号,教材征订表.书刊号,教材征订表.预订册数,教材征订表.订购册数,教材征订表.教材定价,教材征订表.供书商,教材征订表.订购折扣,教材征订表!教材定价*教材征订表!订购册数*教材征订表!订购折扣 AS 订购金额 FROM 教材征订表;10.2.3 “教材征订信息查询”对象图10-2-2 “教材征订信息查询”对象设计视图10.3 “教材征订管理信息系统”窗体对象集成“教材征订管理信息系统”数据库中主要包括四个功能窗体对象和一个主界面窗体对象,本节将集中描述各个窗体的功能及其运行视图操作要点,用以帮助整体归纳前面所介绍的所有知识。10.3.1 “课程信息编辑”窗体对象功能与操作“课程信息编辑”窗体对象用于为教学管理人员提供录入新的课程数据记录、修改原有课程的相关数据、或者删除那些已经不再开设的课程数据记录时调用的操作界面。操作者可利用窗体内的各种命令按钮实现其功能10.3.2 “课堂信息编辑”窗体对象功能与操作“课堂信息编辑”窗体对象用于为教学管理人员提供依据课程数据记录设置课堂,或者删除一些设置错误的课堂数据记录时调用的操作界面。操作者可以根据实际需要,利用各种命令按钮完成添加,删除等功能10.3.4 “教材预订信息编辑”窗体对象设计1.“教材预订信息编辑”窗体对象功能分析“教材预订信息编辑”窗体对象的功用在于为教学管理人员提供录入、修改各个课堂任课教师预订教材数据的操作界面,同时提供删除录入错误的教材预订数据记录的功能。除此之外,教学管理人员还可以在“教材预订信息编辑”窗体运行视图中驱动“教材预订数据报表”和“教材预订数据标签”的打印预览操作。根据以上对于“教材预订信息编辑”窗体对象功能的分析,其窗体运行视图需如图10-3-1所示。10.3.4 “教材预订信息编辑”窗体对象设计图10-3-1 “教材预订信息编辑”窗体对象运行视图10.3.4 “教材预订信息编辑”窗体对象设计2.“教材预订信息编辑”窗体对象设计为了实现上述“教材预订信息编辑”窗体对象的各项功能,可以采用如下步骤进行设计。(1)设计主窗体结构首先,进入Access窗体设计视图,设定窗体数据源为“课堂信息查询”。然后,在窗体页眉区域内设置一个标签控件,令其标题属性为“教材预订信息编辑”;设置一个组合框控件,令其行来源属性值为SQL语句:SELECT DISTINCT 课堂信息查询.课堂编号 FROM 课堂信息查询;并令其伴随标签标题属性值为“课堂编号”。10.3.4 “教材预订信息编辑”窗体对象设计接着,将数据源中的所有字段均安放在窗体页眉区域内的合适位置上,并将所有数据源字段对应的文本框控件的“是否锁定”属性均设置为“是”。然后,在窗体页眉区域内的合适位置上设置六个文本框控件,各自的伴随标签标题属性值分别为“任课教师”、“教材名称”、“作者”、“书刊号”、“版别”和“预订册数”。并在窗体页眉区域内的合适位置上设置一个组合框控件,令其行来源属性值为SQL语句:SELECT 出版社表.出版社 FROM 出版社表 ORDER BY 出版社 DESC;并令其伴随标签标题属性值为“出版社”。最后,在窗体页脚区域内设置五个命令按钮控件,均应该应用Access命令按钮向导进行设置。10.3.4 “教材预订信息编辑”窗体对象设计标题属性值为“预览教材预订数据报表”的命令按钮控件处理单击事件的方法是驱动“教材预订数据报表”对象的预览视图。因此,应该在Access命令按钮向导对话框中选定“报表操作”|“预览报表”,并指定需要驱动的报表对象为“教材预订数据报表”。其自动生成的VBA程序代码应为:(假定该命令按钮控件的“Name”属性值为“Command40”)10.3.4 “教材预订信息编辑”窗体对象设计Private Sub Command40_Click()On Error GoTo Err_Command40_Click Dim stDocName As String stDocName=教材预订数据报表 DoCmd.OpenReport stDocName,acPreviewExit_Command40_Click:Exit SubErr_Command40_Click:MsgBox Err.Description Resume Exit_Command40_ClickEnd Sub10.3.4 “教材预订信息编辑”窗体对象设计标题属性值为“预览教材预订数据标签”的命令按钮控件处理单击事件的方法是驱动“教材预订数据标签”对象的预览视图。因此,应该在Access命令按钮向导对话框中选定“报表操作”|“预览报表”,并指定需要驱动的报表对象为“教材预订数据标签”。其自动生成的VBA程序代码应为:(假定该命令按钮控件的“Name”属性值为“Command41”)10.3.4 “教材预订信息编辑”窗体对象设计Private Sub Command41_Click()On Error GoTo Err_Command41_Click Dim stDocName As String stDocName=教材预订数据标签 DoCmd.OpenReport stDocName,acPreviewExit_Command41_Click:Exit SubErr_Command41_Click:MsgBox Err.Description Resume Exit_Command41_ClickEnd Sub10.3.4 “教材预订信息编辑”窗体对象设计标题属性值为“退出操作”的命令按钮控件处理单击事件的方法是关闭“教材预订信息编辑”窗体对象的运行视图。因此,应该在Access命令按钮向导对话框中选定“窗体操作”|“关闭窗体”。其自动生成的VBA程序代码应为:(假定该命令按钮控件的“Name”属性值为“Command35”)Private Sub Command35_Click()On Error GoTo Err_Command35_Click DoCmd.CloseExit_Command35_Click:Exit SubErr_Command35_Click:MsgBox Err.Description Resume Exit_Command35_ClickEnd Sub 10.3.4 “教材预订信息编辑”窗体对象设计标题属性值为“删除当前教材预订数据记录”的命令按钮控件处理单击事件的方法是删除当前光标所在行的教材预订数据记录。因此,应该在Access命令按钮向导对话框中选定“记录操作”|“删除记录”,即可自动生成对应的VBA程序代码。但是,这样自动生成的VBA程序代码尚不足以实现所需要的功能,我们将在设计完成子窗体后在讲解经过修改后的VBA程序代码。10.3.4 “教材预订信息编辑”窗体对象设计标题属性值为“修改当前教材预订数据”的命令按钮控件处理单击事件的方法是定位并保存一条数据记录。因此,应该在Access命令按钮向导对话框中选定“记录导航”|“查找记录”,即可自动生成对应的VBA程序代码。但是,这样自动生成的VBA程序代码尚不足以实现所需要的功能,我们将在设计完成子窗体后在讲解经过修改后的VBA程序代码。10.3.4 “教材预订信息编辑”窗体对象设计(2)设计子窗体设计“教材预订信息编辑”窗体中的子窗体,应该应用Access子窗体向导进行。子窗体数据源需设置为“教材预订查询”。请参阅第6章6.2.2节所述子窗体向导的应用,从而实现“教材预订信息编辑”窗体中的子窗体“教材预订子窗体”的设计。10.3.4 “教材预订信息编辑”窗体对象设计(3)设计事件处理程序“教材预订信息编辑”窗体需要有能力处理六个事件,亦即需要编写六段VBA程序代码。其中,标题属性值分别为“预览教材预订数据报表”、“预览教材预订数据标签”和“退出操作”的命令按钮控件处理单击事件的方法均已经交由Access命令按钮向导自动生成,我们仅需要编写其余的三段VBA程序代码。首先,要求伴随标签为“课堂编号”的组合框控件能够处理“更新后”事件,其VBA程序代码应为:(假定该组合框控件的“Name”属性值为“Combo7”)10.3.4 “教材预订信息编辑”窗体对象设计Private Sub Combo7_AfterUpdate()查找与该控件匹配的记录。Dim rs As Object Set rs=Me.Recordset.Clone rs.FindFirst 课堂编号=&Me!Combo7&If Not rs.EOF Then Me.Bookmark=rs.Bookmark Text11=DSum(人数,课堂信息查询,课堂编号=&Me!Combo7&)Me!教材预订子窗体.SetFocus DoCmd.FindRecord Me!Combo7,True,True If Me!教材预订子窗体!课堂编号=Me!Combo7 Then Me!Text14=Me!教材预订子窗体!任课教师 Me!Text16=Me!教材预订子窗体!教材名称 Me!Text27=Me!教材预订子窗体!作者 Me!Text29=Me!教材预订子窗体!书刊号 Me!Combo38=Me!教材预订子窗体!出版社 Me!Text31=Me!教材预订子窗体!版别 Me!Text33=Me!教材预订子窗体!预订册数 10.3.4 “教材预订信息编辑”窗体对象设计 Command37.Visible=True Command37.Caption=修改当前教材预订数据“Else DoCmd.GoToRecord,acLast Command37.Visible=True Command37.Caption=增加教材预订数据记录 End IfEnd Sub 10.3.4 “教材预订信息编辑”窗体对象设计然后,需要更改“标题”属性值为“删除当前教材预订数据记录”的命令按钮处理单击事件的处理方法,其VBA程序代码应为:(假定该命令按钮控件的“Name”属性值为“Command36”)Private Sub Command36_Click()On Error GoTo Err_Command36_Click Me!教材预订子窗体.SetFocus DoCmd.DoMenuItem acFormBar,acEditMenu,8,acMenuVer70 DoCmd.DoMenuItem acFormBar,acEditMenu,6,acMenuVer70Exit_Command36_Click:Exit SubErr_Command36_Click:MsgBox Err.Description Resume Exit_Command36_ClickEnd Sub 10.3.4 “教材预订信息编辑”窗体对象设计最后,需要更改“标题”属性值为“修改当前教材预订数据”的命令按钮处理单击事件的处理方法,其VBA程序代码应为:(假定该命令按钮控件的“Name”属性值为“Command37”)Private Sub Command37_Click()On Error GoTo Err_Command37_Click Me!教材预订子窗体.SetFocus If Me.Command37.Caption=修改当前教材预订数据 Then DoCmd.FindRecord Me!Combo7,True,True Me!教材预订子窗体!任课教师=Me!Text14 Me!教材预订子窗体!教材名称=Me!Text16 Me!教材预订子窗体!作者=Me!Text27 Me!教材预订子窗体!书刊号=Me!Text29 Me!教材预订子窗体!出版社=Me!Combo38 Me!教材预订子窗体!版别=Me!Text31 Me!教材预订子窗体!预订册数=Me!Text33 Me!教材预订子窗体!课堂编号=Me!Combo7 Me!教材预订子窗体!课程代码=Me!课程代码10.3.4 “教材预订信息编辑”窗体对象设计Else DoCmd.GoToRecord,acNewRec Me!教材预订子窗体!任课教师=Me!Text14 Me!教材预订子窗体!教材名称=Me!Text16 Me!教材预订子窗体!作者=Me!Text27 Me!教材预订子窗体!书刊号=Me!Text29 Me!教材预订子窗体!出版社=Me!Combo38 Me!教材预订子窗体!版别=Me!Text31 Me!教材预订子窗体!预订册数=Me!Text33 Me!教材预订子窗体!课堂编号=Me!Combo7 Me!教材预订子窗体!课程代码=Me!课程代码 End IfExit_Command37_Click:Exit SubErr_Command37_Click:MsgBox Err.Description Resume Exit_Command37_ClickEnd Sub 至此,“教材预订信息编辑”窗体设计完毕。10.3.5 “教材征订信息编辑”窗体对象设计1.“教材征订信息编辑”窗体对象功能分析“教材征订信息编辑”窗体对象的功用在于为教学管理人员提供录入、修改各个课堂预订教材征订数据的操作界面,同时提供删除录入错误的教材征订数据记录的功能。亦即形成“教材征订表”数据记录,用以记录各个课堂教材的征订数量、供书商以及征订折扣的信息。操作者可以根据实际需要,利用各种命令按钮完成各相应的功能根据以上对于“教材征订信息编辑”窗体对象功能的分析,其窗体运行视图需如图10-3-2所示。10.3.5 “教材征订信息编辑”窗体对象设计图10-3-2 “教材征订信息编辑”窗体对象运行视图10.3.5 “教材征订信息编辑”窗体对象设计2.“教材征订信息编辑”窗体对象设计为了实现上述“教材征订信息编辑”窗体对象的各项功能,可以采用如下步骤进行设计。(1)设计主窗体结构首先,进入Access窗体设计视图,设定窗体数据源为“教材预订表”。然后,在窗体页眉区域内设置一个标签控件,令其标题属性为“教材征订信息编辑”;设置一个组合框控件,令其行来源属性值为SQL语句:SELECT DISTINCT 教材预订表.课堂编号 FROM 教材预订表;并令其伴随标签标题属性值为“课堂编号”。10.3.5 “教材征订信息编辑”窗体对象设计接着,将数据源中的所有字段均安放在窗体页眉区域内的合适位置上,并将所有数据源字段对应的文本框控件的“是否锁定”属性均设置为“是”。另外,还需将“课堂编号”文本框的前景色、背景色均设置为与窗体背景色相同,以保证这个文本框控件在窗体运行视图上不可见。然后,在窗体页眉区域内的合适位置上设置三个文本框控件,各自的伴随标签标题属性值分别为“订购册数”、“教材定价”和“订购折扣”。并在窗体页眉区域内的合适位置上设置一个组合框控件,令其行来源属性值为SQL语句:SELECT 供书商表.供书商 FROM 供书商表 ORDER BY 供书商 DESC;并令其伴随标签标题属性值为“供书商”。最后,在窗体页脚区域内设置三个命令按钮控件,均应该应用Access命令按钮向导进行设置。10.3.5 “教材征订信息编辑”窗体对象设计标题属性值为“退出操作”的命令按钮控件处理单击事件的方法是关闭“教材征订信息编辑”窗体对象的运行视图。因此,应该在Access命令按钮向导对话框中选定“窗体操作”|“关闭窗体”。其自动生成的VBA程序代码应为:(假定该命令按钮控件的“Name”属性值为“Command35”)Private Sub Command35_Click()On Error GoTo Err_Command35_Click DoCmd.CloseExit_Command35_Click:Exit SubErr_Command35_Click:MsgBox Err.Description Resume Exit_Command35_ClickEnd Sub 10.3.5 “教材征订信息编辑”窗体对象设计标题属性值为“删除当前教材征订数据记录”的命令按钮控件处理单击事件的方法是删除当前光标所在行的教材征订数据记录。因此,应该在Access命令按钮向导对话框中选定“记录操作”|“删除记录”,即可自动生成对应的VBA程序代码。但是,这样自动生成的VBA程序代码尚不足以实现所需要的功能,我们将在设计完成子窗体后在讲解经过修改后的VBA程序代码。10.3.5 “教材征订信息编辑”窗体对象设计标题属性值为“修改当前教材征订数据”的命令按钮控件处理单击事件的方法是定位并保存一条数据记录。因此,应该在Access命令按钮向导对话框中选定“记录导航”|“查找记录”,即可自动生成对应的VBA程序代码。但是,这样自动生成的VBA程序代码亦不足以实现所需要的功能,我们将在设计完成子窗体后在讲解经过修改后的VBA程序代码。10.3.5 “教材征订信息编辑”窗体对象设计(2)设计子窗体设计“教材征订信息编辑”窗体中的子窗体,也应该应用Access子窗体向导进行。子窗体数据源需设置为“教材征订查询”。请参阅第6章6.2.2节所述子窗体向导的应用,从而实现“教材征订信息编辑”窗体中的子窗体“教材征订子窗体”的设计。10.3.5 “教材征订信息编辑”窗体对象设计(3)设计事件处理程序“教材征订信息编辑”窗体需要有能力处理四个事件,亦即需要编写四段VBA程序代码。其中,标题属性值为“退出操作”的命令按钮控件处理单击事件的方法均已经交由Access命令按钮向导自动生成,我们仅需要编写其余的三段VBA程序代码。首先,要求伴随标签为“课堂编号”的组合框控件能够处理“更新后”事件,其VBA程序代码应为:(假定该组合框控件的“Name”属性值为“Combo7”)10.3.5 “教材征订信息编辑”窗体对象设计Private Sub Combo7_AfterUpdate()查找与该控件匹配的记录。Dim rs As Object Set rs=Me.Recordset.Clone rs.FindFirst 课堂编号=&Me!Combo7&If Not rs.EOF Then Me.Bookmark=rs.Bookmark Me!教材征订子窗体.SetFocus DoCmd.FindRecord Me!Combo7,True,True If Me!教材征订子窗体!课堂编号=Me!Combo7 Then Command37.Visible=True Command37.Caption=修改当前教材征订数据 Me!Combo21=Me!教材征订子窗体!供书商 Me!Text23=Me!教材征订子窗体!订购册数 Me!Text25=Me!教材征订子窗体!教材定价 Me!Text27=Me!教材征订子窗体!订购折扣10.3.5 “教材征订信息编辑”窗体对象设计 Else DoCmd.GoToRecord,acLast Command37.Visible=True Command37.Caption=增加教材征订数据记录 End IfEnd Sub然后,需要更改“标题”属性值为“删除当前教材征订数据记录”的命令按钮处理单击事件的处理方法,其VBA程序代码应为:(假定该命令按钮控件的“Name”属性值为“Command36”)10.3.5 “教材征订信息编辑”窗体对象设计Private Sub Command36_Click()On Error GoTo Err_Command36_Click Me!教材征订子窗体.SetFocus DoCmd.DoMenuItem acFormBar,acEditMenu,8,acMenuVer70 DoCmd.DoMenuItem acFormBar,acEditMenu,6,acMenuVer70Exit_Command36_Click:Exit SubErr_Command36_Click:MsgBox Err.Description Resume Exit_Command36_ClickEnd Sub最后,需要更改“标题”属性值为“修改当前教材征订数据”的命令按钮处理单击事件的处理方法,其VBA程序代码应为:(假定该命令按钮控件的“Name”属性值为“Command37”)10.3.5 “教材征订信息编辑”窗体对象设计Private Sub Command37_Click()On Error GoTo Err_Command37_Click Me!教材征订子窗体.SetFocus If Me.Command37.Caption=修改当前教材征订数据 Then DoCmd.FindRecord Me!Combo7,True,True Me!教材征订子窗体!供书商=Me!Combo21 Me!教材征订子窗体!订购册数=Me!Text23 Me!教材征订子窗体!教材定价=Me!Text25 Me!教材征订子窗体!订购折扣=Me!Text27 Else DoCmd.GoToRecord,acNewRec Me!教材征订子窗体!课堂编号=Me!Combo7 Me!教材征订子窗体!书刊号=Me!书刊号10.3.5 “教材征订信息编辑”窗体对象设计 Me!教材征订子窗体!预订册数=Me!预订册数 Me!教材征订子窗体!订购册数=Me!Text23 Me!教材征订子窗体!教材定价=Me!Text25 Me!教材征订子窗体!供书商=Me!Combo21 Me!教材征订子窗体!订购折扣=Me!Text27 End IfExit_Command37_Click:Exit SubErr_Command37_Click:MsgBox Err.Description Resume Exit_Command37_ClickEnd Sub至此,“教材征订信息编辑”窗体设计完毕。10.3.6 “教材征订管理信息系统”窗体对象1.“教材征订管理信息系统”窗体对象的功用“教材征订管理信息系统”窗体是“教材征订管理信息系统”数据库的主界面窗体,用于申明版权、实现系统内各个功能窗体的调用功能。在“教材征订管理信息系统”窗体操作界面中部安置有四个命令按钮,单击其中的一个按钮,即可调用一个功能窗体进入运行视图状态。窗体下部的命令按钮为“退出”按钮,单击它即可退出“教材征订管理信息系统”,并返回至Access数据库设计视图窗口中。这个主界面窗体由一个名为“AutoExec”的宏对象驱动,一旦进入“教材征订管理信息系统”数据库,宏“AutoExec”即自动执行,并驱动“教材征订管理信息系统”窗体运行。10.3.6 “教材征订管理信息系统”窗体对象2.“教材征订管理信息系统”窗体对象的运行视图形式“教材征订管理信息系统”窗体对象的运行视图如图10-3-3所示。图10-3-3 “教材征订管理信息系统”窗体运行视图10.4 “教材征订管理信息系统”报表对象集成“教材征订管理信息系统”数据库中包括两个报表对象,其设计参数的设置操作方法均已经在第8章中作了介绍,本节将对其进行全面的归纳。10.4.1 “教材预订数据报表”对象功用“教材预订数据报表”对象由“教材预订信息编辑”窗体上的命令按钮“”驱动,以实现“教材预订数据报表”的打印预览。“教材预订数据报表”设计需严格遵循系统应用的报表格式要求。“教材征订管理信息系统”设计的报表格式完全是根据本系统的需求分析设计的,可以根据自己的理解加以调整。10.4.2 “教材预订数据标签”报表对象功用“教材预订数据标签”报表对象是一个包含若干个相互独立数据单元的报表对象,其中的每一个数据单元构成一张教材预订数据标签。教材管理人员在需要发出教材预订数据标签时,可以打印这个报表,然后裁剪出一份份的教材预订数据标签。“教材预订数据标签”报表对象的设计需严格遵循系统应用的报表格式要求。“教材征订管理信息系统”设计的“教材预订数据标签”报表格式完全是根据本系统的需求分析设计的,可以根据自己的理解加以调整。10.5 “教材征订管理信息系统”宏对象集成命名为“AutoExec”的宏对象是Access数据库中的一个特殊功能宏。基于Access的这一特性,“教材征订管理信息系统”数据库中创建了这个名为“AutoExec”的特殊宏,以保证一旦打开“教材征订管理信息系统”数据库,即刻执行这个宏所设定的操作。实际上,“教材征订管理信息系统”数据库中的“AutoExec”宏只包含一项打开窗体的操作:OpenForm“教材征订管理信息系统”,acNormal,acNormal用于在打开“教材征订管理信息系统”数据库时,自动打开“教材征订管理信息系统”的主控窗口“教材征订管理信息系统”,使得发布的数据库应用系统得以顺利启动。10.6 Access数据库的网络应用与发布Access数据库系统能够实现较为完美的网络功能,问题是如何设计数据库应用系统的共享方式,如何规划数据库应用系统的用户群组及其各自的权限,如何保证数据库应用系统中的数据和功能安全可靠性。一个完备的计算机网络中包含有多种类型的网络设备,包括各类服务器设备、工作站设备、交换设备、接入设备等等。本节只是讨论基于Windows对等网环境下的Access网络数据库应用系统,这也符合Access这样一种小型数据库管理系统的实际应用环境。10.6.1 Access数据库的网络应用方案在多用户环境下,Access数据库应用系统提供三种共享方案:1.共享整个数据库是一种文件共享方案,2.共享数据表属于一种客户/服务器方案,3.提供数据访问页为一种浏览/服务器方案。10.6.2 Access数据库的用户群组与操作权限我们介绍“教材征订管理信息系统”数据库的安全机制设置方法,以及用户群组、操作权限的规划与设定方法。1规划网络应用方案假定这个在Access数据库管理系统平台上开发的“教材征订管理信息系统”数据库运行于一个Windows对等网络上,并采用共享整个数据库的文件共享方式运行。“教材征订管理信息系统”数据库对象存放在一个称为“Lee”的计算机上,存储路径为:“D:book”,并设置该目录为完全共享。对等网络上的各台计算机均使用Windows操作系统,且安装有Office套件。并要求各台计算机在同一个网络工作组中,否则,在指定工作组信息文件存储位置时,需要作一些调整。10.6.2 Access数据库的用户群组与操作权限为“教材征订管理信息系统”数据库对象分三类设置五个合法用户,各个用户信息列于表10-7-1中。表10-7-1 “教材征订管理信息系统”用户权限规划用户类别用户名用户口令权限设定系统管理员ConservatorAAAAAA对数据库中的全部对象拥有所有权力。教学管理员ZhaoBBBBBB有权进行“课程信息编辑”和“课堂信息编辑”操作QianCCCCCC教材管理员WangDDDDDD有权进行“教材预订信息编辑”和“教材征订信息编辑”操作,并可以打印“教材预订数据报表”和“教材预订数据标签”。ZhangEEEEEE10.6.2 Access数据库的用户群组与操作权限2设置安全机制首先打开“教材征订管理信息系统”数据库