1、国家二级 VB机试(上机操作)-试卷 127及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下有一个 Excel文件“Testxlsx”和一个数据库文件“samp1acedb”。在“samplaccdb”数据库文件中已建立 3个表对象(名为“线路”、“游客”和“团体”)和一个窗体对象(名为“brow”)。请按以下要求,完成表和窗体的各种操作。 (1)将“线路”表中的“线路 ID”字段设置为主键;设置“天数”字段的有效性规则属性,有效性规则为非空且大于 0。 (2)将“团队”表中的“团队 ID”字段设置为主键;添加“线路 ID”字段,
2、数据类型为“文本”,字段大小为 8。 (3)将“游客”表中的“年龄”字段删除;添加两个字段,字段名分别为“证件编号”和“证件类别”;“证件编号”的数据类型为“文本”,字段大小为 20;“证件类别”字段的数据类型为“文本”,字段大小为 8,其值的输入要求从下拉列表选择“身份证”、“军官证”或“护照”之一。 (4)将考生文件火下“Testxlsx”文件中的数据链接到当前数据库中。 要求:数据中的第一行作为字段名,链接表对象命名为“tTest”。 (5)建立“线路”、“团队”和“游客”3 个表之间的关系,并实施参照完整性。 (6)修改窗体“brow”,取消“记录选择器”和“分隔线”显示,在窗体页眉处
3、添加一个标签控件(名为 Line),标签标题为“线路介绍”,字体名称为隶书,字体大小为 18。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下有一个数据库文件“samp2accdb”,里面已经设计好两个表对象“tA”和“tB,请按以下要求完成设计。 (1)创建一个查询,查找井显示 6月份入住客人的“姓名”、“房问号”、“电话”和“入住口期”4 个字段的内容,将查询命名为“qT1”。 (2)创建一个查询,能够在客人结账时根据客人的姓名统计这个客人已住天数和应交金额,并显示“姓名”、“房间号”、“已住天数”和“应交金额”,将查询命名为“qT2”。 注:输入姓名时应
4、提示“请输入姓名:” 已住天数按系统日期为客人结账日进行计算。 应交金额已住天数价格。 (3)创建一个查询,查找“身份证”字段第 4位第 6位值为“102”的记录,并显示“姓名”、“入住日期”和“价格”3 个字段的内容,将查询命名为“qT3”。 (4)以表对象“tB”为数据源创建一个查询,使用“房间号”统计并显示每栋楼的各类房间个数。行标题为“楼号”,列标题为“房间类别”,所建查询命名为“qT4”。 注:房间号的前两位为楼号。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个数据库文件“samp3accdb”,里面已经设计了表对象“tEmp”、查询对象“q
5、Emp”和窗体对象“fEmp”。同时,给出窗体对象“fEmp”上两个按钮的单击事件代码,请按以下要求补充设计。 (1)将窗体“iEmp”上名称为“tSS”的文本框控件改为组合框控件,控件名称不变,标签标题小变。设置组合框控件的相关属性,以实现从下拉列表中选择输入性别值“男”和“女”。 (2)选择合适字段,将查询对象“qEmp”改为参数查询,参数为引用窗体对象“fEmp”上组合框“tSS”的输入值。 (3)将窗体对象“fEmp”上名称为“tPa”的文本框控件没置为计算控件。要求依据“党员否”字段值显示相应内容。如果“党员否”字段值为 True,显示“党员”两个字;如果“党员否”字段值为 Fals
6、e,显示“非党员”3 个字。 (4)在窗体对象“fEmp”上有“刷新”和“退出”两个命令按钮,名称分别为“bt1”和“bt2”。单击“刷新”按钮,窗体记录源改为查询对象“qEmp”;单击“退出”按钮,关闭窗体。现已编写了部分 VBA代码,请按 VBA代码中的指示将代码补充完整。 注意:不要修改数据库中的表对象“tEmp”;不要修改查询对象“qEmp”中未涉及的内容;不要修改窗体对象“fEmp”中未涉及的控件和属性。 程序代码只允许在“*Add*”与“*Add*”之间的空行内补充一行语句、完成设计。不允许增删和修改其他位置已存在的语句。(分数:2.00)_国家二级 VB机试(上机操作)-试卷 1
7、27答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下有一个 Excel文件“Testxlsx”和一个数据库文件“samp1acedb”。在“samplaccdb”数据库文件中已建立 3个表对象(名为“线路”、“游客”和“团体”)和一个窗体对象(名为“brow”)。请按以下要求,完成表和窗体的各种操作。 (1)将“线路”表中的“线路 ID”字段设置为主键;设置“天数”字段的有效性规则属性,有效性规则为非空且大于 0。 (2)将“团队”表中的“团队 ID”字段设置为主键;添加“线路 ID”字段,数据类型为“文本”,字段大小为 8。 (3
8、)将“游客”表中的“年龄”字段删除;添加两个字段,字段名分别为“证件编号”和“证件类别”;“证件编号”的数据类型为“文本”,字段大小为 20;“证件类别”字段的数据类型为“文本”,字段大小为 8,其值的输入要求从下拉列表选择“身份证”、“军官证”或“护照”之一。 (4)将考生文件火下“Testxlsx”文件中的数据链接到当前数据库中。 要求:数据中的第一行作为字段名,链接表对象命名为“tTest”。 (5)建立“线路”、“团队”和“游客”3 个表之间的关系,并实施参照完整性。 (6)修改窗体“brow”,取消“记录选择器”和“分隔线”显示,在窗体页眉处添加一个标签控件(名为 Line),标签标
9、题为“线路介绍”,字体名称为隶书,字体大小为 18。(分数:2.00)_正确答案:(正确答案:(1)【操作步骤】 步骤 1:选择“表”对象,右键单击表“线路”,从弹出的快捷菜单中选择“设计视图”命令。 步骤 2:选中“线路 ID”字段行,右键单击“线路 ID”行,从弹出的快捷菜单中选择“主键”命令,如图 3313 所示。 步骤 3:单击“天数”字段行任一点,在的“有效性规则”行输入“0”,如图 3314 所示。 步骤 4:按 CtrlS 保存修改,关闭设计视图。 (2)【操作步骤】 步骤 1:选择“表”对象,右键单击“团队”表,从弹出的快捷菜单中选择“设计视图”命令。 步骤 2:选中“团队 I
10、D”字段行,右键单击“用队 ID”行,从弹出的快捷菜单中选择“主键”命令。 步骤 3:在“出发口期”的下一行“字段名称”列输入“线路 ID”。单击“数据类型”列,在“字段大小”行输入“8”。如图 3315 所示。 步骤 4:按 CtrlS 保存修改,关闭设计视图。 (3)【操作步骤】 步骤 1:右键单击“游客”表,从弹出的快捷菜单中选择“设计视图”命令。 步骤 2:选中“年龄”字段行,右键单击“年龄”行,从弹出的快捷菜单中选择“删除行”,如图 3316 所示。步骤 3:在“团队 ID”字段行的下一行“字段名称”列输入“证件编号”,单击“数据类型”列,在“字段大小”行输入“20”。 步骤 4:在
11、“证件编号”字段行的下一行“字段名称”列输入“证件类型”,单击“数据类型”列,在下拉列表中选择“杳阅向导”,然后在弹出的对话框中选择“自行键入所需的值”单选框,单击“下一步”按钮。在弹出的对话框中依次输入“身份证”、“军官证”和“护照”,单击“下一步”按钮,再单击“完成”按钮,如图 3317 所示。 步骤 5:按 CtrlS 保存修改,关闭设计视图。 (4)【操作步骤】 步骤 1:单击“外部数据”选项卡下的“导入并链接”组中的“Excel”按钮,打开“获取外部数据Excel 电子表格”对话框,单击“浏览”按钮,在考生文件夹找到要导人的文件“testxlsx”,单击“打开”按钮,选择“通过创建链
12、接表来链接到数据源”单选框,单击“确定”按钮。如图 3318 所示。 步骤 2:单击“下一步”按钮,选择“第一行包含列标题”复选框,单击“下一步”按钮。 步骤 3:在“链接表名称”中输入“tTest”,单击“完成”按钮。 (5)【操作步骤】 步骤 1:单击“数据库工具”选项卡“关系”组中的“关系”按钮,如不出现“显示表”对话框则单击“设计”选项卡“关系”组中的“显示表”按钮,在弹出的对话框中分别双击表“线路”、“团队”和“游客”,关闭“显示表”对话框,如图 3319 所示。 步骤 2:选中表“线路”中的“线路 ID”字段,拖动鼠标到表“团队”的“线路 ID”字段,放开鼠标,选择“实施参照完整性
13、”复选框,然后单击“创建”按钮,如图 3320 所示。 步骤 3:选中表“团队”中的“团队 ID”字段,拖动鼠标到表“游客”的“团队。ID”字段,放开鼠标,选择“实施参照完整性”复选框,然后单击“创建”按钮,结果如图 3321 所示。 步骤 4:按 CtrlS 保存修改,关闭关系界面。 (6)【操作步骤】 步骤1:选择“窗体”对象,右键单击“brow”,从弹出的快捷菜单中选择“设计视图”命令。 步骤 2:右键单击“窗体选择器”,从弹出的快捷菜单中选择“属性”命令,分别在“记录选择器”和“分隔线”行下拉列表中选择“否”,如图 3322 所示,关闭属性表。 步骤 3:选择“设计”选项卡“控件”组中
14、的“标签”控件 Aa,单击窗体页眉处,然后输入“线路介绍”,单击设计视图任一处,如图 3323 所示。右键单击该标签,从弹出的快捷菜单中选择“属性”命令,弹出标签属性表。 步骤 4:单击“全部”选项卡,在“名称”行输入“Line”,分别在“字体名称”和“字号”行下拉列表中选择“隶书”和“18”,关闭属性表,如图 3324 所示。 )解析:二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下有一个数据库文件“samp2accdb”,里面已经设计好两个表对象“tA”和“tB,请按以下要求完成设计。 (1)创建一个查询,查找井显示 6月份入住客人的“姓名”、“房问号”、“电话”和“入住口期
15、”4 个字段的内容,将查询命名为“qT1”。 (2)创建一个查询,能够在客人结账时根据客人的姓名统计这个客人已住天数和应交金额,并显示“姓名”、“房间号”、“已住天数”和“应交金额”,将查询命名为“qT2”。 注:输入姓名时应提示“请输入姓名:” 已住天数按系统日期为客人结账日进行计算。 应交金额已住天数价格。 (3)创建一个查询,查找“身份证”字段第 4位第 6位值为“102”的记录,并显示“姓名”、“入住日期”和“价格”3 个字段的内容,将查询命名为“qT3”。 (4)以表对象“tB”为数据源创建一个查询,使用“房间号”统计并显示每栋楼的各类房间个数。行标题为“楼号”,列标题为“房间类别”
16、,所建查询命名为“qT4”。 注:房间号的前两位为楼号。(分数:2.00)_正确答案:(正确答案:(1)【操作步骤】 步骤 1:单击“创建”选项卡“查询”组中的“查询设计”按钮,在“显示表”对话框中分别双击表“tA”和“tB”,关闭“显示表”对话框。 步骤 2:分别双击“姓名”、“房间号”、“电话”和“入住日期”字段将其添加到“字段”行。在“入住日期”的条件行中输入“Month(入住日期)6”,如图 3325 所示。 步骤 3:按 CtrlS 保存修改,另存为“qT1”。关闭设计视图。 (2)【操作步骤】 步骤 1:单击“创建”选项卡“查询”组中的“查询设计”按钮,在“显示表”对话框中分别双击
17、表“tA”和“tB”,关闭“显示表”对话框。 步骤 2:分别双击“姓名”和“房问号”字段将其添加到“字段”行。在“姓名”字段的“条件”行输入“请输入姓名:”。 步骤 3:在字段行下一列输入“已住天数:Day(1)ate()入住日期)”。 步骤 4:在字段行下一列输入“应交金额:Day(Date()入住日期)*价格”。如图 3326 所示。 步骤 5:按 CtrlS 保存修改,另存为“qT2”。关闭设计视图。 (3)【操作步骤】 步骤 1:单击“创建”选项卡“查询”组中的“查询设计”按钮,在“显示表”对话框中分别双击表“tA”和“tB”,关闭“显示表”对话框。 步骤 2:分别双击“姓名”、“入住
18、日期”、“价格”和“身份证”字段添加到“字段”行。 步骤 3:在“身份证”字段的“条件”行输入“Mid(身份证,4,3)“102“”,在“显示”行取消该字段显示,如图 3327 所示。 步骤 4:按 CtrlS 保存修改,另存为“qT3”。关闭设计视图。 (4)【操作步骤】步骤 1:单击“创建”选项卡“查询”组中的“查询设计”按钮,在“显示表”对话框中双击表“tB”,关闭“显示表”对话框。 步骤 2:单击“设计”选项卡“查询类型”组中的“交叉表”按钮。 步骤 3:在字段”行的第一列输入“楼号:Left(房问号,2)”。双击“房间类别”和“房间号”字段。 步骤4:在“房问号”字段“总计”行下拉列
19、表中选择“计数”。 步骤 5:分别在“楼号”、“房间类别”和“房间号”字段的“交义表”行下拉列表中选择“行标题”、“列标题”和“值”,如图 3328 所示。)解析:三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个数据库文件“samp3accdb”,里面已经设计了表对象“tEmp”、查询对象“qEmp”和窗体对象“fEmp”。同时,给出窗体对象“fEmp”上两个按钮的单击事件代码,请按以下要求补充设计。 (1)将窗体“iEmp”上名称为“tSS”的文本框控件改为组合框控件,控件名称不变,标签标题小变。设置组合框控件的相关属性,以实现从下拉列表中选择输入性别值“男”和“女”。
20、(2)选择合适字段,将查询对象“qEmp”改为参数查询,参数为引用窗体对象“fEmp”上组合框“tSS”的输入值。 (3)将窗体对象“fEmp”上名称为“tPa”的文本框控件没置为计算控件。要求依据“党员否”字段值显示相应内容。如果“党员否”字段值为 True,显示“党员”两个字;如果“党员否”字段值为 False,显示“非党员”3 个字。 (4)在窗体对象“fEmp”上有“刷新”和“退出”两个命令按钮,名称分别为“bt1”和“bt2”。单击“刷新”按钮,窗体记录源改为查询对象“qEmp”;单击“退出”按钮,关闭窗体。现已编写了部分 VBA代码,请按 VBA代码中的指示将代码补充完整。 注意:
21、不要修改数据库中的表对象“tEmp”;不要修改查询对象“qEmp”中未涉及的内容;不要修改窗体对象“fEmp”中未涉及的控件和属性。 程序代码只允许在“*Add*”与“*Add*”之间的空行内补充一行语句、完成设计。不允许增删和修改其他位置已存在的语句。(分数:2.00)_正确答案:(正确答案:(1)【操作步骤】 步骤 1:选择“窗体”对象,右键单击“fEmp”,从弹出的快捷菜单中选择“设计视图”命令。 步骤 2:右键单击控件“tSS”,从弹出的快捷菜单中选择“更改为”下的“组合框”命令,然后右键单击“tSS”,从弹出的快捷菜单中选择“属性”命令,在“行来源类型”和“行来源”行分别输入“值列表
22、”和“男;女”,如图 3329 所示,关闭属性表,按 CtrlS 保存修改,关闭设计视图。 (2)【操作步骤】 步骤 1:选择“查询”对象,右键单击“qEmp”,从弹出的快捷菜单中选择“设计视图”命令。 步骤 2:双击“*”和“性别”字段,添加到字段行,在“性别”字段的“条件”行输入“forms!fEmp!tSS”。如图 3330 所示。 步骤 3:按 CtrlS 保存修改,关闭设计视图。 (3)【操作步骤】 右键单击窗体对象“fEmp”,打开设计视图,右键单击文本框“tPa”,从弹出的快捷菜单中选择“属性”命令,在“控件来源”行输入“IIf(党员否True,“党员“,“非党员“)”,关闭属性表,如图 3331 所示。 (4)【操作步骤】 步骤 1:右键单击命令按钮“刷新”,从弹出的快捷菜单中选择“事件生成器”命令,在弹出的对话框中选择“代码生成器”。进入编程环境,存空行输入以下代码: *Add1* FormRecordSource“qEmp“ *Add1* 关闭界面。 步骤 2:右键单击命令按钮“退出”,从弹出的快捷菜单中选择“事件生成器”命令,在弹出的对话框中选择“代码生成器”,进入编程环境,在空行内输入以下代码: *Add2* DoCmdClose *Add2* 如图 3332 所示,关闭界面。 )解析: