1、国家二级 VB机试(上机操作)模拟试卷 276及答案与解析 一、基本操作题 1 在考生文件夹下,存在一个数据库文件 “samp1 accdb”,里边已经设计好了表对象 “tDoctor”、 “tOffice”、 “tPatient”和 “tSubscribe”,同时还设计了窗体对象“fSubscr4be”。试按以下操作要求,完成各种操作。 (1)分析 “tSubscribe”预约数据表的字段构成,判断并设置其主键。设置 “科室 ID”字段的字段大小,使其与 “tOffice”表中相关字段的字段大小一致。删除医生 “专 长 ”字段。 (2)设置 “tSubscribe”表中 “医生 ID”字段的
2、相关属性,使其输入的数据只能为第 1个字符为 “A”,从第 2个字符开始后三位只能是 0 9之间的数字,并设置该字段为必填字段。设置 “预约日期 ”字段的有效性规则为:只能输入系统时间以后的日期。 要求:使用函数获取系统时间。 (3)设置 “tDoctor”表中 “性别 ”字段的默认值为 “男 ”,并设置该字段值的输入方式为从下拉列表中选择 “男 ”或 “女 ”选项值。设置 “年龄 ”字段的有效性规则和有效性文本,有效性规则为:输入年龄必须在 18岁至 60岁之间 (含 18岁和 60岁 ),有效性文本内容为: “年龄应在 18岁到 60岁之间 ”。 (4)设置 “tDoctol”表的显示格式
3、,使表的背景颜色为 “褐色 2”,网格线为 “黑色 ”。设置数据表中显示所有字段。 (5)通过相关字段建立 “tDoctor”、 “tOffice”、 “tPatient”和 “tSubscribe”等四表之间的关系,并实施参照完整性。 (6)将窗体 “fSubscribe”主体节区内文本框 “tDept”和 “tDoct”的控件来源属性设置为计算控件。要求该控件可以根据窗体数据源里 的 “科窜 ID”和 “医生 ID”字段值,分别从非数据源表对象 “tPatient”和 “tDoctor”中检索出对应的科室名称和医生姓名并显示输出。 提示:考虑使用 DLookup函数。 二、简单应用题 2
4、在考生文件夹下,存在一个数据库文件 “samp2 accdb”,里而已经设计好表对象“tDoctor”、 “tOffice”、 “tPatient”和 “tSubscribe”,同时还设计出窗体对象 “fQuery”。试按以下要求完成设计。 (1)创建一个查询,查找姓名为两个字的姓 “王 ”病人的预约信息 ,并显示病人的“姓名 ”、 “年龄 ”、 “性别 ”、 “预约日期 ”、 “科室名称 ”和 “医生姓名 ”,所建查询命名为 “qT1”。 (2)创建一个查询,统计星期一预约病人的平均年龄,要求输出一列内容,显示标题为 “平均年龄 ”,所建查询命名为 “qT2”。 (3)创建一个查询,查找预约
5、了但没有留下电话的病人,并显示 “姓名 ”,所建查询命名为 “qT3”。 注意:病人的姓名不允许重复显示。 (4)现有一个已经建好的 “fQuery”窗体,运行该窗体后,在文本框 (文本框名称为tName)中输入要查询的医生姓名 ,然后按下 “查询 ”按钮,即运行一个名为 “qT4”的查询。 “qT4”杳询的功能是显爪所查医生的 “医生姓名 ”和 “预约人数 ”两列信息,其中 “预约人数 ”值由 “病人 ID”字段统计得到,请设计 “qT4”查询。 三、综合应用题 3 在考生文件夹下,存在一个数据库文件 “samp3 accdb”,里面已经设计好表对象“tStudent”,同时还设计出窗体对象
6、 “fQuery”、 “fStudent”和 “fCount”。请在此基础上按照以下要求补充 “fQuery”和 “fCount”窗体的设计。 (1)加载 “fQuery”时重置窗体标题并改为 “显示查询信息 ”,将窗体中 “退出 ”命令按钮 (名称为 “命令 7”)上显示的文字颜色自动改为红色 (红色值为 255),字体粗细改为“加粗 ”(加粗值为 700)。请按照 VBA代码中的指示将实现此功能的代码补充完整。 (2)在 “fQuery”窗体距主体节下边 0 4cm、左边 0 4cm位置添加一个矩形控件,其名称为 “rRim”:矩形宽度为 16 6cm、高度为 1 2cm、特殊效果为 “凿
7、痕 ”。将窗体边楸改为 “对话框边框 ”样式,取消窗休中的水平和难直滚动条、记录选择器、导航按钮和分隔线。 (3)在 “fQuery”窗体中有一个 “显示全部记求 ”命令按钮 (名称为 bList),单击该按钮后,应实现将 “tStudent”表中的全部记录显示出来的功能。现已编写了部分 VBA代码,请按照 VBA代码中的指示将代码补充完整。 要求:修改后运行该窗体,并查看修改结果。 (4)在 “fCount”窗体中有两个列表框、一个文本框和一个命令按钮,名称分别为“List0”、 “List1”、 “tData”和 “Cmd”。在 “tData”文本框中输入一个数,单击 “Cmd”按钮,程序
8、将判断输入的值是奇数还是偶数,如 果是奇数将填入 “List0”列表中,否则填入 “List1”列表中。根据以上描述,请按照 VBA代码中的指示将代码补充完整。 注意:不允许修改窗体对象 “fQuery”、 “fStudent”和 “fCount”中未涉及的控件、属性;不允许修改表对象 “tStudent”。程序代码只允许在 “*Add*”与“*Add*”之间的空行内补充一行语句、完成设计,不允许增删和修改其它位置已存在的语句。 国家二级 VB机试(上机操作)模拟试卷 276答案与解析 一、基本操作题 1 【正确答 案】 (1)【操作步骤】 步骤 1:选择 “表 ”对象,右键单击 “tSubs
9、cribe”表,在弹出的快捷菜单中选择 “设计视图 ”命令。 步骤 2:右键单击 “预约 ID”行的任一点,在弹出的快捷菜单中选择 “主键 ”命令,如图 4 1所示。然后单击快速访问工具栏中的 “保存 ”按钮。 步骤 3:选择 “表 ”对象,右键单击 “tOffice”表,在弹出的快捷菜单中选择 “设计视图 ”命令。单击 “科室 ID”行任一点,记录下其 “常规 ”选项卡的 “字段大小 ”行的值 “8”,然后关闭 “tOffice”表。 步骤 4:单击 “科室 ID”行任一点,然后在其 “常 规 ”选项卡的“字段大小 ”行中输入刚刚记录的值 “8”,如图 4 2所示。步骤 5:单击快速访问工具
10、栏中的“保存 ”按钮,在弹出的 “Microsoft Access”的对话框中单击 “是 ”按钮,最后关闭“tSubscfibe”表。 步骤 6:选择 “表 ”对象,右键单击 “tDoctor”表,在弹出的快捷菜单中选择 “设计视图 ”命令。 步骤 7:右键单击 “专长 ”行的任一点,在弹出的快捷菜单中选择 “删除行 ”命令,如图 4 3所示,在弹出的 “Microsoft Access”的对话框中单击 “是 ”按钮,然后单击快速访问工具栏中的 “保存 ”按钮,最后关闭 “tSubscfibe”表。(2)【操作步骤】 步骤 1:选择 “表 ”对象,右键单击 “tSubscribe”表,在弹出的
11、快捷菜单中选择 “设计视图 ”命令。 步骤 2:单击 “医生 ID”行任一点,在其 “常规 ”选项卡的 “输入掩码 ”行中输入 “A“999”,在其“必需 ”行的下拉列表框中选择 “是 ”,如图 4 4所示。步骤 3:单击预约日期 ”行任一点,在其 “常规 ”选项卡的 “有效性规则 ”行中输入 “ Now()”,如图 4 5所示。步骤 4:单打陕速访问工具栏中的 “保存 ”按钮,在弹出的 “Microsoft Access”的对话框中单击 “是 ”按钮,最后关闭“tSubscribe”表。 (3)【操作步骤】 步骤 1:选择 “表 ”对象,右键单击 “tDoctor”表,在弹出的快捷菜单中选择
12、 “设计视图 ”命令。 步骤 2:单击 “性别 ”行任一点,在其“常规 ”选项卡的 “默认值 ”行中输入 “男 ”。 步骤 3:单击 “性别 ”行的 “数据类型 ”列的下拉按钮,在弹出的下拉列表中选择 “查阅向导 ”命令,弹出 “查阅向导 ”对话框,在该对话框中选中 “自行键入所需的值 (V)”单选按钮,然后单击 “下一步 ”按钮,在弹出的对话框中分别输入 “男 ”、 “女 ”,如图 4 6所示 ,再单击 “下一步 ”按钮,最后单击 “完成 ”按钮。 步骤4:单击 “年龄 ”行任一点,在其 “常规 ”选项卡的 “有效性规则 ”行中输入 “ 18And 60”,在其 “有效性文本 ”行中输入 “
13、年龄应在 18岁到 60岁之间 ”,如图 4 7所示。 步骤 5:单击快速访问工具栏中的“保存 ”按钮,在弹出的 “Microsoft Access”的对话框中单击 “是 ”按钮,最后关闭表。 (4)【操作步骤】 步骤 1:选择 “表 ”对象,双击 “tDoctor”表,打开数据表视图。 步骤 2:单击 “开始 ”选项卡下的 “文本格式 ”组中的 “背景色 ”右侧的下拉 按钮,在弹出的颜色选项中,单击 “标准色 ”组中的 “褐色 2”颜色按钮,如图 4 8所示。步骤 3:单击 “开始 ”选项卡下的 “文本格式 ”组中的 “设置数据表格式 ”对话框启动器按钮,打开 “设置数据表格式 ”对话框,单
14、击该对话框中 “网格线颜色 (G)”的下拉按钮,在弹出的下拉列表中单击 “标准色 ”组中的 “黑色 ”颜色按钮。 步骤 4:选中 “tDoctor”表的任意列,直至鼠标指针变成向下的箭头形状,然后右键单击,在弹出的快捷菜单中选择 “取消隐藏字段 (u)”命令,弹出 “取消隐藏列 ”对话框,勾选 “年龄 ”字段前的复选框,最后单击 “关闭 ”按钮,如图 4 9所示。步骤 5:单击快速访问工具栏中的 “保存 ”按钮,关闭数据表视图。 (5)【操作步骤】 步骤 1:单击 “数据库工具 ”选项卡下“关系 ”组中的 “关系 ”按钮,如不出现 “显示表 ”对话框,则单击 “设计 ”选项卡下 “关系 ”组中
15、的 “显示表 ”按钮,在弹出的 “显示表 ”对话框中双击添加表 “tDoctor”、“tOffice”、 “tPatlent”和 “tSubscribe”,然后关闭 “显示表 ”对话框。 步骤 2:选中表“tOffice”中的 “科窜 ID”字段,然后拖动鼠标指针到表 “tSubscribe”中的 “科室 ID”字段,放开鼠标左键,弹出 “编辑关系 ”对话框,在该对话框中勾选 “实施参照完整性(E)”复选框,然后单击 “创建 ”按钮。选中表 “tDoctor”中的 “医生 ID”字段,然后拖动鼠标指针到表 “tSubscribe”中的 “医生 ID”字段,放开鼠标左键,弹出 “编辑关系 ”对话
16、框,在该对话框中,厶 J选 “实施参照完整性 (E)”复选框。然后单击 “创建 ”按钮,如图 4 10所示。选中表 “tPatient”中的 “病人 ID”字段,然后拖动鼠标指针到表“tSubscribe”中的 “病人 ID”字段,放开鼠标 左键,弹出 “编辑关系 ”对话框,在该对话框中勾选 “实施参照完整性 (E)”复选框,然后单击 “创建 ”按钮。步骤 3:单击快速访问工具栏中的 “保存 ”按钮,关闭关系界面。 (6)【操作步骤】 步骤 1:选择 “窗体 ”对象,右键单击 “fSubscribe”窗体,在弹出的快捷菜单中选择 “设计视图 ”命令。 步骤 2:右键单击文本框控件 “tDept
17、”,在弹出的快捷菜单中选择 “属性 ”命令,打开“属性表 ”对话框,然后单击该对话框下的 “数据 ”选项卡,在该选项卡的 “控件来源 ”行中输入 “ DLokUp(“科室名称 “, “tOffice“, ”科室 ID “科室 ID “)”,最后关闭 “属性表 ”对话框。 步骤 3:右键单击文本框控件 “tDoct”,在弹出的快捷菜单中选择 “属性 ”命令,弹出 “属性表 ”对话框,然后单击该对话框下的 “数据 ”选项卡,在该选项卡的 “控件来源 ”行中输入 “ DLookUp(“姓名 “, “tDoctor“, “医生 ID“&医生 ID “)”,关闭 “属性表 ”对话框,如图 4 11所示。
18、步骤 4:单击快速工具栏中的 “保存 ”按钮,关闭设计视图。 二、简单应用题 2 【正确答案】 (1)【操作步骤】 步骤 1:单击 “创建 ”选项卡下 “查询 ”组中的 “查询设计 ”按钮,在弹出的 “显示表 ”对话框中双击添加表 “tDoctor”、 “tOffice”、 “tPatient”和 “tSubscl4be”,然后单击 “关闭 ”按钮,关闭 “显示表 ”对话框。 步骤 2:双击tPatient表的 “姓名 ”、 “年龄 ”、 “性别 ”字段,双击 tSubscribe表的 “预约日期 ”字段,双击 tOffice表的 “科室名称 ”和 tDoctor表的 “医生姓名 ”字段;在
19、“姓名 ”字段的 “条件 ”行中输入 “Like“王 ?“”,如图 4 12所示。步骤 3:单击快速访问工具栏中的 “保 存 ”按钮,另存为 “qT1”,关闭设计视图。 (2)【操作步骤】 步骤 1:单击 “创建 ”选项卡下 “查询 ”组中的 “查询设计 ”按钮,在弹出的 “显示表 ”对话框中双击表“tPatient”和 “tSubscribe”,然后单击 “关闭 ”按钮,关闭 “显示表 ”对话框。 步骤 2:双击 tPatient表中的 “年龄 ”字段以及 tSubscribe表中的 “预约日期 ”字段,然后在 “年龄 ”字段前加 “平均年龄: ”字样。 步骤 3:单击 “查询工具 ”的 “
20、设计 ”选项卡下 “显示隐藏 ”组中的 “汇总 ”按钮,在 “平均年龄 ”字段的 “总计 ”行中选择 “平均值 ”, 在 “预约日期 ”字段的 “总计 ”行中选择 “Where”,在 “预约日期 ”的 “条件 ”行中输入“Weekday(预约日期 ) 2”,如图 4 13所示,然后单击快速访问工具栏中的 “保存 ”按钮,另存为 “qT2”。(3)【操作步骤】 步骤1:单击 “创建 ”选项卡下 “查询 ”组中的 “查询设计 ”按钮,在弹出的 “显示表 ”对话框中双击表 “tPatient”和 “tSubscribe”,然后单击 “关闭 ”按钮,关闭 “显示表 ”对话框。 步骤 2:双击 “姓名
21、”和 “电话 ”字段,然后取消 “电话 ”字段 “显示 ”行复选框的勾选。 步骤 3:单击 “查询工 具 ”的 “设计 ”选项卡下 “显示隐藏 ”组中的 “汇总 ”按钮,在 “电话 ”字段对应的 “总计 ”行中选择 “Where”,在 “条件 ”行中输入 “Is Null”,如图 4 14所示,然后单击快速访问工具栏中的 “保存 ”按钮,另存为 “qT3”。(4)【操作步骤】 步骤 1:单击 “创建 ”选项卡下 “查询 ”组中的 “查询设计 ”按钮,在弹出的 “显示表 ”对话框中双击表 “tDoctor”和 “tSubscribe”,然后单击 “关闭 ”按钮,关闭 “显示表 ”对话框。 步骤2
22、:双击 tDoctor。表中 “医生姓名 ”字段, tSubscribe表中的 “病人 ID”字段,并在 “病人 ID”字段前加 “预约人数: ”字样。 步骤 3:单击 “查询工具 ”的 “设计 ”选项卡下 “显示隐藏 ”组中的 “汇总 ”按钮,在 “预约人数 ”字段的 “总计 ”行中选择 “计数 ”,在 “医生姓名 ”字段的 “条件 ”行中输入 “Forms!fQuery!tName”,如图 4 15所示,然后单击快速访问工具栏中的 “保存 ”按钮,另存为 “qT4”,关闭 “设计视图 ”。三、综合应用题 3 【正确答案】 (1)【操作步骤】 步骤 1:选择 “窗体 ”对象,右键单击 “fQ
23、uery”窗体,在弹出的快捷菜单中选择 “设计视 图 ”命令,打开设计视图。 步骤 2:双击标尺相交处的 “窗体选择器 ”,打开 “属性表 ”对话框,在该对话框中单击 “事件 ”选项卡,然后单击该选项卡下的 “加载 ”行右侧的事件生成器按钮,进入 VBA代码编辑区。 步骤 3:在 “*Add1*”区域的空白行中输入 “Me Caption “显示查询信息“”;在 “*Add2*”区域的空白行中输入 “Me命令 7 ForeColor 255”;在 *Add3*”区域的空白行中输入 “Me命令 7 FontWeight 700”,如图4 16所示。 步骤 4:单击快速工具栏中的 “保存 ”按钮,
24、然后关闭 VBA代码编辑区。 步骤 5:单击快速工具栏中的 “保存 ”按钮,然后关闭 “设计视图 ”。 (2)【操作步骤】 步骤 1:选择 “窗体 ”对象,右键单击 “fQuery”窗体,在弹出的快捷菜单中选择 “设计视图 ”命令。 步骤 2:单击 “设计 ”选项卡下 “控件 ”组中的 “其他 ”下拉按钮,然后单击控件组中的 “矩肜 ”按钮,最后单击窗体主体节区的作意区域。 步骤 3:右键单击刚画好的 “矩形 ”,在弹出的快捷菜单中选择 “属性 ”命令,打开 “属性表 ”对话框,单击该对话框下的 “全部 ”选项卡, 在该选项卡的 “名称 ”行中输入 “rRim”,在 “宽度 ”行中输入 “16
25、 6cm”,在 “高度 ”行中输入 “1 2cm”,在 “上边距 ”行中输入 “0 4cm”,在 “左 ”行中输入“0 4cm”,在 “特殊效果 ”行中选择 “凿痕 ”,如图 4 17所示。步骤 4:双击标尺相交处的 “窗体选择器 ”,弹出 “属性表 ”对话框,在该对话框中单击 “格式 ”选项卡,在该选项卡的 “边框样式 ”行中选择 “对话框边框 ”,在 “滚动条 ”行中选择 “两者均无 ”,在 “记录选择器 ”行中选择 “否 ”,在 “导航按钮 ”行中选择 “否 ”,在 “分隔线 ”行中选择 “否 ”,如图4 18所示。 步骤 5:关闭 “属性表 ”对话框。单击快速工具栏中的 “保存 ”按钮
26、。 (3)【操作步骤】 步骤 1:右键单击 “显示全部记录 ”命令按钮,在弹出的快捷菜单中选择 “属性 ”命令,打开 “属性表 ”对话框,单击该对话框下的 “事件 ”选项卡,然后单击该选项卡下 “加载 ”行右侧的事件生成器按钮,进入 VBA代码编辑区。 步骤 2:在 “*Add4*”区域的“BBB Form RecordSource “”行后输入 “select * from tStudent“”,如图 4 19所示。 步骤 3:单击快速工具栏中的 “保 存 ”按钮,然后关闭 VBA代码编辑区。 步骤 4:单击快速工具栏中的 “保存 ”按钮,然后关闭 “设计视图 ”。 (4)【操作步骤】 步骤 1:选择 “窗体 ”对象,右键单击 “fCount”窗体,在弹出的快捷菜单中选择 “设计视图 ”命令。 步骤 2:右键单击 “Cmd”按钮,在弹出的快捷菜单中选择 “属性 ”命令,打升 “属性表 ”对话框,单击该对话框下的 “事件 ”选项卡,然后单击该选项卡的 “单击 ”行右侧的事件生成器按钮,进入 VBA代码编辑区。 步骤 3:在 “*Add*”区域的空白行中输入 “If x Mod 2 1 Then”,如图 4 20所示。步骤 4:单击快速上具栏中的 “保存 ”按钮,然后关闭 VBA代码编辑区。 步骤 5:单击快速工具栏中的 “保存 ”按钮然后关闭 “设计视图 ”。