vba上课习题.docx
《vba上课习题.docx》由会员分享,可在线阅读,更多相关《vba上课习题.docx(30页珍藏版)》请在冰豆网上搜索。
vba上课习题
1.现有一个已经建好的窗体,窗体中有一命令按钮,单击此按钮,将打开“tEmployee”表,如果采用VBA代码完成,下面语句正确的是
A.docmd.openform"tEmployee"
B.docmd.openview"tEmployee"
C.docmd.opentable"tEmployee"
D.docmd.openreport"tEmployee"
2.表达式Val(".123E2CD")的值是(val函数作用就是数字类型和字符类型混合时,把字符类型去掉)
A..123B.12.3
C.0D..123E2CD
3.在窗体中添加了一个文本框和一个命令按钮(名称分别为tText和bCommand.,并编写了相应的事件过程。
运行此窗体后,在文本框中输入一个字符,则命令按钮上的标题变为“计算机等级考试”。
以下能实现上述操作的事件过程是
A.PrivateSubbCommand_Click()
Caption=""计算机等级考试""
EndSub
B.PrivateSubtText_Click()
bCommand.Caption=""计算机等级考试""
EndSub
C.PrivateSubbCommand_Change()
Caption=""计算机等级考试""
EndSub
D.PrivateSubtText_Change()
bCommand.Caption=""计算机等级考试""
EndSub
4.表达式1.5+3\2>2Or7Mod3<4AndNot1的运算结果是
A.-1B.0
C.1D.其他
5.VBA表达式3*3\3/3的输出结果是
A.0B.1
C.3D.9
6.在窗体中添加一个名称为Command1的命令按钮,然后编写如下事件代码:
PrivateSubCommand1_Click(.
a=75
Ifa>60Then
k=1
ElseIfa>70Then
k=2
ElseIfa>80Then
k=3
ElseIfa>90Then
k=4
EndIf
MsgBoxk
EndSub
窗体打开运行后,单击命令按钮,则消息框的输出结果是
A.1B.2
C.3D.4
A
7.有如下程序段:
DimIAsInteger
I=Int(-3.25)
执行后,I的返回值是
A.-3B.-4
C.3D.3.25
8.设有如下窗体单击事件过程:
PrivateSubForm_Click()
a=1
Fori=1To3
SelectCasei
Case1,3
a=a+1
Case2,4
a=a+2
EndSelect
Nexti
MsgBoxa
EndSub
打开窗体运行后,单击窗体,则消息框的输出的结果是
A.3B.4
C.5D.6
9.下列代码中()可以使控件TxtBox获得焦点。
A)setTxtBox..focusB)setTxtBox.Focus=True
C)TxtBox.SetFocusD)TxtBox.SetFocus=True
10.VBA中不能进行错误处理的语句结构是
AOnErrorThen标号
BOnErrorGoto标号
COnErrorResumeNext
DOnErrorGoto0
A
11.在窗体上画一个名称为TxtA的文本框,然后编写如下的事件过程:
PrivateSubTxtA_KeyPress(KeyasciiAsInteger)
......
EndSub
若焦点位于文本框中,则能够触发KeyPress事件的操作是
A.单击鼠标B.双击文本框
C.鼠标滑过文本框D.按下键盘上的某个键
12.VBA程序的多条语句可以写在一行中,其分隔符必须使用符号
A.:
B.’
C.;D.,
13.在窗体中添加一个命令按钮(名称为Command1),然后编写如下代码:
PrivateSubCommand1_Click()
a=0:
b=5:
c=6
MsgBoxa=b+c
EndSub
窗体打开运行后,如果单击命令按钮,则消息框的输出结果为
A.l1B.a=11
C.0D.False
14.定义了二维数组A(2to5,5),该数组的元素个数为
A.20B.24
C.25D.36
15.使用Function语句定义一个函数过程,其返回值的类型
A.只能是符号常量
B.是除数组之外的简单数据类型
C.可在调用时由运行过程决定
D.由函数定义时As子句声明
16.以下可以得到""2*5=10""结果的VBA表达式为
A."2*5"&"="&2*5
B.""2*5""+""=""+2*5
C.2*5&""=""&2*5
D.2*5+""=""+2*5
17.下列关于VBA面向对象程序设计中的“方法”说法正确的是
A.方法是属于对象的
B.方法是独立的实体
C.方法也可以由程序员定义
D.方法是对事件的响应
18.在窗体中添加一个名称为Command1的命令按钮,然后编写如下事件代码:
PrivateSubCommand1_Click(.
A=75
IfA>60ThenI=1
IfA>70ThenI=2
IfA>80ThenI=3
IfA>90ThenI=4
MsgBoxI
EndSub
窗体打开运行后,单击命令按钮,则消息框的输出结果是
A.1B.2
C.3D.4
19.下列Case语句中错误的是
ACase0To10
BCaseIs>10
CCaseIs>10AndIs<50
DCase3,5,Is>10
20.在窗体上画一个命令按钮,名称为Command1,然后编写如下事件过程:
OptionBase0
PrivateSubCommand1_Click()
DimcityAsVariant
city=Array("北京","上海","天津","重庆")
Printcity
(1)
EndSub
程序运行后,如果单击命令按钮,则在窗体上显示的内容是
A.空白B.错误提示
C.北京D.上海
21.以下程序段运行后,消息框的输出结果是
a=sqr(3)
b=sqr
(2)
c=a>b
Msgboxc+2
A.-1B.1
C.2D.出错
22.设有如下声明:
DimXAsInteger
如果Sgn(X)的值为-1,则X的值是
A.整数
B.大于0的整数
C.等于0的整数
D.小于0的数
23.在窗体中添加一个名称为Command1的命令按钮,然后编写如下程序:
PublicxAsInteger
PrivateSubCommand1_Click()
x=10
Calls1
Calls2
MsgBoxx
EndSub
PrivateSubs1()
x=x+20
EndSub
PrivateSubs2()
DimxAsInteger
x=x+20
EndSub
窗体打开运行后,单击命令按钮,则消息框的输出结果为
A.10B.30
C.40D.50
24.设有如下程序:
PrivateSubCommand1_Click(.
DimsumAsDouble,xAsDouble
sum=0
n=0
Fori=1To5
x=n/i
n=n+1
sum=sum+x
Nexti
EndSub
该程序通过For循环来计算一个表达式的值,这个表达式是
A.1+1/2+2/3+3/4+4/5
B.1+1/2+1/3+1/4+1/5
C.1/2+2/3+3/4+4/5
D.1/2+1/3+1/4+1/5
25.下列可作为VBA变量名的是
A.A#A
B.4A
C.?
xy
D.constA
26.在窗体上画一个命令按钮,然后编写如下事件过程:
PrivateSubCommand1_Click(.
Dima(.
a=Array(1,3,5,7)
s=0
Fori=1To3
s=s*10+a(i)
Nexti
Prints
EndSub
程序运行后,输出结果为
A135
B357
C531
D753
27.在窗体中有一个标签Lb1和一个命令按钮Command1,事件代码如下:
OptionCompareDatabase
DimaAsString*10
PrivateSubCommand1_Click()
a="1234"
b=Len(a)
Me.Lb1.Caption=b
EndSub
打开窗体后单击命令按钮,窗体中显示的内容是
A.4B.5
C.10D.40
28.使用VBA的逻辑值进行算术运算时,True值被处理为
A.-1B.0
C.1D.任意值
29.在窗体中添加一个名称为Command1的命令按钮,然后编写如下事件代码:
PrivateSubCommand1_Click()
Dima(10,10.
Form=2To4
Forn=4To5
a(m,n)=m*n
Nextn
Nextm
MsgBoxa(2,5)+a(3,4)+a(4,5)
EndSub
窗体打开运行后,单击命令按钮,则消息框的输出结果是
A.22B.32
C.42D.52
30.以下程序段运行结束后,变量x的值为
x=2
y=4
Do
x=x*y
y=y+1
LoopWhiley<4
A.2B.4
C.8 D.20
31.下列不是分支结构的语句是
A.If...Then...EndIf
B.While...Wend
C.If...Then...Else...EndIf
D.Select...Case...EndSelect
32.下列逻辑表达式中,能正确表示条件“x和y都是偶数”的是
AxMod2=1OryMod2=1
BxMod2=0OryMod2=0
CxMod2=1AndyMod2=1
DxMod2=0AndyMod2=0
33.在VBA中,下列变量名中不合法的是
A.你好B.nihao
C.nihaoD.ni_hao
34.假定有以下程序段
n=0
fori=1to3
forj=-4to-1
n=n+1
nextj
nexti
运行完毕后,n的值是
A.0B.3
C.4D.12
35.在窗体上添加一个命令按钮(名为Command1.,然后编写如下事件过程:
PrivateSubCommand1_Click()
Fori=1To4
x=4
Forj=1To3
x=3
Fork=1To2
x=x+6
Nextk
Nextj
Nexti
MsgBoxx
EndSub
打开窗体后,单击命令按钮,消息框的输出结果是
A.7 B.15
C.157 D.538
36.以下有关优先级的比较,正确的是
A.算术运算符>关系运算符>连接运算符
B.算术运算符>连接运算符>逻辑运算符
C.连接运算符>算术运算符>关系运算符
D.逻辑运算符>关系运算符>算术运算符
37.有如下语句:
s=Int(100*RnD)
执行完毕后,s的值是
A.[0,99]的随机整数
B.[0,100]的随机整数
C.[1,99]的随机整数
D.[1,100]的随机整数
38.InputBox函数的返回值类型是
A.数值B.字符串
C.变体D.数值或字符串(视输入的数据而定)
39.在过程定义中有语句:
PrivateSubGetData(ByReffAsInteger)
其中“ByRef”的含义是
A.传值调用B.传址调用
C.形式参数D.实际参数
40.在窗体中添加一个命令按钮(名称为Command1),然后编写如下代码
PrivateSubCommand1_Click()
Dima,b,c,s
a=5:
b=7
s=(a
MsgBoxs
EndSub
窗体打开运行后,如果单击命令按钮,则消息框的输出结果为
A.4B.5
C.6D.出错
41.在窗体中添加一个命令按钮(名称为Command1),然后编写如下代码
PrivateSubCommand1_Click()
Dima,b,c,s
a=5:
b=7:
c=6
s=(a>b)+5
MsgBoxs
EndSub
窗体打开运行后,如果单击命令按钮,则消息框的输出结果为
A.4B.5
C.6D.出错
42.在窗体中添加一个命令按钮(名称为Command1),然后编写如下代码
PrivateSubCommand1_Click()
Dima,b,c,s
a=5:
b=7:
s=0
s=5+8
MsgBoxs=5+8
EndSub
窗体打开运行后,如果单击命令按钮,则消息框的输出结果为
A.-1B.1
C.13D.True
43.在窗体中添加一个命令按钮(名称为Command1),然后编写如下代码
PrivateSubCommand1_Click()
Dima,b,c,s
a=5:
b=7:
s=0
s=5and8
MsgBoxs
EndSub
窗体打开运行后,如果单击命令按钮,则消息框的输出结果为
A.-1B.0
C.13D.True
44.窗体打开运行后,如果单击命令按钮,则消息框的输出结果为
在窗体中添加一个命令按钮(名称为Command1),然后编写如下代码:
PrivateSubCommand1_Click()
a=0:
b=5:
c=6
MsgBoxa=b+c
EndSub
窗体打开运行后,如果单击命令按钮,则消息框的输出结果为
A.l1B.a=11
C.0D.False
45.在窗体中添加一个名称为Command1的命令按钮,然后编写如下事件代码:
PrivateSubCommand1_Click()
s="ABBACDDCBA"
ForI=6To2Step-2
x=Mid(s,I,I)
y=Left(s,I)
z=Right(s,I)
z=x&y&z
NextI
MsgBoxz
EndSub
窗体打开运行后,单击命令按钮,则消息框的输出结果是
A.AABAABB.ABBABA
C.BABBAD.BBABBA
46.于获得字符串Str从第2个字符开始的3个字符的函数是
A.Mid(Str,2,3)B.Middle(Str,2,3)
C.Right(Str,2,3)D.Left(Str,2,3)
47.假定有如下的Sub过程:
Subsfun(xAsSingle,yAsSingle)
t=x
x=t/y
y=tMody
EndSub
在窗体上添加一个命令按钮(名为Command1),然后编写如下事件过程:
PrivateSubCommand1_Click()
Dimaassingle
Dimbassingle
a=5
b=4
sfuna,b
MsgBoxa&chr(10)+chr(13)&b
EndSub
打开窗体运行后,单击命令按钮,消息框的两行输出内容分别为
A.1和1 B.1.25和1
C.1.25和4 D.5和4
48.SelectCase…EndSelect结构与下列()语句结构可以实现同样的功能。
A)if··then…endifB)For…NeXt
C)Do…LoopD)While…Wend
49.当X=3时,执行下面的程序后,txt文本框的结果是()。
SelectCasex
Case1,3,5
Txt.Text=“结果1”
Case1to4
Txt.Text=“结果2”
CaseIS<6
Txt.Text=“结果3”
Case3
Txt.Text=“结果4”
EndSelect
A)结果1B)结果2
C)结果3D)结果4
50.根据下列程序段,运算结果正确的是()。
DimxAsSingle
DimyAsSingle
Ifx<0then
y=3
ElseIfx<1Then
y=2*x
Else
y=-4*x+6
EndIf
A)当x=2时,y=-2B)当x=一1时,y=一7
C)当x=0.5时,y=4D)当x=2.5时,y=11
51.下面程序的结果是()。
i=l
j=0
DO
j=j十i
i=i十1
LoopUntili<5
A)0B)1
C)4D)5
52.执行语句c=IIf(0,3,2)后,c的值为()。
A)0B)3
C)2D)Null
53.语句c=Swith(x<0,x-5,x=0,x+2,x>0,x^2),当x=3时,c的值为()。
A)-2B)3
C)5D)9
54.语句c=Choose(x,x-3,-x,x+2),当x=3时,c的值为()。
A)0B)3
C)-3D)5
55.VBA中用于验证变量是否己经初始化的函数是()。
A)IsNumericB)IsNull
C)IsEmptyD)IsErro
56.下列说法正确的是()。
A)VBA和宏都可以对错误进行处理
B)宏参数不是固定的,可以在运行宏时更改
C)宏不支持嵌套的IfThen结构
D)将窗体或报表导入到其他数据库中时,同时导入它们的宏
57.下面()方式不能打开VBA编辑器。
A)通过对象属性表的事件标签页
B)在数据库窗口的“模块”对象列表中双击一个模块
C)单击“工具”|“宏”|“VisualBasic编辑器”命令
D)Alt+F2
58.在Access下,打开VBA的快捷键是()。
A)F5B)Alt+F4
C)Alt+FllD)Alt+F12
59.在VBA编辑器中打开立即窗口的命令是()。
A)Ctrl+GB)Ctrl+V
C)Ctrl+CD)Ctrl+R
60.在VBA编辑器中,能够在中断模式下安排一些调试语句并显示其值变化的窗口是()。
A)本地窗口B)立即窗口
C)监视窗口D)快速监视
61.声明子程序以()关键字开头。
A)SubB)EndSub
C)FunctionD)EndFunction
62.输入Shift键时,触发了()事件。
A)KeyUpB)KeyPress
C)KeyDownD)Click
63.标准模块和类模块的主要区别是()。
A)只是作用范围B)只是生命周期
C)作用范围和生命周期D)以上都不对
64.函数过程不能用()来调用执行。
A)DimB)main
C)PublicD)Call
65.下列不属于鼠标事件的是()。
A)ClickB)DbClick
C)OpenD)MouseMove
66.当用户在系统双击时间限度内,在一个对象上按下并释放鼠标左键两次,()事件发生。
A)ClickB)DblClick
C)MouseUpD)MouseDown
67.当用户()鼠标时,会发生MouseMove事件。
A)双击B)按下
C)释放D)移动
68.()事件在打开、调整或关闭窗体或报表时发生。
A)键盘B)鼠标
C)窗口D)操作
69.下列关于窗口事件叙述中,正确的是()。
A)当窗体已打开,但第1条记录未显示时,将触发Close事件
B)当窗体或报表被关闭并从屏幕删除时,将触发Close事件
C)窗体打开并且显示其中记录时,将触发Unload事件
D)Load事件发生在窗体被关闭之后
70.在窗体打开后,只窗体大小有更改,则发生()事件。
A)OpenB)Close
C)LoadD)Resize
71.当文本框或组合框的文本部分的内容更改时,将发生()事件。
A)ChangeB)CurrentC)GotFocusD)LostFocus
72.下列()情况不需要使用VBA代码。
A)创建用户自定义函数B)复杂程序处理
C)添加字段D)使用ActiveX控件和其他应用程序对象
73.在创建Function或Sub过程时,如果想在调用它们时为过程提供信息,可声明()。
A)程序B)语句C)方法D)参数
74.()是VisualBasic程序设计的核心。
A)对象B)属性C)事件D)方法
75.已定义好有参函数f(m),其中形参m是整型量,下面调用该函数,传递实参为5,将返回的函数值赋给变量t。
以下正确的是()。
A)t=f(M)B)t=Callf(m)
C)t=cal