vba编程练习题最近几年真题.docx

上传人:b****7 文档编号:10461515 上传时间:2023-02-13 格式:DOCX 页数:21 大小:724.49KB
下载 相关 举报
vba编程练习题最近几年真题.docx_第1页
第1页 / 共21页
vba编程练习题最近几年真题.docx_第2页
第2页 / 共21页
vba编程练习题最近几年真题.docx_第3页
第3页 / 共21页
vba编程练习题最近几年真题.docx_第4页
第4页 / 共21页
vba编程练习题最近几年真题.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

vba编程练习题最近几年真题.docx

《vba编程练习题最近几年真题.docx》由会员分享,可在线阅读,更多相关《vba编程练习题最近几年真题.docx(21页珍藏版)》请在冰豆网上搜索。

vba编程练习题最近几年真题.docx

vba编程练习题最近几年真题

VBA编程练习题

一、假定有以下循环结构

DoUntil条件

循环体

Loop

那么正确的表达是

A)若是“条件”值为0,那么一次循环体也不执行

B)若是“条件”值为0,那么至少执行一次循环体

C)若是“条件”值不为0,那么至少执行一次循环体

D)不论“条件”是不是为“真”,至少要执行一次循环体

2.设有以下窗体单击事件进程:

PrivateSubForm_Click()

a=1

Fori=1To3

SelectCasei

Case1,3

a=a+1

Case2,4

a=a+2

EndSelect

Nexti

MsgBoxa

EndSub

打开窗体运行后,单击窗体,那么消息框的输出内容是5。

3.在窗体中添加一个命令按钮(名为Command1)和一个文本框(名为text1),然后编写如下事件进程:

PrivateSubCommand1_Click()

DimxAsInteger,yAsInteger,zAsInteger

x=5:

y=7:

z=0

Me!

Text1=""

Callp1(x,y,z)

Me!

Text1=z

EndSub

Subp1(aAsInteger,bAsInteger,ByValcAsInteger)

c=a+b

EndSub

打开窗体运行后,单击命令按钮,文本框中显示的内容是。

4.以下程序段运行终止后,变量x的值为

x=2

y=4

Do

x=x*y

y=y+1

LoopWhiley<6

A)4B)40C)8D)20

5.在窗体上添加一个命令按钮(名为Command1),然后编写如下事件进程:

PrivateSubCommand1_Click()

Fori=1To4

x=4

Forj=1To3

x=3

Fork=1To2

x=2

x=x+6

Nextk

Nextj

Nexti

MsgBoxx

EndSub

打开窗体后,单击命令按钮,消息框的输出结果是

A)7B)15C)157D)8

6.设有如下代码:

x=1

do

x=x+3

loopuntil>=10或>7

运行程序,要求循环体执行3次后终止循环,在空白处填入适当语句。

7.在Access中,DAO的含义是:

A.开放数据库互连应用编程接口B.数据库访问对象

C.Active数据对象D.数据库动态链接库

8.在Access中,ADO的含义是:

A.开放数据库互连应用编程接口B.数据库访问对象

C.Active数据对象D.数据库动态链接库

9.在窗体中有一个标签Lb1和一个命令按钮Command1,事件代码如下:

OptionCompareDatabase

DimaAsString*10

PrivateSubCommand1_Click()

a="1234"

b=Len(a)

EndSub

打开窗体后单击命令按钮,窗体中显示的内容是

A.4B.5C.10D.40

10.在窗体中使有一个文本框(名为n)同意输入的值,有一个命令按钮run,事件代码如下:

PrivateSubrun_Click()

result=""

Fori=1ToMe!

n

Forj=1To(Me!

n)+1-i

result=result+"*"

Nextj

result=result+Chr(13)+Chr(10)

Nexti

MsgBoxresult

EndSub

打开窗体后,如果通过文本框输入的值为4,单击命令按钮后输出的图型是D

11.在VBA中双精度的类型标识是

A.IntegerB.SingleC.DoubleD.Variant

12.运行以下进程,当输入一组数据:

10,20,50,80,40,30,90,100,60,70,输出的结果应该是

Subp1()

Dimi,j,arr(11)AsInteger

k=1

whilek<=10

arr(k)=Val(InputBox(“请输入第”&k&“个数:

”,“输入窗口”))

k=k+1

Wend

Fori=1To9

j=i+1

Ifarr(i)>arr(j)Then

temp=arr(i)

arr(i)=arr(j)

arr(j)=temp

EndIf

arr(i)

Nexti

EndSub

A)无序数列B)升序数列C)降序数列D)原输入数列

13.以下程序的功能是计算N=2+(2+4)+(2+4+6)+……+(2+4+6+……+40)的值。

PrivateSubCommand34_Click()

t=0

m=0

sum=0

Do

t=t+m

sum=sum+t

m=

Loopwhilem<41

MsgBox“Sum=“&sum

EndSub

空白处应该填写的语句是

A)t+2B)t+1C)m+2D)m+1

14.已知:

DimrsAsnew,在程序中为了取得记录集的下一条记录,应该利用的方式是。

15.在VBA中,没有显式声明或利用符号来概念的变量,其数据类型默许是Variant。

16.以下程序的功能是:

输入10个整数,逆序后输出,请在程序空白处填入适当语句使程序完成指定的功能。

PrivateSubCommand2_Click()

Dimi,j,k,temp,arr(11)AsInteger

DimresultAsString

Fork=1To10

arr(k)=Val(InputBox(“请输入第”&k&“个数:

”,“数据输入窗口”))

Nextk

i=1

j=10

Do

temp=arr(i)

arr(i)=arr(j)

arr(j)=temp

i=i+1

j=j-1

LoopWhilei

result=“”

Fork=1To10

result=result&arr(k)&Chr(13)

Nextk

MsgBoxresult

EndSub

17.已经设计出一个表格式窗体,能够输出教师表的相关字段信息,请依照以下功能要求补充设计:

改变当前记录,消息框弹出提示“是不是删除该记录?

”,单击“是”,那么直接删除该当前记录;单击“否”,那么什么都不做,其成效图如下:

'单击“退出”按钮,关闭窗体

PrivateSubbtnCancel_Click()

EndSub

'表格式窗体当前记录转变时触发

PrivateSubForm_Current()

IfMsgBox("是不是删除该记录?

",vbQuestion+vbYesNo,"确认")=vbYesThen

EndIf

EndSub

18.若是X是一个正的实数,保留两位小数、将千分位四舍五入的表达式是

  A)*Int(x+

  B)*Int(100*(X+)

  C)*Int(x+

D)*Int(100*(X+)

 

(27)以下给出的选项中,非法的变量名是

A)Sum1B)Integer_2C)RemD)Form1

(28)若是在被挪用的进程中改变了形参变量的值;但又不阻碍实参变量本身,这种参数传递方式称为

A)按值传递B)按地址传递

C)ByRef传递D)按形参传递

(29)表达式“B=INT(A+”的功能是

A)将变量A保留小数点后1位B)将变量A四舍五入取整

C)将变量A保留小数点后5位D)舍去变量A的小数部份

(30)VBA语句“DimNewArray(10)asInteger”的含义是

A)概念10个整型数组成的数组NewArray

B)概念11个整型数组成的数组NewArray

C)概念1个值为整型数的变量NewArray(10)

D)概念1个值为10的变量NewArray

(31)运行以下程序段,结果是

Form=10to1step0

k=k+3

Nextm

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=5B)f=7

C)f=8D)f=13

(33)有如下事件程序,运行该程序后输出结果是

PrivateSubCommand33_Click()

DimxAsInteger,yAsInteger

x=1:

y=0

DoUntily<=25

y=y+x*x‘1,5,14,30

x=x+1

Loop

MsgBox"x="&x&",y="&y

EndSub

A)x=1,y=0B)x=4,y=25

C)x=5,y=30D)输出其他结果

(35)以下程序的功能是返回当前窗体的记录集

SubGetRecNum()

DimrsAsObject

Setrs=______

MsgBox

EndSub

为保证程序输出记录集(窗体记录源)的记录数,空白处应填入的

A)RecordsetB)

C)RecordSourceD)

(8)运行以下程序,窗体中的显示结果是:

x=______。

OptionCompareDatabase

DimxAsInteger

PrivateSubForm_Load()

x=3

EndSub

PrivateSubCommand11_Click()

StaticaAsInteger

DimbAsInteger

b=x^2

fun1x,b‘3+9,9

fun1x,b‘12+9,9

MsgBox"x="&x

EndSub

Subfun1(ByRefyAsInteger,ByValzAsInteger)

y=y+z

z=y-z

EndSub

(13)"秒表"窗体中有两个按钮("开始/停止"按钮bOK,"暂停/继续"按钮bPus);一个显示计时的标签lNum;窗体的"计时器距离"设为100,计时精度为秒。

要求:

打开窗体如图1所示:

第一次单击"开始/停止"按钮,从0开始转动显示计时(见图2);10秒时单击"暂停/继续"按钮,显示暂停(见图3),但计时还在继续;假设20秒后再次单击"暂停/继续"按钮,计时会从30秒开始继续转动显示;第二次单击"开始/停止"按钮,计时停止,显示最终时刻(见图4)。

假设再次单击"开始/停止"按钮可从头从0开始计时。

相关的事件程序如下。

请在空白处填入适当的语句,使程序能够完成指定的功能。

OptionCompareDatabase

Dimflag,pauseAsBoolean

PrivateSubbOK_Click()

flag=__notflag____

Me!

=True

Me!

=flag

EndSub

PrivateSubbpus_Click()

pause=Notpause

Me!

=NotMe!

EndSub

PrivateSubForm_Open(CancelAsInteger)

flag=False

pause=False

Me!

=True

Me!

=False

EndSub

PrivateSubForm_Timer()

StaticcountAsSingle

Ifflag=TrueThen

Ifpause=FalseThen

Me!

=Round(count,1)

EndIf

count=__count+____

Else

count=0

EndIf

EndSub

 

29)以下关于VBA事件的表达中,正确的选项是

A)触发相同的事件能够执行不同的事件进程

B)每一个对象的事件都是不相同的

C)事件都是由用户操作触发的

D)事件能够由程序员概念

(30)以下不属于类模块对象大体特点的是

A)事件B)属性C)方式D)函数

(31)用来测试当前读写位置是不是达到文件末尾的函数是

A)EOFB)FileLenC)LenD)LOF

(32)以下表达式中,能够保留变量x整数部份并进行四舍五入的是

A)Fix(x)B)Rnd(x)C)Round(x)D)Int(x)

(33)运行以下进程,当输入一组数据:

10,20,50,80,40,30,90,100,60,70,输出的结果应该是

Subp1()

Dimi,j,arr(11)AsInteger

k=1

whilek<=10

arr(k)=Val(InputBox(“请输入第”&k&“个数:

”,“输入窗口”))

k=k+1

Wend

Fori=1To9

j=i+1

Ifarr(i)>arr(j)Then

temp=arr(i)

arr(i)=arr(j)

arr(j)=temp

EndIf

arr(i)

Nexti

EndSub

A)无序数列B)升序数列C)降序数列D)原输入数列

(34)以下程序的功能是计算N=2+(2+4)+(2+4+6)+……+(2+4+6+……+40)的值。

PrivateSubCommand34_Click()

t=0

m=0

sum=0

Do

t=t+m

sum=sum+t

m=

Loopwhilem<41

MsgBox“Sum=“&sum

EndSub

空白处应该填写的语句是

A)t+2B)t+1C)m+2D)m+1

(35)利用ADO访问数据库的步骤是:

①概念和创建ADO实例变量

②设置连接参数并打开连接

③设置命令参数并执行命令

④设置查询参数并打开记录集

⑤操作记录集

⑥关闭、回收有关对象

这些步骤的执行顺序应该是

A)①④③②⑤⑥B)①③④②⑤⑥

C)①③④⑤②⑥D)①②③④⑤⑥

(12)以下程序的功能是:

输出10到100之间的所有回文素数。

所谓回文素数是指,若是一个数是素数,那么该数反序后形成的数也是素数。

例如,13是素数,13反序形成取得数为31,31也是素数,那么称13为回文素数。

PrivateSubCommand12_Click(  )

DimkAsInteger,mAsInteger,nAsInteger

Fork=10T0100

Ifprim(k)Then

m=__________

n=0

DoWhilem>0

n=n*10+mMod10‘取个位个位*10+十位,(个位*10+十位)*10+百位,…

m=m\10‘去掉个位留下前面的,…

Loop

Ifprim(n)Then

MsgBoxk&“,”&n

EndIf

EndIf

Nextk

EndSub

PublicFunctionprim(nAsInteger)AsBoolean

DimjAsInteger

Forj=2Ton/2

IfnModJ=0Then

prim=__________

ExitFunction

EndIf

Nextj

prim=True

ExitFunction

EndFunction

横线处应填写的内容是(  )。

A.kFalse

B.kTrue

C.mFalse

D.nTrue

VBA访问数据库编程

1、DAO模型中,要紧的操纵对象有:

DBEngine、Wordspace、Database、RecordSet、_ Field_、QueryDef和Error。

2、Access的VBA编程操作本地数据库时,提供一种DAO数据库打开的快捷方式是_CurrentDB()___、而相应也提供一种ADO的默许连接对象是  __Connection

3、ADO对象模型要紧有Connection(连接对象)、Command(命令对象)、Parameter(参数对象)、Recordset(记录集对象)和Error对象。

4、VBA中提供了3种数据库访问接口。

ODBCAPI:

开放数据库互连应用编程接口。

DAO:

数据访问对象。

ADO:

Active数据对象

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1