VB.docx
《VB.docx》由会员分享,可在线阅读,更多相关《VB.docx(55页珍藏版)》请在冰豆网上搜索。
VB
2007年9月全国计算机等级考试二级笔试试卷access考试试题
一、选择题(1~35每小题2分,共70分)
29.使用Function语句定义一个函数过程,其返回值的类型
A.只能是符号常量B.是除数组之外的简单数据类型
C.可在调用时由运行过程决定D.由函数定义时As子句声明
答案D
解析:
过程调用
子过程的调用形式有两种:
Call子过程名([<实参>])或子过程名[<实参>]
Sub或Function过程中的语句可以利用命名参数来传递值给被调用的过程。
函数过程的调用形式只有一种:
函数过程名([<实参>])。
由于函数过程会返回一个值,实际上,函数过程的上述调用形式主要有两种方法:
一是将函数过程返回值作为赋值成分赋予某个变量,其格式为“变量=函数过程名([<实参>])”;二是将函数过程返回值作为某个过程的实参成分使用。
考点5:
过程调用和参数传递
30.在过程定义中有语句:
PrivateSubGetData(ByReffAsInteger)
其中"ByRef"的含义是
A.传值调用B=.传址调用
C.形式参数D.实际参数
答案B
解析:
在参数函数设计时,要想实现某个参数的"双向"传递,就应当说明该形参为"传址"调用形式。
其设置选项是ByRef。
选择题第3题
31.在Access中,DAO的含义是:
A.开放数据库互连应用编程接口B=.数据库访问对象
C.Active数据对象D.数据库动态链接库
答案B
解析:
数据访问对象(DAO):
数据访问对象是VBA提供的一种数据访问接口。
ActiveX数据对象(ADO):
ActiveX数据对象是基于组件的数据库编程接口。
ODBC:
开放数据库互连应用编程接口。
DLL:
数据库动态链接库
考点6:
VBA的数据库编程
32.在窗体中有一个标签Label0,标题为“测试进行中”;有一个命令按钮Command1,事件代码如下:
PrivateSubCommand1_Click()
Label0.Caption="标签"
EndSub
PrivateSubForm_Load()
Form.Caption="举例"
Command1.Caption="移动"
EndSub
打开窗体后单击命令按钮,屏幕显示
AB
CD
答案D
解析:
打开窗体后,系统自动调用Form_Load(),这时Form的标题为"举例",Command1的标题为"移动",Label0的内容为“测试进行中”;当单击命令按钮后,Label0的内容更新为“标签”,Form的标题还是"举例",Command1的内容还是"移动",因此选择D。
33.在窗体中有一个标签Lb1和一个命令按钮Command1,事件代码如下:
OptionCompareDatabase
DimaAsString*10
PrivateSubCommand1_Click()
a="1234"
b=Len(a)
Me.Lb1.Caption=b
EndSub
打开窗体后单击命令按钮,窗体中显示的内容是
A.4B.5
C.10D.40
答案A
解析:
"DimaAsString*10"表示变量a的长度为10个字节,也就是5个汉字的长度!
如果所输入字符小于10它会自动用空格补齐,如果大于10,则多余的部分则会被截掉,只保留前10个字符。
a="1234",b=Len(a),b=4,因此窗体中显示的内容是4。
考点3:
VBA编程基础——常量、变量、运算符和表达式
34.下列不是分支结构的语句是
A.If...Then...EndIfB=.While...WEnd
C.If...Then...Else...EndIfD.Select...Case...EndSelect
答案B
解析:
While...WEnd是循环结构的语句,不是分支结构的语句。
考点4:
VBA程序流程控制语句
35.在窗体中使有一个文本框(名为n)接受输入的值,有一个命令按钮run,事件代码如下:
PrivateSubrun_Click()
result=""
Fori=1ToMe!
n
Forj=1ToMe!
n
result=result+"*"
Nextj
result=result+Chr(13)+Chr(10)
Nexti
MsgBoxresult
EndSub
打开窗体后,如果通过文本框输入的值为4,单击命令按钮后输出的图型是
A.****B.*
*******
*********
***********
C.****D.****
**********
************
**************
答案A
解析:
输入的n值为4时,Forj=1To4执行result=result+"*",此时result="****",循环j结束后,执行result=result+Chr(13)+Chr(10),相当于在字符串result="****"后面加一个回车换行符,再执行i循环3次后,输出的图型应该是A。
考点4:
VBA程序流程控制语句
二、填空题(每空2分,共30分)
11.在VBA中双精度的类型标识是【11】Double
解析:
Double(双精度浮点型)变量存储为IEEE64位(8个字节)浮点数值的形式,它的范围在负数的时候是从?
1.79769313486231E308到?
4.94065645841247E-324,而正数的时候是从4.94065645841247E-324到1.79769313486232E308。
Double的类型声明字符是数字符号(#)。
考点3:
VBA编程基础——常量、变量、运算符和表达式
12.在窗体中使用一个文本框(名为x)接受输入值,有一个命令按钮test,事件代码如下:
PrivateSubtest_Click()
y=0
Fori=0ToMe!
x
y=y+2*i+1
Nexti
MsgBoxy
EndSub
打开窗体后,若通过文本框输入值为3,单击命令按钮,输出的结果是【12】16
解析:
若通过文本框输入值为3,则For循环i=0To3共执行4次,
第一次:
y=0+2*0+1=1;
第二次:
y=1+2*1+1=4;
第三次:
y=4+2*2+1=9;
第四次:
y=9+2*3+1=16;所以输出的结果是16
考点4:
VBA程序流程控制语句
13.在窗体中使用一个文本框(名为num1)接受输入值,有一个命令按钮run13,事件代码如下:
PrivateSubrun13_Click()
IfMe!
num1>=60Then
result="及格"
ElseIfMe!
num1>=70Then
result="通过"
ElseIfMe!
num1>=80Then
result="合格"
EndIf
MsgBoxresult
EndSub
打开窗体后,若通过文本框输入的值为85,单击命令按钮,输出结果是【13】及格
解析:
若通过文本框输入的值为85,先执行“IfMe!
num1>=60Then”判断语句,因为满足条件,所以result付值为"及格",结束判断语句,并执行“MsgBoxresult”语句,所以输出结果是及格。
考点4:
VBA程序流程控制语句
14.现有一个登录窗体如下图所示。
打开窗体后输入用户名和密码,登录操作要求在20秒内完成,如果在20秒内没有完成登录操作,则倒计时到达0秒时自动关闭登录窗体,窗体的右下角是显示倒计时的文本框Itime。
事件代码如下,要求填空完成事件过程。
OptionCompareDatabase
DimflagAsBoolean
DIMiAsInteger
PrivateSubForm_Load()
flag=【14】
Me.TimerInterval=1000
i=0
EndSub
PrivateSubForm_Timer()
Ifflag=TrueAndi<20Then
Me!
Time.Caption=20-i
i=【15】
Else
DoCmd.Close
EndIf
EndSub
PrivateSubOK_Click()
'登录程序略
'如果用户名和密码输入正确,则:
flag=False
EndSub
答案【14】True【15】i+1
解析:
“PrivateSubForm_Timer()”语句是用来完成20秒内倒计时功能的,因为“Me.TimerInterval=1000”,所以“PrivateSubForm_Timer()”每1000毫秒即每秒自动执行一次,当满足条件“flag=True”并且“i<20”时,会执行“Me!
Time.Caption=20-i”倒计时剩余时间显示语句,为此【14】应该为“True”,以保证能够执行“Me!
Time.Caption=20-i”语句,而变量“i”记录用户打开登录操作窗体后已经进行的秒数,所以【15】应该为“i+1”。
2008年4月全国计算机等级考试二级ACCESS笔试试卷及答案
一选择题(每小题2分,共70分)
下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(19)ACCESS数据库中,为了保持表之间的关系,要求在主表中修改相关记录时,子表相关记录随之更改,为此需要定义参照完整性关系的
A级联更新相关字段B级联删除相关字段
C级联修改相关字段D级联插入相关字段
(21)定义字段默认值的含义是
A不得使该字段为空
B不允许字段的值超出某个范围、
C在未输入数据之前系统自动提供的数值
D系统自动把小写字母转换为大写字母
(27)VBA程序流程控制的方式是
A顺序控制和分支控制B顺序控制和循环控制
C循环控制和分支控制D顺序、分支和循环控制
(28)从字符串s中的第2个开始获得4个字符的子字符传函数是
AMid$(s,2,4)BLeft$(s,2,4)
CRigth$(s,4)DLeft$(s,4)
(29)语句DimNewArray(10)AsInteger的含义是
A定义了一个整型变量且初值为10
B定义了10个整数构成的数组
C定义了11个整数构成的数组
D将数组的第10元素设置为整型
(31)不属于VBA提供的程序运行错误处理的语句结构是、
AOnErrorThen标号BONErrorGoto标号
COnErrorResumeNextDOnErrorGoto0
(32)ADO的含义是
A开放数据库互连应用编程接口B数据库访问对象
C动态连接库DActive数据对象
(33)若要在子过程Procl调用后返回两个变量的结果,下列过程定义语句中有效的是
ASubProcl(n,m)BSubProcl(ByValn,m)
CSubProcl(n,ByValm)DSubProcl(ByValn,ByValm)
(35)在窗体中有一个命令run35,对应的事件代码如下:
privatesubrun35_enter()
Dimnumasinteger
Dimaasinteger
Dimbasinteger
DimIasinteger
ForI=1to10
Num=inputbox(“请输入数据:
”,”输入”,1)
Ifint(num/2)=num/2then
A=a+1
Else
B=b+1
Endif
NextI
Msgbox(”运行结果:
a=”&str(a)&”,b=”&str(b))
Endsub
运行以上事件所完成的功能是
A对输入的10个数据求累加和
B对输入的10个数据求各自的余数,然后再进行累加
C对输入的10个数据分别统计有几个是整数,有几个是非整数
D对输入的10个数据分别统计有几个是奇数,有几个是偶数
填空题(每空两分,共三十分)
请将每一个空的正确答案写在答题卡[1]~[15]序列的横线上,答在试卷上不得分
(9)分支结构在呈现执行时,根据__[条件表达式的值]__选择执行不同的程序语句。
(10)在VBA中变体类型的类型标识是__[Variant]__。
(11)在窗体中有一个名为command的命令按钮,click事件的代码如下:
privatesubcommand1_click()
f=0
forn=1to10step2
f=f+n
nextn
me!
lb1.caption=f
endsub
单击命令按钮后,标签显示的结果是___[25]___。
(13)下列子过程的功能是:
当前数据库文件中的“学生表”的学生“年龄”都加1,请在程序空白处填写适当的语句,使程序实现所需的功能
PrivateSubSetAgePlus1_Click()
DimaAsDAO.Database
DimrsAsDAO.Recordset
DimfdAsDAO.Field
Setdb=CurrentDb()
Setrs=db.OpenRecordset("学生表")
Setfd=rs.Fields("年龄")
DoWhileNotrs.EOF
rs.Edit
fd=____[fd+1]____
rs.Update
___[rs.MoveNext]___
Loop
rs.Close
db.Close
Setrs=Nothing
Setdb=Nothing
EndSub
答案:
一、选择:
1、C2、A3、B4、B5、A6、D7、B8、C9、D10、C11、D12、A13、B14、B15、c16、B17、C18、C19、A20、C21、C22、D23、B24、A25、A26、D27、D28、A29、C30、B31、A32、D33、A34、C35、D二、填空1、输出2、163、244、菱形5、数据定义语言6、#7、参数8、-49、条件表达式的值10、Variant11、2512、num13、i14、fd+115、rs.MoveNext
2008年9月全国计算机等级考试Access二级笔试试卷
一、选择题(每小题2分,共70分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(15)在Access的数据表中删除一条记录,被删除的记录( )。
A)可以恢复到原来设置
B)被恢复为最后一条记录
C)被恢复为第一条记录
D)不能恢复
(16)在Access中,参照完整性规则不包括( )。
A)更新规则 B)查询规则
C)删除规则 D)插入规则
(29)在VBA中,实现窗体打开操作的命令是( )。
A)DoCmd.OpenForm
B)OpenForm
C)Do.OpenForm
D)DoOpcn.Form
(30)在Access中,如果变量定义在模块的过程内部,当过程代码执行时才可见,则这种变量的作用域为( )。
A)程序范围
B)全局范围
C)模块范围
D)局部范围
(31)表达式Fix(-3.25)和Fix(3.75)的结果分别是( )。
A)-3,3
B)-4,3
C)-3,4
D)-4,4
(32)在VBA中,错误的循环结构是( )。
A)DoWhile条件式
循环体
Loop
B)DoUntil条件式
循环体
Loop
C)DoUntil
循环体
Loop条件式
D)Do
循环体
LoopWhile条件式
(33)在过程定义中有语句:
PrivateSubGetData(ByValdataAsInteger)
其中“ByVal”的含义是( )。
A)传值调用
B)传址调用
C)形式参数
D)实际参数
(34)在窗体中有一个命令按钮(名称为run34),对应的事件代码如下:
PrivateSubrun34_Click()
sum=0
Fori=10To1Step-2
sum=sum+i
Nexti
MsgBoxsum
EndSub
运行以上事件,程序的输出结果是( )。
A)10
B)30
C)55
D)其他结果
(35)在窗体中有一个名称为run35的命令按钮,单击该按钮从键盘接收学生成绩,如果输入的成绩不在0到100分之间,则要求重新输入;如果输入的成绩正确,则进入后续程序处理。
run35命令按钮的Click的事件代码如下:
PrivateSubrun35_Click()
DimflagAsBoolcan
result=0
flag=True
DoWhileflag
result=Val(InputBox("请输入学生成绩:
","输入"))
Ifresult>=0Andresult<=100Then
___________
Else
MsgBox "成绩输入错误,请重新输入"
EndIf
Loop
Rem 成绩输入正确后的程序代码略
EndSub
程序中有一空白处,需要填入一条语句使程序完成其功能。
下列选项中错误的语句是( )。
A)flag=False
B)flag=Notflag
C)flag=True
D)ExitDo
二、填空题(每空2分,共30分)
请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。
(8)下图所示的流程控制结构称为___________。
(10)直接在属性窗口设置对象的属性,属于“静态”设置方法,在代码窗口中由VBA代码设置对象的属性叫做“___________”设置方法。
(11)在窗体中添加一个名称为Command1的命令按钮,然后编写如下事件代码:
PrivateSubCommand1_Click()
DimxAsInteger,yAsInteger
x=12:
y=32
Callp(x,y)
MsgBoxx*y
EndSub
PublicSubp(nAsInteger,ByValmAsInteger)
n=nMod10
m=mMod10
EndSub
窗体打开运行后,单击命令按钮,则消息框的输出结果为___64________。
(12)已知数列的递推公式如下:
f(n)=1 当n=0,1时
f(n)=f(n-1)+f(n-2) ?
当n>1时
则按照递推公式可以得到数列:
1,1,2,3,5,8,13,21,34,55,……。
现要求从键盘输入n值,输出对应项的值。
例如当输入n为8时,应该输出34。
程序如下,请补充完整。
PrivateSubrunl1_Click()
f0=1
f1=1
num=Val(InputBox("请输入一个大于2的整数:
"))
Forn=2To___________
f2=___________
f0=f1
f1=f2
Nextn
MsgBoxf2
EndSub
(13)现有用户登录界面如下:
窗体中名为username的文本框用于输入用户名,名为pass的文本框用于输入用户的密码。
用户输入用户名和密码后,单击“登录”名为login的按钮,系统查找名为“密码表”的数据表,如果密码表中有指定的用户名且密码正确,则系统根据用户的“权限”分别进入“管理员窗体”和“用户窗体”:
如果用户名或密码输入错误,则给出相应的提示信息。
密码表中的字段均为文本类型,数据如下图。
单击“登录”按钮后相关的事件代码如下,请补充完整。
PrivateSublogin_Click()
DimstrAsString
DimrsAsNewADODB.Recordset
DimfdAsADODB.Field
Setcn=CurrentProject.Connection
logname=Trim(Me!
uscrname)
pass=Trim(Mc!
pass)
IfLen(Nz(logname))=0Then
MsgBox"请输入用户名"
ElseIfLen(Nz(pass))=0Then
MsgBox"请输入密码"
Else
str="select*from密码表where用户名='"&logname&
"'and密码='"&pass&"'"
rs.Openstr,cn,adOpenDynamic,adLockOptimistic,adCmdText