1、国家二级 ACCESS机试选择题(模块与 VBA编程基础)模拟试卷 17及答案与解析 一、选择题 1 在下列关于宏和模块的叙述中,正确的是 ( A)模块是能够被程序调用的函数 ( B)通过定义宏可以选择或更新数据 ( C)宏或模块都不能是窗体或报表上的事件代码 ( D)宏可以是独立的数据库对象,可以提供独立的操作动作 2 下列不属于类模块对象基本特征的是 ( A)事件 ( B)属性 ( C)方法 ( D)函数 3 使用 Function语句定义一个函数过程,其返回值的类型 ( A)只能是符号常量 ( B)是除数组之外的简单数据类型 ( C)可在调用时由运行过程决定 ( D)由函数定义时 As子
2、句声明 4 在 Access中,如果要处理具有复杂条件或循环结构的操作,则应该使用的对象是 ( A)窗体 ( B)模块 ( C)宏 ( D)报表 5 在 Access中,如果变量定义在模块的过程内部,当过程代码执行时才可见,则这种变量的作用域为 ( A)程序范围 ( B)全局范围 ( C)模块范围 ( D)局部范围 6 下列叙述中,正确的是 ( A) Sub过程无返回值,不能定义返回值类型 ( B) Sub过程有 返回值,返回值类型只能是符号常量 ( C) Sub过程有返回值,返回值类型可在调用过程时动态决定 ( D) Sub过程有返回值,返回值类型可由定义时的 As子句声明 7 以下可以得到
3、 “2*5=10”结果的 VBA表达式为 ( A) ”2*5” ”=” 2*5 ( B) ”2*5”+”=”+2*5 ( C) 2*5”=”2*5 ( D) 2*5+”=”+2*5 8 执行语句: MMsBox“AAAA“,vbOKCancel+vbQuestion, ”BBBB”之后,弹出的信息框外观样式是 9 下列逻辑表达式中,能正确 表示条件 “X和 Y都是奇数 ”的是 ( A) X Mod 2=1 Or Y Mod 2=1 ( B) x Mod 2=0 Or Y Mod 2=0 ( C) x Mod 2=1 And Y Mod 2=1 ( D) x Mod 2=0 And Y Mod
4、2=0 10 VBA程序的多条语句可以写在一行中,其分隔符必须使用符号 ( A): ( B) ( C); ( D), 11 VBA表达式 3*33 3的输出结果是 ( A) 0 ( B) 1 ( C) 3 ( D) 9 12 在窗体中添加一个命令按钮 (名称为 Commandl),然后编写如下代码: Private Sub Command 1_Click() a=0: b=5: c=6 MsgBox a=b+c End Sub 窗体打开运行后,如果单击命令按钮,则消息框的输出结果为 ( A) 11 ( B) a=11 ( C) 0 ( D) False 13 在窗体上添加一个命令按钮 (名为
5、Commandl)和一个文本框 (名为 Textl),并在命令按钮中编写如下事件代码: Private Sub Command l_Click() m=2 17 n=Len(Str$(m)+Space(5) Me!Text1=n End Sub 打开窗体运行后,单击命令按钮,在文本框中显示 ( A) 5 ( B) 8 ( C) 9 ( D) 10 14 有语句: s=Int(100*Rnd),执行完毕后, s的值是 ( A) 0, 99的随机整数 ( B) 0, 100的随机整数 ( C) 1, 99的随机整数 ( D) 1, 100的随机整数 15 InputBox函数的返回值类型是 ( A
6、)数值 ( B)字符串 ( C)变体 ( D)数值或字符串 (视输入的数据而定 ) 16 如下程序段定义了学生成绩的记录类型,由学号、姓名和三门课程成绩 (百分制 )组成。 Type Stud no As Integer name As String score(1 to 3)As Single End Type 若对某个学生的各个数据项进行赋值,下列程序段中正确的是 ( A) Dim S As Stud Stud no=1001 Stud name=”舒宜 ” Stud score=78, 88, 96 ( B) Dim S As Stud S no=1001 S name=”舒宜 ” S
7、score=78, 88, 96 ( C) Dim S As Stud Stud no=1001 Stud name=”舒宜 ” Stud score(1)=78 Stud score(2)=88 Stud score(3)=96 ( D) Dim S As Stud S no=1001 S name=”舒宜 ” S score(1)=78 S score(1)=88 S score(1)=96 17 在窗体中有一个标签 Lbl和一个命令按钮 Commandl,事件代码如下: Option Compare Database Dim a As String*10 Private Sub Comm
8、and l_Click() a=”1234” b=Len(a) Me Lb 1 Coption=b End Sub 打开窗体后单击命令按钮,窗体中显示的 内容是 ( A) 4 ( B) 5 ( C) 10 ( D) 40 18 从字符串 S中的第 2个字符开始获得 4个字符的子字符串函数是 ( A) Mid$(s, 2, 4) ( B) Left$(s, 2, 4) ( C) Rigth(s, 4) ( D) Lefi$(s, 4) 19 语句 Dim NewArray(10)As Integer的含义是 ( A)定义了一个整型变量且初值为 10 ( B)定义了 10个整数构成的数组 ( C)
9、定义了 11个整数构成的数组 ( D)将数组的第 10元素设置为整型 20 表达式 Fix(-3 25)和 Fix(3 75)的结果分别是 ( A) -3 3 ( B) -4, 3 ( C) -3, 4 ( D) -4, 4 21 能够实现从指定记录集里检索特定字段值的函数是 ( A) DCount ( B) Dlookup ( C) DMax ( D) DSum 22 执行语句: MsgBox”AAAA”, vbOKCancel+vbQuestion, ”BBBB”之后,弹出的信息框 ( A)标题为 “BBBB”、框内提示符为 “惊叹号 ”、提示内容为 “AAAA” ( B)标题为 “AAA
10、A”、框内提示符为 “惊叹号 ”、提示内容为 “BBBB” ( C)标题为 “BBBB”、框内提示符为 “问号 ”、提示内容为 “AAAA” ( D)标题为 “AAAA”、框内提示符为 “问号 ”、提示内容为 “BBBB” 23 窗体中有 3个命令按钮,分别命名为 Cmdl、 Cmd2和 Cmd3。当单击 Cmdl按钮时, Cmd2按钮变为可用, Cmd3按钮变为不可见。下列 Cmdl的单击事件过程中,正确的是 ( A) Private Sub Cmdl_Click() Cmd2 Visible=Tme Cmd3 Visible=FalSe End Sub ( B) Private Sub C
11、mdl_Click() Cmd2 Enabled=Tme Cmd3 Enabled=False End Sub ( C) Private Sub Cmdl_Click() Cmd2 Enabled=True Cmd3 Visible=False End Sub ( D) Private Sub Cmdl_Click() Cmd2 Visible=True Cmd3 Enabled=False End Sub 24 用于 获得字符串 S最左边 4个字符的函数是 ( A) Left(S, 4) ( B) Left(S, 1, 4) ( C) Leflstr(S, 4) ( D) Leftstr(S
12、, 0, 4) 25 下列数据类型中,不属于 VBA的是 ( A)长整型 ( B)布尔型 ( C)变体型 ( D)指针型 26 下列数组声明语句中,正确的是 ( A) Dim A3, 4As Integer ( B) Dim A(3, 4)As Integer ( C) DimA3; 4As Integer ( D) DimA(3; 4)As Integer 27 在已建窗体中有一命令按钮 (名为 Commandl),该按钮的单击事件对应的 VBA代码为: Private Sub Commandl_Click() subT Form RecordSource=”select*from雇员 ”
13、End Sub 单击该按钮实现的功能是 ( A)使用 select命令查找 “雇员 ”表中的所有记录 ( B)使用 select命令查找并显示 “雇员 ”表中的所有记录 ( C)将 subT窗体的数据来源设置为一个字符串 ( D)将 subT窗体的数据来源设置为 “雇员 ”表 28 能够实现从指定记录集里检索特定字段值的函数是 ( A) N2 ( B) Find ( C) Lookup ( D) ELookup 29 如果 X是一个正的实数,保留两位小数、将千分位四舍五入的表达式是 ( A) 0 01*Int(x+0 05) ( B) 0 01*Int(100*(X+0 005) ( C) 0
14、 01*Int(x+0 005) ( D) 0 01*Int(100*(X+0 005) 30 在模块的声明部分使用 “OptionBasel”语句,然后定义二维数组 A(2 to 5,5)则该数组的元素个数为 ( A) 20 ( B) 24 ( C) 25 ( D) 36 31 在窗体上有一个命令按钮 Commandl,编写事件代码如下: Private Sub Commandl_Click() Dim dl As Date, d2 As Date dl=#12 25 2009# d2=#1 5 2010# MsgBox DateDiff(”ww”, d1, d2) End Sub 打开窗体
15、运行后,单击命令按钮,立即窗口上输出的结果是 ( A) 1 ( B) 2 ( C) 10 ( D) 11 32 要将一个数字字符串转换成对应的数值,应使用的函数是 ( A) Val ( B) Single ( C) Asc ( D) Space 33 下列变量名中,合法的是 ( A) 4A ( B) A1 ( C) ABC 1 ( D) private 34 下列表达式中,能正确表示条件 “X和 Y都是奇数 ”的是 ( A) X Mod 2=0 And Y Mod 2=0 ( B) x Mod 2=0 Or Y Mod 2=0 ( C) X Mod 2=1 And Y Mod 2=1 ( D)
16、 X Mod 2=1 Or Y Mod 2=1 35 下列给出的选项中,非法的变量名是 ( A) Sum ( B) Integer 2 ( C) Rem ( D) Forml 36 表达式 “B=INT(A+0 5)”的功能是 ( A)将变量 A保留小数点后 1位 ( B)将变量 A四舍五入取整 ( C)将变量 A保留小数点后 5位 ( D)舍去变量 A的小数部分 37 VBA语句 “Dim NewArray(10)as Integer”的含义是 ( A)定义 10个整型数构成的数组 NewArray ( B)定义 11个整型数构成的数组 NewArray ( C)定义 1个值为整型数的变量
17、NewArray(10) ( D)定义 1个值为 10的变量 NewArray 38 将一个数转换成相应字符串的函数是 ( A) Str ( B) String ( C) Asc ( D) Chr 39 VBA中定义符号常量使用的关键字是 ( A) Const ( B) Dim ( C) PubIlic ( D) Static 国家二级 ACCESS机试选择题(模块与 VBA编程基础)模拟试卷 17答案与解析 一、选择题 1 【正确答案】 D 【试题解析】 本题考查宏和模块的知识。模块是能够被程序调用的函数,里面不能包含窗体或报表的事件代码;宏是一个或多个操作的序列,可以通过宏选择或更新数据,
18、宏里面也不能包含窗体或报表的事件代码;宏是数据对象的一部分,不能独立存在,只能依存于数据对象来进行操作。 【知识模块】 模块与 VBA编程基础 2 【正确答案】 D 【试题解析】 类模块中没有函数的概念。 【知识模块】 模块与 VBA编程基础 3 【正确答案】 D 【试题解析】 本题考查 VBA中函数的知识。 VBA中的函数在 定义时可以使用As指定函数返回值的类型,这个返回值的类型可以是简单数据类型,也可以是数组。如果在定义时没有指定类型则默认返回值为变体型。 【知识模块】 模块与 VBA编程基础 4 【正确答案】 B 【试题解析】 本题考查 VBA程序设计的知识。模块是能够被程序调用的函数
19、,可以在模块中放置任意复杂的代码段。而窗体只能设计自己的事件,报表也不能设计复杂的代码,宏里面只能设计宏操作。 【知识模块】 模块与 VBA编程基础 5 【正确答案】 D 【试题 解析】 B)变量定义在标准模块的所有过程之外的起始位置,运行时在所有类模块和标准模块的所有子过程与函数过程中都可见。 C)变量定义在模块的所有过程之外的起始位置,运行时在模块所包含的所有子过程和函数过程中可见。 D)变量定义在模块的过程内部,过程代码执行时才可见。 【知识模块】 模块与 VBA编程基础 6 【正确答案】 A 【试题解析】 Sub过程 (又称子过程 )以关键词 Sub开始,以 End Sub结束,其定义
20、语句语法格式为: Public |Private | StaticSub子过程 名 (形参 ) As数据类型 子过程语句 Exit Sub 子过程语句 End Sub 对于子过程,可以传送参数和使用参数来调用它,但不返回任何值。 【知识模块】 模块与 VBA编程基础 7 【正确答案】 A 【试题解析】 本题考查 VBA中的字符串连接符。 VBA中字符串连接符包含 “&”和 “+”,其中 “+”号要求连接的两端必须都是字符串,而 “&”则会将两端的非字符串转换为字符串后进行连接。所以正确的表达式为: ”2*5”&”=” 2*5。 【知识模块】 模块与 VBA编程基础 8 【正确答案】 C 【试题
21、解析】 本题考查 VBA对话框函数 MsgBox。消息窗 MsgBox函数用于显示消息,等待用户单击按钮,并返回一个整型值。基本格式: MsgBox(提示, 按钮风格 , 标题 )。显然,本题中的提示是 “AAAA”,按钮风格是vbOKCancel+vbQuestion即问号提示,标题是 “BBBB“。 【知识模块】 模块与 VBA编程基础 9 【正确答案】 C 【试题解析】 本题考查逻辑表达式的知识。判断奇偶数是程 序设计中常见的判断, x Mod 2=1代表 x是奇数。如果要表达 X、 y都是奇数,则应该用 And连接两个表达式来表示 “与 ”,故此 C选项正确。 【知识模块】 模块与 V
22、BA编程基础 10 【正确答案】 A 【试题解析】 本题考查 VBA程序设计的基础知识。 VBA中,原则上一行只能书写一条语句,语句后面用回车作为结束符。如果有特殊情况需要在一行上书写多条语句时,这些语句之间要用 “: ”分隔。 【知识模块】 模块与 VBA编程基础 11 【正确答案】 D 【试题解析】 本题考查 VBA中运算符的 知识。在 VBA中的运算符都具有其优先级,最基本的就是算术运算符 连接运算符 比较运算符 逻辑运算符,在各个种类的运算符中还有不同的优先级,比如在算术运算中乘法和除法的优先级就高于整除运算,所以本题的表达式实际上是 (3*3) (3 3),结果为 9。 【知识模块】
23、 模块与 VBA编程基础 12 【正确答案】 D 【试题解析】 本题考查 Msgbox函数的知识。在 VBA中的 MsgBox函数中,第一个参数是提示信息,第二个参数是按钮和图表的类型,若省略的话要有逗号占位,第三个参数是对话框的标题。其中第一 个参数必须为字符串或者数字,不能是逻辑表达式或赋值语句。如果是非法数据,将会在消息框中显示 “False”。 【知识模块】 模块与 VBA编程基础 13 【正确答案】 D 【试题解析】 本题考查基本字符串函数的知识。在 VBA中, Str函数用于将数字转换成字符串, 2 17转换成字符串 “2 17”,后面再连接上 5个空格,然后用Len函数来求长度。
24、最后结果为 10。 【知识模块】 模块与 VBA编程基础 14 【正确答案】 A 【试题解析】 本题考查随机函数的知识。 Rnd是一个随机数函数, 此函数的返回值是一个 (0, 1)这个开区间内的数。此函数乘以 100后得到 (0, 100)开区间内的随机数,取整后即是 0, 99的随机整数。可以推出,得到任意闭区间 x, y内随机整数的公式为: x+Int(Rnd*(y-x+1)。 【知识模块】 模块与 VBA编程基础 15 【正确答案】 B 【试题解析】 本题考查输入框的知识。 InputBox函数用于在屏幕上弹出一个输入框,框中有若干提示信息,同时接收用户输入的值作为返回值,该值类型是一
25、个字符串。 【知识模块】 模块与 VBA编程基础 16 【正确答案】 D 【试题解析】 本题考查记录类型和数组的知识。在 VBA中,可以使用 Type关键字来自定义记录类型,定义好记录类型之后,就可以声明记录型变量。要想引用记录变量中的成员必须使用运算符,格式为变量名 .成员名。当某个成员是数组的时候,对数组元素的访问要遵循数组元素的访问原则即数组名(小下标)的形式。故此 D选项正确。 【知识模块】 模块与 VBA编程基础 17 【正确答案】 C 【试题解析】 本题考查 VBA中定长字符串的知识。当声明一个变量为 string类型时,如果不加长度 说明,则为变长字符串;如果加上长度说明,则为定
26、长字符串。定长字符串变量无论给它赋予何值,长度都为初始声明时指定的长度。由于声明 a的长度为 10,故 Len(a)=10,所以 C选项是正确的 . 【知识模块】 模块与 VBA编程基础 18 【正确答案】 A 【试题解析】 本题考查取子串函数的知识。在 VBA中有三种取子串函数: Left函数用于在字符串左端开始取 n个字符; Right函数用于在字符串右端开始取 n个字符 (注意子串中字符的顺序与母串中相同 ); Mid函数可以实现在任何位置取任何长度的子串。截取第 2个字符开始的 4个字符应该用 Mid(s,2, 4)。 【知识模块】 模块与 VBA编程基础 19 【正确答案】 C 【试
27、题解析】 本题考查 VBA中数组的知识。数组变量由变量名和数组下标构成,我们通常使用 Dim语句来定义数组,其格式为: Dim数组名( 下标下限 to下标上限) As 数据类型其中下标下限缺省为 0。数组中的元素个数即为下标上限 -下标下限 +1。 【知识模块】 模块与 VBA编程基础 20 【正确答案】 A 【试题解析】 取整函数 Fix(数值表达式 ):返回数值表达式的整数部 分。 【知识模块】 模块与 VBA编程基础 21 【正确答案】 B 【试题解析】 本题考查系统函数的知识。 DCount函数可用于确定指定记录集中的记录数; DMax函数可用于确定指定记录集中的最小值和最大值: DS
28、um函数可用于计算指定记录集中值集的总和; DLookup函数可用于从指定记录集获取特定字段的值。 【知识模块】 模块与 VBA编程基础 22 【正确答案】 C 【试题解析】 在 VBA中可以函数的形式调用,格式为: Msgbox(prompt, buttons,title,helpfile,context) Msgbox用于打开一个信息框,等待用户单击按钮并返回一整数值,告诉系统用户单击了哪一个按钮,若不需要返回值,可直接作为命令语句使用,显示提示信息。 【知识模块】 模块与 VBA编程基础 23 【正确答案】 C 【试题解析】 Enabled属性指定一个控件能否接受焦点和响应用户产生的事件
29、。如果启用对象,则该值为 True。如果为 False,则用户不能使用鼠标、击键、加速键或热键处理该控件。 Visible决定对象是否可见,如果属性值为 True,则控件可见,如果属性为 False,则控件不可见。 【知识模块】 模块与 VBA编程基础 24 【正确答案】 A 【试题解析】 Left函数的格式是: Left(字符表达式,数值表达式 )。其功能是返回一个值,该值是从字符表达式左侧第 1个字符开始,截取的若干个字符。其中,字符个数是数值表达式的值。当字符表达式是 Null时,返回 Null值:当数值表达式值为 0时,返回一个空串;当数值表达式大于或等于字符表达式的字符个数时,返回字
30、符表达式。 【知识模块】 模块与 VBA编程基础 25 【正确 答案】 D 【试题解析】 传统的 BASIC语言使用类型说明标点符号来定义数据类型, VBA则除此之外,还可以使用类型说明字符来定义数据类型。 在使用 vB代码中的字节、整数、长整数、自动编号、单精度和双精度数等的常量和变量与 Access的其他对象进行数据交换时,必须符合数据表、查询、窗体和报表中相应的字段属性。 【知识模块】 模块与 VBA编程基础 26 【正确答案】 B 【试题解析】 数组是由一组具有相同数据类型的变量 (称为数组元素 )构成的集合。数组变量由变量名和数组下标组成,在 VBA中不允许隐含声明数组,可用Dim语
31、句来声明数组。数组定义的格式为: Dim 数组名( 下标下界 to下标上界) As 数据类型 下标下界的缺省值为 0,数组元素从 “数组名 (0)”至 “数组名 (下标上界 )”;如果设置下标下界非 0,要使用 to选项。 VBA也支持多维数组。可以在数组下标中加人多个数值,并以逗号分开,由此来建立多维数组。 【知识模块】 模块与 VBA编程基础 27 【正确答案】 D 【试题解析】 SQL语句是将雇员表中的所有数据查询出来,并显示在 subT窗体上。 【知识模块】 模块与 VBA编程基础 28 【正确答案】 D 【试题解析】 Nz函数可以将 NuIl值转换为 0、空字符串 (“”)的指定值。
32、 Dlookup函数是从指定记录集里检索特定字段的值。 【知识模块】 模块与 VBA编程基础 29 【正确答案】 B 【试题解析】 Int(数值表达式 )函数为取整函数,返回数值表达式的整数部分。 【知识模块】 模块与 VBA编程基础 30 【正确答案】 B 【试题解析】 Dim数组名 (下标下限 to下标上限 )缺省情况下,下标下限为 0,元素个数 =(下标上限一下标上限 +1);如果 to选项可以安排非 0下限,使用逗号间隔可定义多维数组。数组 A(2 to 5,5)为二维数组,元素个数 =(5 2+1)*(5-0+1)=4*6=24。 【知识模块】 模块与 VBA编程基础 31 【正确答
33、案】 B 【试题解析】 DateDiff函数返回变量型 (长型 ),指定两个指定的日期之间的时间间隔数。 语法: DateDiff interval, datel, date2, firstdayofweek, firstweekofyear) 【知识模 块】 模块与 VBA编程基础 32 【正确答案】 A 【试题解析】 Val函数:返回包含于字符串内的数字,将其作为适当类型的数字值; Asc函数:返回与字符串的第一个字母对应的 ANSI字符代码; Space函数:返回指定空格的字符串; Single为数据类型,不是函数。 【知识模块】 模块与 VBA编程基础 33 【正确答案】 C 【试题解
34、析】 变量名必须以字母开头,大小写等价,不能包括空格或除下划线“_”之外的其他字符,不能使用 VBA的关键字,变量名长度小于 255个字符。 【知识模块】 模块与 VBA编程基础 34 【正确答案】 C 【试题解析】 Mod取余函数,奇数 mod2=1偶数 mod2=0证明 x、 y都是奇数,即用 AND(与 )操作符。 【知识模块】 模块与 VBA编程基础 35 【正确答案】 C 【试题解析】 变量名必须以字母开头,大小写等价,不能包括空格或除下划线“_”之外的其他字符,不能使用 VBA的关键字,变量名长度小于 255个字符,本题中选项 C)为关键字,不能作为变量名使用。 【知识模块】 模块
35、与 VBA编程基础 36 【正确答案】 B 【试题解析】 Int(数值表达式 )函数为取整函数,返回数值表达式的整数部分。参数为负值时,返回小于等于参数值的第一个负数。 【知识模块】 模块与 VBA编程基础 37 【正确答案】 B 【试题解析】 dim newarray(10)as integer表示定义了 11个整型数构成的数组,数组元素为 newarray(0)至 newarray(10)。 【知识模块】 模块与 VBA编程基础 38 【正确答案】 A 【试题解析】 各函数的功能如下表所示: 而选 项 C)的 Asc只是在 SQL语句中实现排序为升序的功能。 【知识模块】 模块与 VBA编程基础 39 【正确答案】 A 【试题解析】 在 VBA编程过程中,如果在代码中要反复使用相同的值,或者代表一些具有特定意义的数字或字符串,可以用符号常量形式来表示,符号常量使用关键字 Const来定义,格式: Const符号常量名称:常量值 . 【知识模块】 模块与 VBA编程基础