1、国家二级 ACCESS 机试选择题(VBA 编程)模拟试卷 1 及答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.打开一个窗体,要通过选择窗体的数据输入与窗体方式,限制窗体所显示的记录,应使黑的宏操作命令是(分数:2.00)A.Open ReportB.Open TableC.Open FarmD.Open Query2.在窗体中有一个命令按钮 Command1,两个文本框 Tect()和 Text1,按钮 Command1 对应的代码过程如下:Private Sub Command1_Clickl() Dim m,k As Integer D
2、im flag As Boolean m=Val(Me!Text0)输入一个整数 Do White 1 k=2 flag=True Do While k=m2 And flag If m Mod k=0 Then flag=False Else k=k+1 End If Loop If flag Then Me!Textl=m输出计算结果 Exit Do Else n=m+1 End If Loop End Sub 运行程序,输入 12,单击按钮,程序的输出结果是(分数:2.00)A.13B.12C.11D.其他整数3.在窗体中有一个命令按钮 Command1,三个文本框 Text0、Text
3、1 个 Text2,命令按钮对应代码过程如下:Private Sub Command1_Click() Dim i,f1,f2 As Integer:Dim flag As Boolean f1=Val(Me!Text0) f2=Val(Me!Textl) If f1f2 Then i=f2 Else i=f1 End If flag=True Do While i1 And flag If f1 Mod i=0 And f2 Mod i=0 Then flag=False Else i=i-1 End If Loop Me!Text2=i End Sub 运行程序,在文本框 Text0 和
4、Textl 中分别输入 15 和 25,单击按钮后文本框 Text2 中显示的结果是(分数:2.00)A.5B.10C.15D.254.在 VBA 中要定义一个由 10 个整型数构成的数组,正确的语句是(分数:2.00)A.Dim New Array(10)As IntegerB.Dim New Array(2To11)As IntegerC.Dim New Array(2To11)D.Dim New Array(10)5.VBA 中一般采用 Hungarian 符号法命名变量,代表命令列表框的字首码是(分数:2.00)A.lstB.txtC.ChkD.sub6.VBA 中,将字符串的首字母转
5、换为对应的字符代码的函数是(分数:2.00)A.AscB.StrC.StringD.Chr7.下列关于内置函数分类的选项中,不是 Access 内置函数分类的是(分数:2.00)A.表B.数据库C.数组D.程序流程8.如果在北京时间 12 点 00 分运行以下代码,程序的输出是 Sub Procedure() If Hour(Time()=8 And Hour(Time()12 And Hour(Time()f2 Then i=f2 Else i=f1 End If flag=True Do While i1 And flag If f1 Mod i=0 And f2 Mod i=0 Then
6、 flag=False Else i=i-1 End If Loop Me!Text2=i End Sub 运行程序,在文本框 Text0 和 Text1 中分别输入 15 和 20,则文本框 Text2 中显示的结果是(分数:2.00)A.5B.15C.20D.10国家二级 ACCESS 机试选择题(VBA 编程)模拟试卷 1 答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.打开一个窗体,要通过选择窗体的数据输入与窗体方式,限制窗体所显示的记录,应使黑的宏操作命令是(分数:2.00)A.Open ReportB.Open TableC.Ope
7、n Farm D.Open Query解析:解析:OpenReport 为打开报表,OpenTable 为打开表,OpenForm 为打开窗体,OpenQuery 为打开查询,所以选项 C 正确。2.在窗体中有一个命令按钮 Command1,两个文本框 Tect()和 Text1,按钮 Command1 对应的代码过程如下:Private Sub Command1_Clickl() Dim m,k As Integer Dim flag As Boolean m=Val(Me!Text0)输入一个整数 Do White 1 k=2 flag=True Do While k=m2 And fla
8、g If m Mod k=0 Then flag=False Else k=k+1 End If Loop If flag Then Me!Textl=m输出计算结果 Exit Do Else n=m+1 End If Loop End Sub 运行程序,输入 12,单击按钮,程序的输出结果是(分数:2.00)A.13 B.12C.11D.其他整数解析:解析:根据题目要求,输入一个整数赋值给 m;外层 Do While 循环条件设置为“1”,表示循环条件永远为“真”,第一次执行循环语句时:k=2,flag=true,内层 Do While k=m2 And flag 循环条件为 true,进入
9、内层循环的循环体语句,if m mod k=0 条件为真,执行 flag=false 语句,内层循环体语句执行结束,然后判断第二次执行的循环条件 Do While k=m2 And flag 循环条件为 false,内层循环结束,进入外层循环语句 if flag 判断条件为 false,执行语句 m=m+1,m 的值为 13;继续进行外层循环,第二次执行循环语句时:k=2;flag=false;内层 Do While k=m2 And flag 循环条件为 false,内层循环不执行,进入外层循环语句 if flag 判断条件为 true,执行语句 Me!Text:m,文本框 Textl中显示
10、的内容为 13,然后执行 exit do 语句,结束整个循环,所以最终程序输出的结果为 13,选项 A 正确。3.在窗体中有一个命令按钮 Command1,三个文本框 Text0、Text1 个 Text2,命令按钮对应代码过程如下:Private Sub Command1_Click() Dim i,f1,f2 As Integer:Dim flag As Boolean f1=Val(Me!Text0) f2=Val(Me!Textl) If f1f2 Then i=f2 Else i=f1 End If flag=True Do While i1 And flag If f1 Mod i
11、=0 And f2 Mod i=0 Then flag=False Else i=i-1 End If Loop Me!Text2=i End Sub 运行程序,在文本框 Text0 和 Textl 中分别输入 15 和 25,单击按钮后文本框 Text2 中显示的结果是(分数:2.00)A.5 B.10C.15D.25解析:解析:程序开始时,f1 和 f2 的值分别是从文本框。Text0 和 Textl 中输入的值 15 和 25,然后利用 if 语句判断 f1 和 f2 两个数的大小,变量 i 中存放 f1 和 f2 中较小者的值,-flag 初始值为 true,程序进入 Do While
12、 循环语句,首先判断循环条件“i1 And flag”,结果为 true,循环体中的 if 语句,只有当 f1 和 f2 同时能被 i 整除,flag 才会被赋值为 false,否则将变量 i 减 1,继续进行 Do While 循环的条件判断,一旦 f1 和 f2 同时能被 i 整除,变量 flag 被赋值为 false,则整个循环结束,将变量 i的值输出到文本框 Text2 中,所以只有当变量 i 为 5 时,才能同时被住(15)和 f2(25)整除,本题程序的功能是求两个数的最大公约数,故选项 A 正确。4.在 VBA 中要定义一个由 10 个整型数构成的数组,正确的语句是(分数:2.0
13、0)A.Dim New Array(10)As IntegerB.Dim New Array(2To11)As Integer C.Dim New Array(2To11)D.Dim New Array(10)解析:解析:VBA 中数组定义的格式为:Dim 数组名(下标下界 to下标上界)As 数组类型 下标下界的默认值为 0,本题中要定义一个由 10 个整型数构成的数组,A 选项定义了 11 个元素,c、D 选项未指定数据类型,默认是变体型,B 选项定义了 10 个整型数的数组,所以选项 B 正确。5.VBA 中一般采用 Hungarian 符号法命名变量,代表命令列表框的字首码是(分数:2
14、.00)A.lst B.txtC.ChkD.sub解析:解析:Hungarian 符号使用一组代表数据类型的码。用小写字母作为变量名的前缀,命令列表框的字首码是“Ist”,“txt”代表文本框,“Chk”代表复选框,“sub”代表子窗体子报表,所以选项 A正确。6.VBA 中,将字符串的首字母转换为对应的字符代码的函数是(分数:2.00)A.Asc B.StrC.StringD.Chr解析:解析:Asc 函数为字符串转换字符 ASCII 码函数,该函数返回字符串首字符的 ASCII 码值;Str 函数为数字转换成字符串函数,该函数将数值表达式的值转换成字符串;Chr 函数为字符 ASCII 码
15、值转换为字符函数,该函数返回与字符代码相关的字符,String 不是类型转换函数,String 是返回一个由字符表达式的首字符重复组成的指定长度为数值表达式的字符串,所以选项 A 正确。7.下列关于内置函数分类的选项中,不是 Access 内置函数分类的是(分数:2.00)A.表 B.数据库C.数组D.程序流程解析:解析:在 Access 中常用的内置函数有财务函数、日期函数、算术函数、文本函数、转换函数、检查函数,没有表函数。表是 Access 的对象,不是函数,所以应选择选项 A。8.如果在北京时间 12 点 00 分运行以下代码,程序的输出是 Sub Procedure() If Hou
16、r(Time()=8 And Hour(Time()12 And Hour(Time()f2 Then i=f2 Else i=f1 End If flag=True Do While i1 And flag If f1 Mod i=0 And f2 Mod i=0 Then flag=False Else i=i-1 End If Loop Me!Text2=i End Sub 运行程序,在文本框 Text0 和 Text1 中分别输入 15 和 20,则文本框 Text2 中显示的结果是(分数:2.00)A.5 B.15C.20D.10解析:解析:程序开始时,f1 租 f2 的值分别是从文
17、本框 Text0 和 Text1 中输入的值 15 和 25,然后利用if 语句判断 f1 和 f2 两个数的大小,变量 i 中存放住和 f2 中较小者的值,flag初始值为 true,程序进入 Do While 循环语句,首先判断循环条件“i1 And flag”,结果为 true,循环体中的f 语句,只有当住和 f2 同时能被 i 整除,flag 才会被赋值为 false,否则将变量 i 减 1,继续进行 Do-While 循环的条件判断,一旦 f1 和 f2 同时能被 i 整除,变量 flag 被赋值为 false,则整个循环结束,将变量 i 的值输出到文本框 Text2 中,所以只有当变量 i 为 5 时,才能同时被 f1(15)和 f2(25)整除。 本题程序的功能是求两个数的最大公约数,所以选项 A 正确。