考生文件夹下存在一个数据库文件"samp3.mdb"。"samp3.mdb"数据库里面已经设计了表对象"tEmp"和"tGroup"、窗体对象"fEmp"、报表对象"rEmp"和宏对象"mEmp"。试...
(1)设置报表"rEmp"的相关属性,使其显示年龄小于30岁(不含30)、职务为"职员"的女职工记录。设置报表主体节区内"tName"文本框控件的显示内容为"姓名"字段值。
(2)将报表"rEmp"主体节区内文本框"tDept"的控件来源属性设置为计算控件。要求该控件可以根据报表数据源中的"所属部门"字段值,从非数据源表对象"tGroup"中检索出对应的部门名称并显示输出。在适当位置增加一个计算控件(命名为tAvg),计算并显示每个部门的平均年龄。
说明:适当位置是指组页脚、页面页脚或报表页脚。
提示:考虑使用Dlookup函数。
(3)设置窗体"fEmp"的窗体标题为"职员基本情况查询";将宏"mEmp"重命名为自动执行的宏。
(4)在"fEmp"窗体的窗体页眉节上有一个文本框(名为"txtName")和一个命令按钮(名为"cmdQuery")。在文本框中输入职员姓名后,单击"cmdQuery"命令按钮,调用事件代码将依据输入的姓名在"tEmp"表中进行查找,并将找到的信息添加到主体节相应文本框中,如果没有找到将显示提示信息"对不起,没有这个职员!";如果在"txtName"文本框中未输入姓名,单击"cmdQuery"命令按钮后,将显示提示信息"对不起,未输入职员姓名,请输入!"。根据上述功能描述,按照VBA代码指示,将代码补充完整。
注意:不允许修改数据库中的表对象"tEmp"和"tGroup";不允许修改宏对象"mEmp"里的内容;不允许修改窗体对象"fEmp"和报表对象"rEmp"中未涉及的控件和属性。已给事件过程,只允许在"*****Add*****"与"*****Add*****"之间的空行内补充一条语句、完成设计,不允许增删和修改其它位置已存在的语句。
参考解析: (1)【操作步骤】
步骤1:选择"报表"对象,右键单击"rEmp"报表,在弹出的快捷菜单中选择"设计视图"命令。
步骤2:双击标尺相交处的"报表选择器",打开"属性表"对话框,在该对话框中单击"数据"选项卡,在该选项卡下的"记录源"行中输入"SELECT * FROM tEmp WHERE 年龄<30 AND 性别="女" AND 职务="职员";"。
步骤3:右键单击"tName"文本框控件,在弹出的快捷菜单中选择"属性"命令,打开"属性表"对话框,在该对话框中单击"全部"选项卡,在"控件来源"行下拉框中选择"姓名"。
步骤4:关闭属性表。单击快速工具栏中的"保存"按钮。
(2) 【操作步骤】
步骤1:右键单击 "tDept"文本框控件,在弹出的快捷菜单中选择"属性"命令,打开"属性表"对话框,在该对话框中单击"数据"选项卡,在该选项卡的"控件来源"行中输入"=DLookUp("名称","tGroup","部门编号='" & [所属部门] & "'")"。
步骤2:在"分组、排序和汇总"窗口中单击"添加组"按钮,在"分组形式"行的"选择字段"的下拉列表中选择"所属部门"。
步骤3:单击 "分组、排序和汇总"窗口的"更多"按钮,然后再单击"无页脚节"右侧的下三角按钮,在弹出的下拉列表中选择"有页脚节"。
步骤4:单击"设计"选项卡下"控件"组中的"其他"下三角按钮,单击控件组中的"文本框"控件,单击"所属部门页脚"节的任意区域。弹出"Text"标签和"未绑定"文本框。
步骤5:选中"Text"标签,然后按"Delete"键将其删除。右键单击"未绑定"文本框控件,在弹出的快捷菜单中选择"属性"命令,打开"属性表"对话框,在该对话框中单击"全部"选项卡,在该选项卡的"名称"行中输入"tAvg",在 "控件来源"行中输入"=Avg([年龄])"。
步骤6:关闭属性表。单击快速工具栏中的"保存"按钮。
(3) 【操作步骤】
步骤1:选择"窗体"对象,右键单击"fEmp"窗体,在弹出的快捷菜单中选择"设计视图"命令。
步骤2:双击标尺相交处的"窗体选择器",打开"属性表"对话框,在该对话框中单击"格式"选项卡,在该选项卡下的"标题"行中输入"职员基本情况查询。
步骤3:选择"宏"对象,右键单击"mEmp"宏,在弹出的快捷菜单中选择"重命名"命令。
步骤4:输入"AutoExec",单击数据库的任意区域,然后单击快速工具栏中的"保存"按钮。
(4) 【操作步骤】
步骤1:右键单击"cmdQuery"按钮,在弹出的快捷菜单中选择"属性"命令,打开"属性表"对话框,在该对话框中单击"事件"选项卡,然后再单击该选项卡下的"单击"行右侧的事件生成器按钮,进入VBA代码编辑区。
步骤2:在"'*****add1*****"区域的空白行输入"If IsNull(Trim(Me.txtName)) Then",在"'*****add2*****"区域的空白行中输入"strSQL = "Select*from tEmp where 姓名='" & name & "'"", 在"'*****add3*****"区域的空白行中输入"If rs.EOF Then"。
步骤3:单击快速工具栏中的"保存"按钮,然后关闭VBA代码编辑区。
步骤4:单击快速工具栏中的"保存"按钮,然后关闭"设计视图"。