第8章VBA程序设计基础Word下载.docx
- 文档编号:17234061
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:22
- 大小:142.20KB
第8章VBA程序设计基础Word下载.docx
《第8章VBA程序设计基础Word下载.docx》由会员分享,可在线阅读,更多相关《第8章VBA程序设计基础Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
A)形成死循环
B)循环体不执行即结束循环
C)出现语法错误
D)循环体执行一次后结束循环
(32)运行下列程序,结果是
PrivateSubCommand32_Click()
f0=1:
f1=1:
k=1
DoWhilek<
=5
f=f0+f1
f0=f1
f1=f
k=k+1
Loop
MsgBox"
f="
&
f
EndSub
A)f=5
B)f=7
C)f=8
D)f=13
(33)有如下事件程序,运行该程序后输出结果是
PrivateSubCommand33_Click()
DimxAsInteger,yAsInteger
x=1:
y=0
DoUntily<
=25
y=y+x*x
x=x+1
x="
x&
"
y="
y
A)x=1,y=0
B)x=4,y=25
C)x=5,y=30
D)输出其他结果
(34)下列程序的功能是计算sum=1+(1+3)+(1+3+5)+……+(1+3+5+……+39)
PrivateSubCommand34_Click()
t=0
m=1
sum=0
Do
t=t+m
sum=sum+t
m=______
LoopWhilem<
=39
Sum="
sum
为保证程序正确完成上述功能,空白处应填入的语句是
A)m+1
B)m+2
C)t+1
D)t+2
(35)下列程序的功能是返回当前窗体的记录集
SubGetRecNum()
DimrsAsObject
Setrs=______
MsgBoxrs.RecordCount
为保证程序输出记录集(窗体记录源)的记录数,空白处应填入的语句是
A)Recordset
B)Me.Recordset
C)RecordSource
D)Me.RecordSource
(9)在VBA中要将数值表达式的值转换为字符串,应使用函数【9】。
(10)运行下列程序,输入如下两行:
Hi,
Iamhere.
弹出的窗体中的显示结果是【10】。
PrivateSubCommand11_Click()
DimabcAsString,sumAsstring
sum="
Do
abc=InputBox("
输入abc"
IfRight(abc,1)="
."
ThenExitDo
sum=sum+abc
Loop
MsgBoxsum
EndSub
(11)运行下列程序,窗体中的显示结果是:
x=【11】。
OptionCompareDatabase
DimxAsInteger
PrivateSubForm_Load()
x=3
StaticaAsInteger
DimbAsInteger
b=x^2
fun1x,b
x
Subfun1(ByRefyAsInteger,ByValzAsInteger)
y=y+z
z=y-z
(12)“秒表”窗体中有两个按钮(“开始/停止”按钮bOK,“暂停/继续”按钮bPus);
一个显示计时的标签1Num;
窗体的“计时器间隔”设为100计时精度为0.1秒。
要求:
打开窗体如图1所示;
第一次单击“开始婷止”按钮,从0开始滚动显示计时(见图2);
10秒时单击“暂停/继续”按钮,显示暂停(见图3),但计时还在继续;
若20秒后再次单击“暂停/继续”按钮,计时会从30秒开始继续滚动显示;
第二次单击“开始/停止”按钮,计时停止,显示最终时间(见图4)。
若再次单击“开始/停止”按钮可重新从0开始计时。
相关的事件程序如下。
请在空白处填入适当的语句,使程序可以完成指定的功能。
OptionCompareDatabase
Dimflag,pauseAsBoolean
PrivateSubbOKClick()
flag=【12】
Me!
bOK.Enabled=True
bPus.Enabled=flag
PrivateSubbPus_Click()
pause=Notpause
bOK.Enabled=NotMe!
bOK.Enabled
PrivateSubFormOpen(CancelAsInteger)
flag=False
pause=False
bPus.Enabled=False
PrivateSubFormTimer()
StaticcountAsSingle
Ifflag=TrueThen
Ifpause=FalseThen
1Num.Caption=Round(count,1)
EndIf
count=【13】
Else
count=0
(13)数据库中有“学生成绩表”,包括“姓名”、“平时成绩”、“考试成绩”和“期末总评”等字段。
现要根据“平时成绩”和“考试成绩”对学生进行“期末总评”。
规定:
“平时成绩”加“考试成绩”大于等于85分,则期末总评为“优”,“平时成绩”加“考试成绩”小于60分,则期末总评为“不及格”,其他情况期末总评为“合格”。
下面的程序按照上述要求计算每名学生的期末总评。
PrivateSubCommand0_Click()
DimdbAsDAO.Database
DimrsAsDAO.Recordset
Dimpscj,kscj,qmzpAsDAO.Field
DimcountAsInteger
Setdb=CurrentDb()
Setrs=db.OpenRecordset("
学生成绩表"
Setpscj=rs.Fields("
平时成绩"
Setkscj=rs.Fields("
考试成绩"
Setqmzp=rs.Fields("
期末总评"
DoWhileNotrs.EOF
【14】
Ifpscj+kscj>
=85Then
qmzp="
优"
ElseIfpscj+kscj<
60Then
不及格"
合格"
rs.Update
count=count+1
【15】
rs.Close
db.Close
Setrs=Nothing
Setdb=Nothing
学生人数:
count
2010年9月
(19)下列表达式计算结果为数值类型的是
A)#5/5/2010#-#5/1/2010#
B)“102”>
“11”
C)102=98+4
D)#5/1/2010#+5
(26)要将一个数字字符串转换成对应的数值,应使用的函数是
A)Val
B)Single
C)Asc
D)Space
(27)下列变量名中,合法的是
A)4A
B)A-1
C)ABC_1
D)private
(28)若变量i的初值为8,则下列循环语句中循环体的执行次数为
DoWhilei<
=17
i=i+2
A)3次
B)4次
C)5次
D)6次
(29)InputBox函数的返回值类型是
A)数值
B)字符串
C)变体
D)视输入的数据而定
(30)下列能够交换变量X和Y值的程序段是
A)Y=X:
X=Y
B)Z=X:
Y=Z:
C)Z=X:
X=Y:
Y=Z
D)Z=X:
W=Y:
(31)窗体中有命令按钮Commandl,事件过程如下:
PublicFunctionf(xAsInteger)AsInteger
DimyAsInteger
x=20
y=2
f=x*y
EndFunction
PrivateSubCommandl_Click()
StaticxAsInteger
x=10
y=5
y=f(x)
Debug.Printx;
运行程序,单击命令按钮,则立即窗口中显示的内容是
A)105
B)1040
C)205
D)2040
(32)窗体中有命令按钮Commandl和文本框Text1,事件过程如下:
Functionresult(ByValxAsInteger)AsBoolean
If×
Mod2=0Then
result=True
result=False
x=Val(InputBox(“请输入一个整数”))
If______Then
Text1=Str(x)&
“是偶数.”
“是奇数.”
运行程序,单击命令按钮,输入19,在Text1中会显示“19是奇数”.那么在程序的空白处应填写
A)result(x)=“偶数”
B)result(x)
C)resuIt(x)=“奇数”
D)NOTresult(x)
(33)窗体有命令按钮Commandl和文本框Textl,对应的事件代码如下:
PrivateSubCommandl_Click()
Fori=1To4
x=3
Forj=1To3
Fork=1To2
x=x+3
Nextk
Nextj
Nexti
Text1.Value=Str(x)
运行以上事件过程,文本框中的输出是
A)6
B)12
C)18
D)21
(34)窗体中有命令按钮run34,对应的事件代码如下:
PrivateSubrun34_Enter()
DimnumAsInteger,aAsInteger,bAsInteger,iAsInteger
Fori=1To10
num=InputBox(“请输入数据:
”,“输入”)
IfInt(num/2)=num/2Then
a=a+1
b=b+1
MsgBox(“运行结果:
a=”&
Str(a)&
“,b=”&
Str(b))
运行以上事件过程,所完成的功能是
A)对输入的10个数据求累加和
B)对输入的10个数据求各自的余数,然后再进行累加
C)对输入的10个数据分别统计奇数和偶数的个数
D)对输入的10个数据分别统计整数和非整数的个数
(35)运行下列程序,输入数据8,9,3,0后,窗体中显示结果是
PrivateSubForm_click()
DimsumAsInteger,mAsInteger
m=InputBox(“输入m”)
sum=sum+m
LoopUntilm=0
MsgBoxsum
A)0
B)17
C)20
D)21
(9)在VBA中要判断一个字段的值是否为Null,应该使用的函数是【9】。
(10)一下列程序的功能是求方程:
x2十y2=1000的所有整数解。
请在空白处填入适当的语句,使程序完成指定的功能。
Dim×
asinteger,yasinteger
Forx=-34To34
Fory=-34To34
If【10】Then
Debug.Printx,y
Nexty
Nextx
(11)下列程序的功能是求算式:
1+1/2!
+1/3!
+1/4!
+……前10项的和(其中n!
的含义是n的阶乘)。
Dimiasinteger,sassingle,aassingle
a=1:
s=0
a=【11】
s=s+a
Debug.Print“1+1/2!
十1/3!
+.…=”;
s
(12)在窗体中有一个名为Command12的命令按钮,Click事件功能是:
接收从键盘输入的10个大于0的不同整数,找出其中的最大值和对应的输入位置。
请在空白处填入适当语句,使程序可以完成指定的功能。
PrivateSubCommand12_Click()
max=0
maxn=0
fori=1To10
num=Val(InputBox(‘,请输入第“&
i&
”个大于0的整数:
“))
If【12】Then
max=num
maxn=【13】
MsgBox(”最大值为第“&
maxn&
”个输入的“&
max)
(13)数据库的”职I基本情况表“有”姓名“和”职称“等字段,要分别统计教授、副教授和其他人员的数量。
PrivateSubCommands_Click()
DimdbAsDAO.Database
DimrsAsDAO.Recordset
DimzcAsDAO.Field
DimCountlAsInteger,Count2AsInteger,Count3AsInteger
Setrs=db.OpenRecordset(”职工基本情况表“)
Setzc=rs.Fields(”职称“)
Countl=0:
Count2=0:
Count3=0
DoWhileNot【14】
SelectCasezc
CaseIs=”教授“
Countl=Countl+1
CaseIs=”副教授“
Count2=Count2+1
CaseElse
Courit3=Count3+1
EndSelect
rs.Close
MsgBox”教授:
“&
Count1&
”,副教授:
Count2&
”,其他:
count3
2010年3月
(21)在调试VBA程序时,能自动被检查出来的错误是
A)语法错误
C)运行错误
D)语法错误和逻辑错误
(23)在已建窗体中有一命令按钮(名为Commandl),该按钮的单击事件对应的VBA代码为:
subT.Form.RecordSource="
select*from雇员"
单击该按钮实现的功能是
A)使用select命令查找“雇员”表中的所有记录
B)使用select命令查找并显示“雇员”表中的所有记录
C)将subT窗体的数据来源设置为一个字符串
D)将subT窗体的数据来源设置为“雇员”表
(27)能够实现从指定记录集里检索特定字段值的函数是
A)Nz
B)Find
C)Lookup
D)DLookup
(28)如果X是一个正的实数,保留两位小数、将千分位四舍五入的表达式是
A)0.01*Int(x+0.05)
B)0.01*Int(100*(X+0.005))
C)0.01*Int(x+0.005)
D)0.01*Int(100*(X+0.05))
(29)在模块的声明部分使用“OptionBase1”语句,然后定义二维数组A(2to5,5),则该数组的元素个数为
A)20
B)24
C)25
D)36
(30)由“Fori=1To9Step-3”决定的循环结构,其循环体将被执行
A)0次
B)1次
C)4次
D)5次
(31)在窗体上有一个命令按钮Commandl和一个文本框Textl,编写事件代码如下:
PrivateSubCommand1_Click()
Dimi,j,x
Fori=1To20step2
x=0
Forj=To20step3
x=x+1
Textl.Value=Str(x)
打开窗体运行后,单击命令按钮,文本框中显示的结果是
A)1
B)7
C)17
D)400
(32)在窗体上有一个命令按钮Commandl,编写事件代码如下:
y=0
y=InputBox("
y="
If(yMod10)+Int(y/10)=10ThenDebug.Printy;
LoopUntily=0
打开窗体运行后,单击命令按钮,依次输入10、37、50、55、64、20、28、19、-19、0,立即窗口上输出的结果是
A)375564281919
B)105020
C)1050200
D)3755642819
(33)在窗体上有一个命令按钮Commandl,编写事件代码如下:
DimxAsInteger,yAsInteger
x=12:
y=32
CallProc(x,y)
Debug.Printx;
y
PublicSubProc(nAsInteger,ByValmAsInteger)
n=nMod10
m=mMod10
打开窗体运行后,单击命令按钮,立即窗口上输出的结果是
A)232
B)123
C)22
D)1232
34)在窗体上有一个命令按钮Commandl,编写事件代码如下:
Dimd1AsDate
Dimd2AsDate
dl=#12/25/2009#
d2=#1/5/2010#
MsgBoxDateDiff(”ww”,d1,d2)
打开窗体运行后,单击命令按钮,消息框中输出的结果是
B)2
C)10
D)11
(35)下列程序段的功能是实现“学生”表中“年龄”字段值加1
DimStrAsString
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VBA 程序设计 基础