1、国家二级 ACCESS 机试选择题(模块与 VBA 编程基础)模拟试卷 13及答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.在下列关于宏和模块的叙述中,正确的是(分数:2.00)A.模块是能够被程序调用的函数B.通过定义宏可以选择或更新数据C.宏或模块都不能是窗体或报表上的事件代码D.宏可以是独立的数据库对象,可以提供独立的操作动作2.下列不属于类模块对象基本特征的是(分数:2.00)A.事件B.属性C.方法D.函数3.使用 Function 语句定义一个函数过程,其返回值的类型(分数:2.00)A.只能是符号常量B.是除数组之外的简单数据类
2、型C.可在调用时由运行过程决定D.由函数定义时 As 子句声明4.在 Access 中,如果要处理具有复杂条件或循环结构的操作,则应该使用的对象是(分数:2.00)A.窗体B.模块C.宏D.报表5.在 Access 中,如果变量定义在模块的过程内部,当过程代码执行时才可见,则这种变量的作用域为(分数:2.00)A.程序范围B.全局范围C.模块范围D.局部范围6.下列叙述中,正确的是(分数:2.00)A.Sub 过程无返回值,不能定义返回值类型B.Sub 过程有返回值,返回值类型只能是符号常量C.Sub 过程有返回值,返回值类型可在调用过程时动态决定D.Sub 过程有返回值,返回值类型可由定义时
3、的 As 子句声明7.以下可以得到“2*5=10”结果的 VBA 表达式为(分数:2.00)A.“2*5”“=”2*5B.“2*5”+“=”+2*5C.2*5“=”2*5D.2*5+“=”+2*58.执行语句:MsB0x“AAAA“,vbOKCancel+vbQuestion,“BBBB”之后,弹出的信息框外观样式是(分数:2.00)A.B.C.D.9.下列逻辑表达式中,能正确表示条件“x 和 y 都是奇数”的是(分数:2.00)A.xMod2=1 OrYMod 2=1B.XMod 2=00rYMod 2=0C.xMod 2=1 AndYMod2=1D.XMod 2:0AndYMod2=010
4、.VBA 程序的多条语句可以写在一行中,其分隔符必须使用符号(分数:2.00)A.:B.C.;D.,11.VBA 表达式 3*333 的输出结果是(分数:2.00)A.0B.1C.3D.912.在窗体中添加一个命令按钮(名称为 Commandl),然后编写如下代码: Private Sub Command 1Click() a=0:b=5:c=6 MsgBox a=b+c End Sub 窗体打开运行后,如果单击命令按钮,则消息框的输出结果为(分数:2.00)A.11B.a=11C.0D.False13.在窗体上添加一个命令按钮(名为 Commandl)和一个文本框(名为 Text1),并在命
5、令按钮中编写如下事件代码: Private Sub Command 1 Click() m=217 n=Len(Str$(m)+Space(5) Me!Text1=n End Sub 打开窗体运行后,单击命令按钮,在文本框中显示(分数:2.00)A.5B.8C.9D.1014.有语句:s=Int(100*Rnd),执行完毕后,s 的值是(分数:2.00)A.0,99的随机整数B.0,l00的随机整数C.1,99的随机整数D.1,100的随机整数15.InputBox 函数的返回值类型是(分数:2.00)A.数值B.字符串C.变体D.数值或字符串(视输入的数据而定)16.如下程序段定义了学生成绩
6、的记录类型,由学号、姓名和三门课程成绩(百分制)。组成。 Type Stud no As Integer nameAs String score(1 to 3)As Single End Type 若对某个学生的各个数据项进行赋值,下列程序段中正确的是(分数:2.00)A.Dim S As Stud Studno=1001 Studname=“舒宜” Studscore=78,88,96B.Dim S As Stud Sno=1001 Sname=“舒宜” Sscore=78,88,96C.Dim S As Stud Studno=1001 Studname=“舒宜” Studscore(1)
7、=78 Studscore(2)=88 Studscore(3)=96D.Dim S As Stud Sno=1001 Sname=“舒宜” Sscore(1)=78 Sscore(1)=88 Sscore(1)=9617.在窗体中有一个标签 Lbl 和一个命令按钮 Cornmandl,事件代码如下: Option Compare Database Dim aAs String*10 Private Sub Command 1 Click() a=“1234” b=Len(a) MeLb 1Coption=b End Sub 打开窗体后单击命令按钮,窗体中显示的内容是(分数:2.00)A.4B
8、.5C.10D.4018.从字符串 s 中的第 2 个字符开始获得 4 个字符的子字符串函数是(分数:2.00)A.Mid$(s,2,4)B.Lefl$(s,2,4)C.Rigth(s,4)D.LeR$(s,4)19.语句 Dim NewArray(10)As Integer 的含义是(分数:2.00)A.定义了一个整型变量且初值为 10B.定义了 10 个整数构成的数组C.定义了 11 个整数构成的数组D.将数组的第 10 元素设置为整型20.表达式 Fix(一 325)和 Fix(375)的结果分别是(分数:2.00)A.一 3,3B.一 4,3C.一 3,4D.一 4,421.能够实现从
9、指定记录集里检索特定字段值的函数是(分数:2.00)A.DCountB.DlookupC.DMaxD.DSum22.执行语句:MsgBox“AAAA”,vbOKCancel+vbQuestion,“BBBB”之后,弹出的信息框(分数:2.00)A.轹题为“BBBB”、框内提示符为“惊叹号”提示内容为“AAAA”B.标题为“AAAA”、框内提示符为“惊叹号”、提示内容为“BBBB”C.标题为“BBBB”、框内提示符为“问号”、提示内容为“AAAA”D.标题为“AAAA”、框内提示符为“问号”、提示内容为“BBBB”23.窗体中有 3 个命令按钮,分别命名为 Cmd1、Cmd2 和 Cmd3。当单
10、击 Cmdl 按钮时,Cmd2 按钮变为可用,Cmd3 按钮变为不可见。下列 Cmd1 的单击事件过程中,正确的是(分数:2.00)A.Private Sub Cmdl_Click() Cmd2Visible=True Cmd3Visible=FalSe End SubB.Private Sub Cmdl_Click() Cmd2Enabled=True Cmd3Enabled=False End SubC.Private Sub Cmdl_Click() Cmd2Enabled=True Cmd3Visible=False End SubD.Private Sub Cmdl_Click()
11、Cmd2Visible=True Cmd3Enabled=False End Sub24.用于获得字符串 S 最左边 4 个字符的函数是(分数:2.00)A.Left(S,4)B.Left(S,1,4)C.Leftstr(S,4)D.Leftstr(S,0,4)25.下列数据类型中,不属于 VBA 的是(分数:2.00)A.长整型B.布尔型C.变体型D.指针型26.下列数组声明语句中,正确的是(分数:2.00)A.Dim A3,4As IntegerB.Dim A(3,4)As IntegerC.DimA3;4As IntegerD.DimA(3;4)As Integer27.在已建窗体中有一
12、命令按钮(名为 Commandl),该按钮的单击事件对应的 VBA 代码为: Private Sub CornmandlClick() subTFormRecordSource=“select*from 雇员” End Sub 单击该按钮实现的功能是(分数:2.00)A.使用 select 命令查找“雇员”表中的所有记录B.使用 select 命令查找并显示“雇员”表中的所有记录C.将 subT 窗体的数据来源设置为一个字符串D.将 subT 窗体的数据来源设置为“雇员”表28.能够实现从指定记录集里检索特定字段值的函数是(分数:2.00)A.N2B.FindC.LookupD.ELookup
13、29.如果 X 是一个正的实数,保留两位小数、将千分位四舍五入的表达式是(分数:2.00)A.D01*Int(x+D05)B.001*Int(100*fX+0005)C.001*Int(x+0005)D.O01*Int(100*(X+0005)30.在模块的声明部分使用“OptionBasel”语句,然后定义二维数组 A(2 to 5,5)则该数组的元素个数为(分数:2.00)A.20B.24C.25D.36国家二级 ACCESS 机试选择题(模块与 VBA 编程基础)模拟试卷 13答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.在下列关于宏和
14、模块的叙述中,正确的是(分数:2.00)A.模块是能够被程序调用的函数B.通过定义宏可以选择或更新数据C.宏或模块都不能是窗体或报表上的事件代码D.宏可以是独立的数据库对象,可以提供独立的操作动作 解析:解析:本题考查宏和模块的知识模块是能够被程序调用的函数,里面不能包含窗体或报表的事件代码;宏是一个或多个操作的序列,可以通过宏选择或更新数据,宏里面也不能包含窗体或报表的事件代码;宏是数据对象的一部分,不能独立存在,只能依存于数据对象来进行操作。2.下列不属于类模块对象基本特征的是(分数:2.00)A.事件B.属性C.方法D.函数 解析:解析:类模块中没有函数的概念。3.使用 Function
15、 语句定义一个函数过程,其返回值的类型(分数:2.00)A.只能是符号常量B.是除数组之外的简单数据类型C.可在调用时由运行过程决定D.由函数定义时 As 子句声明 解析:解析:本题考查 VBA 中函数的知识。VBA 中的函数在定义时可以使用 As 指定函数返回值的类型,这个返回值的类型可以是简单数据类型,也可以是数组。如果在定义时没有指定类型则默认返回值为变体型。4.在 Access 中,如果要处理具有复杂条件或循环结构的操作,则应该使用的对象是(分数:2.00)A.窗体B.模块 C.宏D.报表解析:解析:本题考查 VBA 程序设计的知识。模块是能够被程序调用的函数,可以在模块中放置任意复杂
16、的代码段。而窗体只能设计自己的事件,报表也不能设计复杂的代码,宏里面只能设计宏操作。5.在 Access 中,如果变量定义在模块的过程内部,当过程代码执行时才可见,则这种变量的作用域为(分数:2.00)A.程序范围B.全局范围C.模块范围D.局部范围 解析:解析:B)变量定义在标准模块的所有过程之外的起始位置,运行时在所有类模块和标准模块的所有子过程与函数过程中都可见。C)变量定义在模块的所有过程之外的起始位置,运行时在模块所包含的所有子过程和函数过程中可见。D)变量定义在模块的过程内部,过程代码执行时才可见。6.下列叙述中,正确的是(分数:2.00)A.Sub 过程无返回值,不能定义返回值类
17、型 B.Sub 过程有返回值,返回值类型只能是符号常量C.Sub 过程有返回值,返回值类型可在调用过程时动态决定D.Sub 过程有返回值,返回值类型可由定义时的 As 子句声明解析:解析:Sub 过程(又称子过程)以关键词 Sub 开始,以 End Sub 结束,其定义语句语法格式为: Public l Private I StaticSub 子过程名(形参)As 数据类型 【子过程语句】 Exit Sub】 子过程语句 End Sub 对于子过程,可以传送参数和使用参数来调用它,但不返回任何值。7.以下可以得到“2*5=10”结果的 VBA 表达式为(分数:2.00)A.“2*5”“=”2*
18、5 B.“2*5”+“=”+2*5C.2*5“=”2*5D.2*5+“=”+2*5解析:解析:本题考查 VBA 中的字符串连接符。vBA 中字符串连接符包含“&”和“+”,其中“+”号要求连接的两端必须都是字符串,而“&”则会将两端的非字符串转换为字符串后进行连接。所以正确的表达式为:“2*5”&“=”&2*5。8.执行语句:MsB0x“AAAA“,vbOKCancel+vbQuestion,“BBBB”之后,弹出的信息框外观样式是(分数:2.00)A.B.C. D.解析:解析:本题考查 VBA 对话框函数 MsgBox。消息窗 MsgBox 函数用于显示消息,等待用户单击按钮,并返回一个整型
19、值。基本格式:MsgBox(提示,按钮风格】,标题)。显然,本题中的提示是“AAAA”,按钮风格是 vbOKCancel+vbQuestion 即问号提示,标题是“BBBB“。9.下列逻辑表达式中,能正确表示条件“x 和 y 都是奇数”的是(分数:2.00)A.xMod2=1 OrYMod 2=1B.XMod 2=00rYMod 2=0C.xMod 2=1 AndYMod2=1 D.XMod 2:0AndYMod2=0解析:解析:本题考查逻辑表达式的知识。判断奇偶数是程序设计中常见的判断,x Mod 2=1 代表 x 是奇数。如果要表达 x、y 都是奇数,则应该用 And 连接两个表达式来表示
20、“与”,故此 C 选项正确。10.VBA 程序的多条语句可以写在一行中,其分隔符必须使用符号(分数:2.00)A.: B.C.;D.,解析:解析:本题考查 VBA 程序设计的基础知识。VBA 中,原贝 0 上一行只能书写一条语句,语句后面用回车作为结束符。如果有特殊情况需要在一行上书写多条语句时,这些语句之间要用“:”分隔。11.VBA 表达式 3*333 的输出结果是(分数:2.00)A.0B.1C.3D.9 解析:解析:本题考查 VBA 中运算符的知识。在 VBA 中的运算符都具有其优先级,最基本的就是算术运算符连接运算符比较运算符逻辑运算符,在各个种类的运算符中还有不同的优先级,比如在算
21、术运算中乘法和除法的优先级就高于整除运算,所以本题的表达式实际上是(3*3)(33),结果为 9。12.在窗体中添加一个命令按钮(名称为 Commandl),然后编写如下代码: Private Sub Command 1Click() a=0:b=5:c=6 MsgBox a=b+c End Sub 窗体打开运行后,如果单击命令按钮,则消息框的输出结果为(分数:2.00)A.11B.a=11C.0D.False 解析:解析:本题考查 Msgbox 函数的知识。在VBA 中的MsgBox 函数中,第一个参数是提示信息,第二个参数是按钮和图表的类型,若省略的话要有逗号占位,第三个参数是对话框的标题
22、。其中第一个参数必须为字符串或者数字,不能是逻辑表达式或赋值语句。如果是非法数据,将会在消息框中显示“False”。13.在窗体上添加一个命令按钮(名为 Commandl)和一个文本框(名为 Text1),并在命令按钮中编写如下事件代码: Private Sub Command 1 Click() m=217 n=Len(Str$(m)+Space(5) Me!Text1=n End Sub 打开窗体运行后,单击命令按钮,在文本框中显示(分数:2.00)A.5B.8C.9D.10 解析:解析:本题考查基本字符串函数的知识。在 VBA 中,Str。函数用于将数字转换成字符串,217转换成字符串“
23、217”,后面再连接上 5 个空格,然后用 Len 函数来求长度。最后结果为 10。14.有语句:s=Int(100*Rnd),执行完毕后,s 的值是(分数:2.00)A.0,99的随机整数 B.0,l00的随机整数C.1,99的随机整数D.1,100的随机整数解析:解析:本题考查随机函数的知识。Rnd 是一个随机数函数,此函数的返回值是一个(0,1)这个开区间内的数。此函数乘以 100 后得到(O,100)开区间内的随机数,取整后即是0,99的随机整数。可以推出,得到任意闭区间x,y内随机整数的公式为:x+Int(Rad*(y-x+1)。15.InputBox 函数的返回值类型是(分数:2.
24、00)A.数值B.字符串 C.变体D.数值或字符串(视输入的数据而定)解析:解析:本题考查输入框的知识。InputBox 函数用于在屏幕上弹出一个输入框,框中有若干提示信息,同时接收用户输入的值作为返回值,该值类型是一个字符串。16.如下程序段定义了学生成绩的记录类型,由学号、姓名和三门课程成绩(百分制)。组成。 Type Stud no As Integer nameAs String score(1 to 3)As Single End Type 若对某个学生的各个数据项进行赋值,下列程序段中正确的是(分数:2.00)A.Dim S As Stud Studno=1001 Studname
25、=“舒宜” Studscore=78,88,96B.Dim S As Stud Sno=1001 Sname=“舒宜” Sscore=78,88,96C.Dim S As Stud Studno=1001 Studname=“舒宜” Studscore(1)=78 Studscore(2)=88 Studscore(3)=96D.Dim S As Stud Sno=1001 Sname=“舒宜” Sscore(1)=78 Sscore(1)=88 Sscore(1)=96 解析:解析:本题考查记录类型和数组的知识。在 VBA 中,可以使用聊 e 关键字来自定义记录类型,定义好记录类型之后,就可
26、以声明记录型变量。要想引用记录变量中的成员必须使用运算符,格式为变量名_成员名。当某个成员是数组的时候,对数组元素的访问要遵循数组元素的访问原则即数组名(下标)的形式。故此 D 选项正确。17.在窗体中有一个标签 Lbl 和一个命令按钮 Cornmandl,事件代码如下: Option Compare Database Dim aAs String*10 Private Sub Command 1 Click() a=“1234” b=Len(a) MeLb 1Coption=b End Sub 打开窗体后单击命令按钮,窗体中显示的内容是(分数:2.00)A.4B.5C.10 D.40解析:解
27、析:本题考查 VBA 中定长字符串的知识。当声明一个变量为 String 类型时,如果不加长度说明,则为变长字符串;如果加上长度说明,则为定长字符串。定长字符串变量无论给它赋予何值,长度都为初始声明时指定的长度。由于声明 a 的长度为 10,故 Len(a)=10,所以 C 选项是正确的。18.从字符串 s 中的第 2 个字符开始获得 4 个字符的子字符串函数是(分数:2.00)A.Mid$(s,2,4) B.Lefl$(s,2,4)C.Rigth(s,4)D.LeR$(s,4)解析:解析:本题考查取子串函数的知识。在 VBA 中有三种取子串函数Left 函数用于在字符串左端开始取 n 个字符
28、;Right 函数用于在字符串右端开始取 n 个字符(注意子串中字符的顺序与母串中相同);Mid 函数可以实现在任何位置取任何长度的子串。截取第 2 个字符开始的 4 个字符应该用 Mid(s,2,4)。19.语句 Dim NewArray(10)As Integer 的含义是(分数:2.00)A.定义了一个整型变量且初值为 10B.定义了 10 个整数构成的数组C.定义了 11 个整数构成的数组 D.将数组的第 10 元素设置为整型解析:解析:本题考查 VBA 中数组的知识。数组变量由变量名和数组下标构成,我们通常使用 Dim 语句来定义数组,其格式为:Dim 数组名(下标下限 to下标上线
29、)As 数据类型其中下标下限缺省为 0。数组中的元素个数即为下标上限一下标下限+1。20.表达式 Fix(一 325)和 Fix(375)的结果分别是(分数:2.00)A.一 3,3 B.一 4,3C.一 3,4D.一 4,4解析:解析:取整函数 Fix(数值表达式):返回数值表达式的整数部分。21.能够实现从指定记录集里检索特定字段值的函数是(分数:2.00)A.DCountB.Dlookup C.DMaxD.DSum解析:解析:本题考查系统函数的知识。DCount 函数可用于确定指定记录集中的记录数;DMax 函数可用于确定指定记录集中的最小值和最大值;DSum 函数可用于计算指定记录集中
30、值集的总和;DL,ookup 函数可用于从指定记录集获取特定字段的值。22.执行语句:MsgBox“AAAA”,vbOKCancel+vbQuestion,“BBBB”之后,弹出的信息框(分数:2.00)A.轹题为“BBBB”、框内提示符为“惊叹号”提示内容为“AAAA”B.标题为“AAAA”、框内提示符为“惊叹号”、提示内容为“BBBB”C.标题为“BBBB”、框内提示符为“问号”、提示内容为“AAAA” D.标题为“AAAA”、框内提示符为“问号”、提示内容为“BBBB”解析:解析:在 VBA 中可以函数的形式调用,格式为:Msgbox(prompt,buons,title,helpfil
31、e,context)Msgbox 用于打开一个信息框,等待用户单击按钮并返回一整数值,告诉系统用户单击了哪一个按钮,若不需要返回值,可直接作为命令语句使用,显示提示信息。23.窗体中有 3 个命令按钮,分别命名为 Cmd1、Cmd2 和 Cmd3。当单击 Cmdl 按钮时,Cmd2 按钮变为可用,Cmd3 按钮变为不可见。下列 Cmd1 的单击事件过程中,正确的是(分数:2.00)A.Private Sub Cmdl_Click() Cmd2Visible=True Cmd3Visible=FalSe End SubB.Private Sub Cmdl_Click() Cmd2Enabled=
32、True Cmd3Enabled=False End SubC.Private Sub Cmdl_Click() Cmd2Enabled=True Cmd3Visible=False End Sub D.Private Sub Cmdl_Click() Cmd2Visible=True Cmd3Enabled=False End Sub解析:解析:Enabled 属性指定一个控件能否接受焦点和响应用户产生的事件。如果启用对象,则该值为True。如果为 False,则用户不能使用鼠标、击键、加速键或热键处理该控件。Visible 决定对象是否可见,如果属性值为 True,则控件可见,如果属性为
33、False,则控件不可见。24.用于获得字符串 S 最左边 4 个字符的函数是(分数:2.00)A.Left(S,4) B.Left(S,1,4)C.Leftstr(S,4)D.Leftstr(S,0,4)解析:解析:Lett 函数的格式是:Left(字符表达式,数值表达式)。其功能是返回一个值,该值是从字符表达式左侧第 1 个字符开始,截取的若干个字符。其中,字符个数是数值表达式的值。当字符表达式是Null 时,返回 Null 值;当数值表达式值为 0 时,返回一个空串;当数值表达式大于或等于字符表达式的字符个数时,返回字符表达式。25.下列数据类型中,不属于 VBA 的是(分数:2.00)
34、A.长整型B.布尔型C.变体型D.指针型 解析:解析:传统的 BASIC 语言使用类型说明标点符号来定义数据类型,VBA 则除此之外,还可以使用类型说明字符来定义数据类型。在使用 VB 代码中的字节、整数、长整数、自动编号、单精度和双精度数等的常量和变量与 Access 的其他对象进行数据交换时,必须符合数据表、查询、窗体和报表中相应的字段属性。26.下列数组声明语句中,正确的是(分数:2.00)A.Dim A3,4As IntegerB.Dim A(3,4)As Integer C.DimA3;4As IntegerD.DimA(3;4)As Integer解析:解析:数组是由一组具有相同数
35、据类型的变量(称为数组元素)构成的集合。数组变量由变量名和数组下标组成,在 VBA 中不允许隐含声明数组,可用 Dim 语句来声明数组。数组定义的格式为:下标下界的缺省值为 0,数组元素从“数组名(0)”至“数组名(下标上界)”;如果设置下标下界非 0,要使用 to 选项。VBA 也支持多维数组。可以在数组下标中加人多个数值,并以逗号分开,由此来建立多维数组。27.在已建窗体中有一命令按钮(名为 Commandl),该按钮的单击事件对应的 VBA 代码为: Private Sub CornmandlClick() subTFormRecordSource=“select*from 雇员” En
36、d Sub 单击该按钮实现的功能是(分数:2.00)A.使用 select 命令查找“雇员”表中的所有记录B.使用 select 命令查找并显示“雇员”表中的所有记录C.将 subT 窗体的数据来源设置为一个字符串D.将 subT 窗体的数据来源设置为“雇员”表 解析:解析:SQL 语句是将雇员表中的所有数据查询出来,并显示在 subT 窗体上。28.能够实现从指定记录集里检索特定字段值的函数是(分数:2.00)A.N2B.FindC.LookupD.ELookup 解析:解析:Nz 函数可以将 Null 值转换为 0、空字符串(“”)的指定值。Dlookup 函数是从指定记录集里检索特定字段
37、的值。29.如果 X 是一个正的实数,保留两位小数、将千分位四舍五入的表达式是(分数:2.00)A.D01*Int(x+D05)B.001*Int(100*fX+0005) C.001*Int(x+0005)D.O01*Int(100*(X+0005)解析:解析:Int(数值表达式)函数为取整函数,返回数值表达式的整数部分。30.在模块的声明部分使用“OptionBasel”语句,然后定义二维数组 A(2 to 5,5)则该数组的元素个数为(分数:2.00)A.20B.24 C.25D.36解析:解析:Dim 数组名(标下限 to下标上限)缺省情况下,下标下限为 0,元素个数=(下标上限下标上限+1);如果 t0 选项可以安排非 0 下限,使用逗号间隔可定义多维数组。数组 A(2 to 5,5)为二维数组,元素个数=(52+1)*(5-0+1)=4*6=24。