VBA题

更新时间:2023-11-25 09:41:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一套模拟题

一、选择题

(33)OpenForm的功能是用来打开

A)表 B)窗体 C)报表 D)查询

(34)运行下面的程序段: For k= 5 to 10 Step 2 k=k*2 Next k

则循环次数为:

A)1 B)2 C)3 D)4

(35)在\窗体视图\显示窗体时,要求在单击命令按钮后标签上显示的文字颜色变为红色,以下能实现该操作的语句是

A)Label1.ForeColor=255 B)bChange.ForeColor=255 C)Label1.BackColor=\ D)bChange.BackColor=\ 二、填空题

(10)有一个VBA计算程序,该程序用户界面由4个文本框和3个按钮组成。4个文本框的名称分别为Text1、Text2、Text3和Text4。3个按钮分别为清除(名为Command1)、计算(名为Command2)和退出(名为Command3)。窗体打开运行后,单击清除按钮,则清除所有文本框中显示的内容;单击计算按钮,则计算在Text1、Text2和Text33个文本框中输入的3科成绩的平均成绩,并将结果存放在Text4文本框中,单击退出按钮则退出。请将下列程序填空补充完整。 PrivateSubCommand1_Click() Me!Text1=\Me!Text2=\Me!Text3=\Me!Text4=\ EndSub

PrivateSubCommand2_Click()

If Me!Text1=\ Or Me!Text2=\ Or Me!Text3=\ Then MsgBox\成绩输入不全\Else

Me!Text4=(__【12】__+Val(Me!Text2)+Val(Me!Text3))/3 【13】__ EndSub

Private Sub Command3_Click()

Docmd.__【14】__ EndSub

(11)下面程序的输出结果是__【15】__。 Private Sub Form_Click() i=0

Do Unti l0 i=i+1

if i>10 then Exit Do Loop Printi EndSub

第一套答案解析

一、选择题 (33)B

解析:OpenForm用于在\窗体\视图,窗体设计视图、打印预览或\数据表\视图中打开一个窗体,并通过选择窗体的数据输入与窗体方式,限制窗体所显示的记录。 (34)A

解析:第1次循环后k=k*2=10 (35)A

解析:前景颜色(ForeColor)和背景颜色(BackColor)属性值分别显示控件的底色和文字颜色。

二、填空题

(10)Val(Me!Text1)~End If~Quit

解析:由题目可知,Text4中存放的是3科成绩的平均成绩,所以要把3个科目的成绩加起来除以3,所以第1空应该填Val(Me!Text1),获得输入科目的成绩。

If...Else...EndIf语句中,缺少结束语句,所以第2空应该填空EndIf。

Command3的功能是退出,而退出有两种,一种是退出窗体,一种是退出Access,如果是退出窗体,则使用Close方法,如果是退出Access,则使用Quit方法。 (11)11

解析:本题主要考查Do循环语句。循环条件DoUntil0可得知这是一个无限循环,要跳出此循环,只有在循环体里面使用相关的语句。这里用的是ExitDo,从程序上看出,跳出循环的条件是i>10,而i是从0开始,每次循环加1。所以,跳出循环时i的值应该为11。

第二套模拟题

一、选择题

(34)若将下图中窗体的标题设置为\改变文字显示颜色\,应使用的语句是

A)Me=\改变文字显示颜色\

B)Me.Caption=\改变文字显示颜色\C)Me.text=\改变文字显示颜色\ D)Me.Name=\改变文字显示颜色\ (35)执行下面的程序段后,x的值为

x=5

For I=1 To 20 Step 2 x=x+I\\5 Next I

A)21 B)22 C)23 D)24 二、填空题

(11)窗体的计时器触发事件激发的时间间隔是通过__【13】__属性来设置。 (12)在VBA中,分支结构根据__【14】__选择执行不同的程序语句。

(13)在窗体中使用一个文本框(名为num)接受输入值,有一个命令按钮run,单击事件代码如下:

Private Sub run_Click() If Me!num >=60 Then result=\及格\

Else If Me!num >=70 Then result=\中等\

Else If Me!num >=85 Then result=\优秀\End If

MsgBox result End Sub

打开窗体后,若在文本框中输入的值为85,单击命令按钮,输出结果是__【15】__。

第二套答案解析

一、选择题 (34)B

解析:窗体中,使用Caption属生来表示窗体的标题。 (35)A

解析:循环第1次,I=1,所以I\\5=0; 循环第2次,I=3,所以I\\5=0; 循环第3次,I=5,所以I\\5=1; 循环第4次,I=7,所以I\\5=1; 循环第5次,I=9,所以I\\5=1; 循环第6次,I=11,所以I\\5=2; 循环第7次,I=13,所以I\\5=2; 循环第8次,I=15,所以I\\5=3; 循环第9次,I=17,所以I\\5=3; 循环第10次,I=19,所以I\\5=3;

循环结束后,x=5+1+1+1+2+2+3+3+3,所以x=21。 二、填空题

(11)计时器间隔(interval) 解析:VB中提供Timer时间控件可以实现\定时\功能。其处理过程是:Timer时间每隔TimerInterval时间间隔就会被激发一次,并运行Timer时间过程来响应,这样重复不断,即实现\定时\处理功能。

(12)条件表达式

解析:VBA程序语句按照其功能不同分为两大类型:一是声明语句;二是执行语句,执行语句可分为3种结构:一是顺序结构:按照语句顺序顺次执行。二是分支结构:又称选择结构,根据

条件选择执行路径。三是循环结构:重复执行某一段程序语句。 (13)优秀

解析:本题是对条件语句的考察,若条件值为真时,执行语句。当输入值符合该条条件,则输出相应条件下的结果。

第三套模拟题

一、选择题

(32)InputBox函数返回值的类型是

A)数值 B)字符串 C)变体

D)数值或字符串(视输入的数据而定) (33)有如下VBA程序段: sum=0 n=0

For i=1 To 5 x=n/i n=n+1

Sum=Sum+x Next i

以上For循环计算sum,最终结果是

A)1+1/1+2/3+3/4+4/5 B)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

(34)执行语句MsgBox\,vbOKCancel+vbQuestion,\之后,弹出的信息框外观样式是

A)

B)

C)

D) (35)下面程序:

Private Sub Form_Click() Dimx,y,z As Integer x=5 y=7 z=0

Call P1(x,y,z) Print Str(z) End Sub

Sub P1(ByVal a As Integer,ByVal b As Integer,c As integer) c=a+b End Sub

运行后的输出结果为

A)0 B)12 C)Str(z)

D)显示错误信息 二、填空题

(11)在窗体上添加一个名为Command1的命令按钮,然后编写如下程序: Function m(x As Integer,y As Integer) As Integer m=IIf(x>y,x,y) End Function

Private Sub Command1_Click()

Dim a As Integer,b As Integer a=1 b=2

MsgBox m(a,b) End Sub

打开窗体运行后,单击命令按钮,消息框中输出结果为【13】。

(12)假定当前日期为2002年8月25日,星期日,则执行以下语句后,a、b、c和d的值分别是25、8、2002和__【14】__。 a=day(now)

b=month(now) c=year(now) d=weekday(now)

(13)在窗体中有一外名为Command2的命令按钮,该命令的功能是:接受从键盘输入的10个大于0的整数,找出其中的最大值和对应的输入位置。请依据上述功能要求将事件代码补充完整。 Private Sub Command2_Click() max=0 max_n=0

For i= 1 To 10

num=Val(InputBox(\请输入第\个大于0的整数:\If num>max Then max=__【15】__ max_n=i End If Next i

MsgBox(\最大值为第\个输入的\EndSub

第三套答案解析

一、选择题 (32)B

解析:输入框用于在一个对话框中显示提示,等待用户输入正文并按下按钮、返回包含文本框内容的字符串数据信息。 (33)C

解析:本题考察for循环语句:n=0,i=1时,sum=0;执行循环n=n+1,i=2,sum=1/2,依次i加1直到i=5。

当i=1时,x=0,n=1,Sum=0; 当i=2时,x=1/2,n=2,Sum=1/2;

当i=3时,x=2/3,n=3,Sum=1/2+2/3; 依次类推

当i=5时,x=4/5,n=5,Sum=1/2+2/3+3/4+4/5。 (34)C 解析:消息框用于在对话框中显示信息,其使用格式为MsgBox(prompt[,buttons][,title][,helpfile,context])。其中,第一个参数是显示在对话框中的内容;第二个参数用于指定显示按钮的数目及具形式和使用的图标样式等;第三个参数是对话框标题栏显示的内容。本题中,显示的内容为\,标题为\,而vbOKCancel表示对话框中显示\确定\和\取消\两个按钮,vbQuestion表示显示问号图标。 (35)B

解析:在本题中,用Call过程名的方法调用过程P1。在P1中,将参数C的值改为12。因为参数C是按地址传送(默认为按地址传送,即ByRef),故z的值变为12了,所以输出值为12。 二、填空题 (11)4

解析:M(6)的值为12-6=6;则有M(2+6)=M(8)的值为12-8=4。 (12)1

解析:在Day(date)中date是必要的参数,可以是任何能够表示日期的Variant、数值表达式、字符串表达式或它们的组合,如果date包含Null,则返回Null。

weekday(date)返回一个Variant(Integer),包含一个整数,代表某个日期是星期几。其格式为Weekday(date,[firstdayofweek])。

firstdayofweek指定一星期中第一天的常数。如果未予指定,则以vbSunday为默认值,即星期日为1,则星期六为7。 (13)num

解析:题目要求依次输入第i个大于0的整数num,当num大于定义的max值时,则执行赋值语句max=num,继续依次输入第i个数据,每次都和max值作比较,如果num>max则执行赋值操作max=num。

第四套模拟题

一、选择题

(33)在下面的\窗体视图\中显示窗体时,窗体中没有记录选定器,应将窗体的\记录选定器\属性值设置为

A)是 B)否 C)有 D)无

(34)在窗体中有一个命令按钮run1,对应的事件代码如下: Private Sub run1_Enter() Dim num As Integer Dim m As Interger Dim n As Integer Dim I As Integer For i=1 To 10

num=InputBox(\请输入数据:\,\输入\,1) If Int(num/2)=num/2 Then m=m+1 Else

n=n+1 End If Next i

MsgBox(\运行结果:m=\,n=\End Sub

运行以上事件所完成的功能是

A)对输入的10个数据统计有几个是整数,有几个是非整数 B)对输入的10个数据求各自的余数,然后再进行累加 C)对输入的10个数据求累加和

D)对输入的10个数据统计有几个是奇数,有几个是偶数

(35)在设计视图中设置如下图所示窗体的\格式\属性,正确的设置是

A)

B)

C)

D) 二、填空题

(11)用于设定控件的输入格式,仅对文本型或日期型数据有效的控件的数据属性为__【12】__。

(12)运行下面的程序,其输出结果(str2的值)为__【13】__。 Dim str1,str2 As String

Dim I As Integer str1=\

For i=1 To Len(str1) Step2 str2=UCase(Mid(str1,i,1))+str2 Nex t

MsgBox str2 (13)某个窗体已编写以下事件过程,打开窗体运行后,单击窗体,消息框的输出结果为__【14】__。

Private Sub Form_Click()

Dim k As Integer,n As Integer , m As Integer n=10:m=1:k=1 Do While k<=n m=m*2 k=k+1 Loop

MsgBox m End Sub

(14)执行下面的程序段后,S的值为__【15】__。 s=5

For i=2.6 To 4.9 Step 0.6 s=s+1 Next i

第四套答案解析

一、选择题 (33)B

解析:在窗体属性中,要使窗体中没有记录选定器,必须把\记录选定器\的属性值设置为否。 (34)D

解析:从题目要求来看for为循环语句,InputBox设置输入数据框,If语句是计算输入值为奇数还是偶数,依次输入10次数值,当输入值为偶数时m自动增1,当输入值为奇数时n自动增1。 (35)C

解析:由题目图片可知,窗体的记录选定器应该为\否\,浏览按钮为\否\,分隔线为\否\,控制框为\否\,最大最小化按钮为\无\,关闭按钮为\否\。 二、填空题 (11)“输入掩码” (12)ECA

解析:本程序代码的功能是从源字符串的第一个字符开始,把所有第奇数个的字符转换为大写并按倒序排列,得到新的字符串。

最开始str2字符串为空,当第一次执行循环时,先取出\,再转换为大写\,再和str2相连接,得到\,最后再赋给str2。所以,第一次循环后,str2的值为\当第二次执行循环时,取出\,再转换为大写\,再和str2相加接,得到\,最后再赋给str2。所当第二次循环后,str2的值为\

当第三次执行循环时,取出\,再转换为大写\,再和str2相连接,得到\,最后再赋给str2。所以,第三次循环后,str2的值为\(13)1024

解析:DoWhile语句先判断条件,如果条件为True,则执行循环体。本题中的条件表达式是k<=n,而刚开始k=1,n=10,而循环一次k就加1,故一共要执行10次循环。而m每执行一次就乘2,故一共乘了10次2,最后m的值为1024。

(14)9

解析:以指定次数来重复执行一组语句。 相关语法为

Forcounter=startToend[Stepstep] [statements] [ExitFor] [statements] Next[counter]

counter为必要参数,用做循环计数器的数值变量。这个变量不能是Boolean或数组元素。 start为必要参数,是counter的初值。 end为必要参数,是counter的终值。

Step为可选参数,是counter的步长,如果没有指定,则step的默认值为1。

Statements为可选参数。放在For和Next之间的一条或多条语句,将被执行指定的次数。

从起始值开始计算,循环体要执行4次,而每执行一次循环体,s就加1,所以最终的S值为5+4=9。

第五套模拟题

一、选择题

(33)在MsgBox(prompt,buttons,title,helpfile,contex)函数调用形式中必须提供参数为

A)prompt B)buttons C)title D)context

(34)假定有以下程序段 n=0

for i=1 to 3

for j=-4 to -1 n=n+1 next j next i

运行完毕后,n的值是

A)0 B)3 C)4 D)12

(35)假设已在Access中建立了包含\书名\、\单价\和\数量\三个字段的\表。以该表为数据源创建的窗体中,有一个计算订购总金额的文本框,其控件来源为

A)[单位]*[数量] B)=[单位]*[数量]

C)[图书订单表]![单价]*[图书订单表]![数量] D)=[图书订单表]![单价]*[图书订单表]![数量] 二、填空题

(12)以下程序的功能是从键盘上输入若干个数字,当输入负数时结束输入,统计出若干数字的平均值,显示结果。请填空。 Private Sub Form_Click() Dim x,y As Single Dim z As Integer

x=InputBox(\Do while__【14】__

本文来源:https://www.bwwdw.com/article/qist.html

Top