VBA理论练习题Word文档格式.docx

上传人:b****5 文档编号:8527322 上传时间:2023-05-11 格式:DOCX 页数:45 大小:557.13KB
下载 相关 举报
VBA理论练习题Word文档格式.docx_第1页
第1页 / 共45页
VBA理论练习题Word文档格式.docx_第2页
第2页 / 共45页
VBA理论练习题Word文档格式.docx_第3页
第3页 / 共45页
VBA理论练习题Word文档格式.docx_第4页
第4页 / 共45页
VBA理论练习题Word文档格式.docx_第5页
第5页 / 共45页
VBA理论练习题Word文档格式.docx_第6页
第6页 / 共45页
VBA理论练习题Word文档格式.docx_第7页
第7页 / 共45页
VBA理论练习题Word文档格式.docx_第8页
第8页 / 共45页
VBA理论练习题Word文档格式.docx_第9页
第9页 / 共45页
VBA理论练习题Word文档格式.docx_第10页
第10页 / 共45页
VBA理论练习题Word文档格式.docx_第11页
第11页 / 共45页
VBA理论练习题Word文档格式.docx_第12页
第12页 / 共45页
VBA理论练习题Word文档格式.docx_第13页
第13页 / 共45页
VBA理论练习题Word文档格式.docx_第14页
第14页 / 共45页
VBA理论练习题Word文档格式.docx_第15页
第15页 / 共45页
VBA理论练习题Word文档格式.docx_第16页
第16页 / 共45页
VBA理论练习题Word文档格式.docx_第17页
第17页 / 共45页
VBA理论练习题Word文档格式.docx_第18页
第18页 / 共45页
VBA理论练习题Word文档格式.docx_第19页
第19页 / 共45页
VBA理论练习题Word文档格式.docx_第20页
第20页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VBA理论练习题Word文档格式.docx

《VBA理论练习题Word文档格式.docx》由会员分享,可在线阅读,更多相关《VBA理论练习题Word文档格式.docx(45页珍藏版)》请在冰点文库上搜索。

VBA理论练习题Word文档格式.docx

13.下列关于宏和模块的叙述中,正确的是

A)模块是能够被程序调用的函数

B)通过定义宏可以选择或更新数据

C)宏或模块都不能是窗体或报表上的事件代码

D)宏可以是独立的数据库对象,可以提供独立的操作动作

14.有如下VBA代码,运行结束后,变量n的值是

n=0

Fori=1TO3

Forj=-4To-1

n=n+1

Nextj

Nexti

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

15.假设有如下Sub过程:

Subsfun(xAsSingle,YAsSingle)

t=x

x=t/y

y=tmody‘mod求余计算例7mod4=3

EndSub

在窗体中添加一个命令按钮(名为Comnndl),编写如下事件过程

PrivateSubCommandl_Click()

DimaAsSinSle

DimbAsSinSle

a=5:

b=4

sfun(a,b)‘原书有错,改为:

sfuna,b或callsfun(a,b)

MsgBoxa&

chr(10)+chr(13)&

b‘chr(数值)的功能返回数值对应的字母

EndSub‘chr(10)=’返回1个换行符

‘chr(13)=’返回一个空格符号

注意:

a→x;

b→y是按地址传递的,因此不能写成sfun5,4

chr与Asc互逆例asc(a)=97;

chr(97)=aasc(chr(97))=97

打开窗体运行后,单击命令按钮,消息框中有两行输出,内容分别为

A)1和1B)1.25和lC)1.25和4D)5和4

16.有如下VBA程序段:

sum=0

Fori=1TO5

x=n/i

n=n+1

slim=sum

以上For循环计算sum,完成的表达式是

A)1+1/1+2/3+3/4+4/5B)1+1/2+1/3+1/4+1/5

C)1/2+2/3+3/4+4/5D)1/2+1/3+1/4+1/5

17.在窗体中有一个命令按钮runl6,对应的事件代码如下:

PrivateSubrunl6_Enter()

DimnumAsInteger

DimaAsInteger

DimbAsInteger.

DimiAsInteger

Fori=1To10

num=InputBox("

请输入数据:

"

,"

输入"

1)

ifInt(num/2)=num/2Then‘Int取整函数例int(3.5)=3

a=a+1

Else

b=b+1

Endlf

NextI

MsgBox("

运行结果:

a="

&

Str(a)&

"

,b="

&

Str(b))

EndSub‘str(123)=”123”将123转换成字符串

与val互逆。

例:

Val(str(123))=123

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

A)对输入的10个数据求累加和

B)对输入的10个数据求各自的余数,然后再进行累加

c)对输入的10个数据求分别统计有几个是整数,有几个是非整数

D)对输人的10个数据求分别统计有几个是奇数,有几个是偶数

二、填空题(1~25)(p4—p6)

1.VBA的全称是VisualBasicforApplication。

2.模块包含了一个声明区域和一个或多个子过程(以Sub开头)或函数过程(以Function开头)。

3.说明变量最常用的方法,是使用Dim…As…结构.

4.VBA中变量作用域分为3个层次,这3个层次是局部变量、模块变量和全局变量。

5.在模块的说明区域中,用private关键字说明的变量是模块范围的变量;

而用public或Global键字说明的变量是属于全局范围的变量。

6.要在程序或函数的实例间保留局部变量的值,可以用Static关键字代替Dim。

7.用户定义的数据类型可以用Type…TypeEnd关键字间说明。

8.VBA的3种流程控制结构是顺序结构、选择结构和循环结构。

9.VBA中使用的3种选择函数是IIf、Switch和Choose。

10.VBA提供了多个用于数据验证的函数。

其中IsDate函数用于合法日期验证;

IsNumeric函数用于判定输入数据是否为数值。

11.VBA的有参过程定义,形参用ByVal说明,表明该形参为传值调用;

形参用ByRef说明,表明该形参为传址调用.

12.VBA的错误处理主要使用OnError语句结构。

13.OnErrorGoto0语句的含义是取消错误处理。

14.OnErrorResumeNext语句的含义是忽略错误并执行下一条语句。

15.VBA语言中,函数lnputBox的功能是输入数据对话框;

Msgbos函数的功能是显示消息信息。

16.在VBA中双精度的类型标识是Double。

17.在VBA中,分支结构根据条件(或条件表达式)选择执行不同的程序语句。

18.VBA的逻辑值在表达式当中进行算术运算时,True值被当作-1、False值被当作0来处理。

19.VBA编程中,要得到[15,75]上的随机整数可以用表达式Int(15+61*Rnd).

20.设有如下代码:

X=1

Do

x=x+2

LoopUntilx=7(或x>

=7或x>

6)

运行程序,要求循环体执行3次后结束循环,请在空白处填入适当的语句

21.设有以下窗体单击事件过程:

PrivateSubForm_Click()

a=1

fori=1to3

SelectCasei

Case1,3

a=a+1

Case2,4

a=a+2

endSelect

MsgBoxa

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

22.在窗体中添加一个命令按钮(名为Commandl)和一个文本框(名为Textl),编写事件代码如下

PrivateSubCommandlClick()

DimaAsInteger,yAsInteger

x=5:

y=7:

z=0

Me!

Textl="

CallPl(x,x,z)

Textl=z

EndSub

Privatep1(aAsInteger,bAsInteger,cAsInteger)

c=a+b

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

23.在下面的VBA程序段运行时,内层循环的循环次数是9

Form=0To7Step3

Forn=m-1Tom+1

Nextn

Nextm

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

PrivateSubrun_Click()

IfMe!

num1>

=60Then

  Result="及格"

ElseIfMe!

numl>

70Then

   Result="通过"

85Then

Result="合格"

打开窗体后,若通过文本框输入的值为85,单击命令按钮,输出结果是及格。

25.在窗体中有一个名为Command25的命令按钮,Click事件代码如下。

该事件的完整功能是:

接受从键盘输入的10个大于0的整数,找出其中的最大值和对应的输入位置。

请依据上述功能要求将程序补充完整。

PrivateSubCommand25_Click()

Max=0

max_n=0

Fori=lTo10

num=Val(InputBox("请输入第"&

 i &

"个大于0的整数:

"))

Ifnum>

maxThen

max=num

max_n=i

EndIf

Nexti

最大值为第"

max_n&

个输入的"

max)

第二部分(数据库编程<习题9>)(p7~p13)

一、选择题(1~9)(p7---p8)

1.以下内容中不属VBA提供的数据验证函数是

A)IsNullB)IsDateC)lsNumericD)IsText

2.VBA"

定时”操作中,需要设置窗体的“计时器间隔(TimerInterval)”属性值。

其计量单位是

A)微秒B)毫秒C)秒D)分钟

3.能够实现从指定记录集里检索特定字段值的函数是

A)NzB)DSumC)RndD)DLookup

4.DAO模型层次中处在最顶层的对象是

A)DBEngineB)Workspace C)Database D)RecordSet

5.ADO对象模型中可以打开RecordSet对象的是

A)只能是Connection对象       B)只能是Command对象

C)可以是Connection对象和Command对象D)不存在

6.InputBox函数返回值的类型为

A)数值B)字符串(错误)注意:

正确答案为D)

C)变体D)数值或字符串(视输入的数据而定)InputBox$返回字符串

InputBox返回数值或字符串

7.ADO的含义是

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

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

8.执行下面的语句后,所弹出的信息框外观样式为

MsgBox"AAAA",vbOKCancel+vbQuestion,"BBBB"

注:

vbQuestion等价于32

 

9.在MsgBox(prompt,buttons,title,hetpfite,context)函数调用形式中必须提供的参数是

  A)promptB)buttonsC)titleD)context

二、填空题(1~18)(p8---p13):

1.VBA提供了多个用于数据验证的函数。

2.VBA语言中,函数InputBox的功能是输入数据对话框;

Msgbox函数的功能是显示消息信息。

3.VBA的“定时”操作功能是通过窗体的定时(Timer)事件过程完成。

4.VBA中打开窗体的命令语句是DoCmd.OpenForm。

5.Access的窗体或报表事件可以有两种方法来响应:

宏对象和事件过程。

6.窗体的计时器触发事件激发的时间间隔是通过计时器间隔(或interval)属性来设置。

7.窗体中有两个命令按钮:

“显示”(控件名为cmdDisplay)和“测试”(控件名为cmdTest)。

当单击“测试”按钮时,执行的事件功能是:

首先弹出消息框,若点击其中的“确定”按钮,则隐藏窗体上的“显示”按钮;

否则直接返回到窗体中。

请填空补充完整(见227)。

PrivateSubcmdtest_Click()

Answer=MsgBox("隐藏按钮?

",vbOKCancel十vbQuestion,"Msg")

IfAnswer=vbOKThen

Me!

cmddisplay.Visible=False

EndIf

EndSub

   注意:

vbOKCancel等价于1  vbQuestion等价于32

8.设计一个计时的Access应用程序。

该程序界面如图所示,由一个文本框(名为Textl)、一个标签及两个命令按钮(一个标题为Start,命名为Commandl;

另一个标题为Stop,命名为Command2)组成。

程序功能为:

打开窗体运行后,单击“Start'

’按钮,则开始计时,文本框中显示秒数;

单击“Stop”按钮,则计时停止;

双击“Stop”按钮,则退出。

请填空补充完整。

Dimiasinteger

PrivateSubCommandlClick()

i=0

Me.TimerInterval=1000

EndSub

PrivateSubCommand2_Click()

Me.TimerInterval=0

PrivateSubCommand2_DblClick(CancelAsInteger)

DoCmd.Close

EndSub

PrivateSubForm_Load()

Me.TimerInterval=0

Text1=0

PrivateSubForm_Timer()

i=i+1

Textl=i

9.要实现以下图示效果的消息框显示,VBA代码语句为MsgBox"数据处理结束!

",vbinformation,"消息"

10.VBA中主要提供了三种数据库访问接口:

ODBCAPI、DAO、ADO。

11.DAO对象模型采用分层结构,其中位于最顶层的对象是DBEngine。

12.Access的VBA编程操作本地数据库时,提供一种DAO数据库打开的快捷方式是CurrentDB().也提供一种ADO的默认连接对象是CurrentProject.Connection

13.DAO模型中,主要的控制对象有DBEngine、Workspace、Database、RecordSetField和Error。

14.ADO对象模型主要有Connection、Command、RecordSet、Field,而相应QueryDef和Error 5个对象。

15.已知一个为“学生”的Access数据库,库中的表“stud"

存储学生的基本情况信息,包括学号、姓名、性别和籍贯。

下面程序的功能是:

通过窗体向stud表中添加学生记录。

对应“学号”、“姓名”、“性别”和“籍贯”的4个文本框的名称分别为:

tNo、tName、tSex和tRes。

当点击窗体上的“增加”命令按钮(名称为Commandl)时,首先判断学号是否重复,如果不重复则向“stud"

表中添加学生记录;

如果学号重复,则给出提示信息。

当点击窗体上的“退出”命令按钮(名称为Command2)时,关闭当前窗体。

依据要求功能,请将以下程序补充完整。

PrivateSubForm_Load()

‘打开窗口时,连接Access数据库

SetADOcn=CurrentProject.Connention

DimADOcnAsNewADODB.Connection

‘增加学生记录

DimstrSQLAsString

DimADOrsAsNewADO.Recordset

SetADOrs.ActiveConnection=ADOcn

ADOrs.Open"Select学号FromStudWhere学号='"+tNo+"'"

IfNotADOrs.EOFThen

MsgBox"你输入的学号已存在,不能新增加!

Else

 StrSQL="InsertIntostud(学号,姓名,性别,籍贯)"

 StrSQL=strSQL+"Values('",+tNo+"','"+tName+"','"+tSex+tRes+"')"

ADOrs.ExecuteStrSQL

   MsgBox"添加成功,请继续!

EndIf

ADOrs.Close

SetADOrs=Nothing

PrivateSubCommand2_Click()

Docmd.Close

16.已经设计出一个表格式表单窗体,可以输出教师表的相关字段信息。

请按照以下功能要求补充设计:

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

”,单击“是”,则直接删除该当前记录;

单击“否”,则什么都不做。

其效果图如下:

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

PrivateSubbtnCaneel_Ctick()

DoCmd.Close

’表格式表单窗体当前记录变化时触发

PrivateSubForm_Current()

IfMsgBox("是否删除该记录?

",vbQuestion+vbYesNo,"确认")

=6(或vbYes)Then

Me.Recordset.Delete

Endlf

EndSub

17.已经完成一个窗体的部分设计。

(1)原始文本处的文本框只接受英文大小写字符和汉字,其他字符输入一律忽略;

(2)单击“复制”按钮,可将原始文本框的选择内容追加到目标文本框内;

(3)目标文本框内字符数超过50,则清空。

代码如下:

DimstrTempAsString’存放原始文本框选择文本

’单击“复制”按钮,实施复制操作

PrivateSubtCopy_Click()

tDestText:

Nz(Me!

tDestText)十strTemp

strTemp=””

IfLen(Me!

tDestText)>

50ThenMe!

tDestText=Null

’原始文本框接受英文大小字母和汉字输入

PrivateSubtSourceText_KeyPress(KeyAsciiAsInteger)

If(KeyAscii>

=Ase("A")AndKeyAscii<

=Ase("Z"))Or(KeyAscii>

=Asc("a")AndKeyAscii<

=Asc("2")) Then

’输入其他字符,忽略

KeyAscii=0

’返回原始文本框选择文本

PrivateSubtSourceTextLostFocus()

tSourceText.SelLength>

0Then

strTemp=Me!

tSourceText.SelText

(或Mid(Me!

tSourceText,Me!

tSourceText.SelStart+1,Me!

tSourceText.SelLength))

strTemp=""

18.Nz函数主要用于处理Null值时的情况;

Dlookup函数的功用是从指定记录集里检索特定字段的值。

第三部分(经典题解)(p14~p37)

一、选择题(1~33)

1.假定有以下循环结构(2005年9月)

DoUntil条件

循环体

Loop

则正确的叙述是。

A)如果“条件”值为0,则一次循环体也不执行

B)如果“条件”值为0,则至少执行一次循环体

C)如果“条件”值不为0,则至少执行一次循环体

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

解析:

Do…Until。

..Loop循环结构中,当条件值为假时,重复执行循环体,直至条件值为真,结束循环。

因此,如果条件值为0,则至少执行一次循环体。

2.窗体上添加有3个命令按钮,分别命名为Commandl、Command2和Command3。

编写Commandl的单击事件过程,完成的功能为:

当单击按钮Commandl时,按钮Command2可用,按钮Command3不可见。

以下正确的是。

(2005年9月)

A)PrivateSubCommandl_Click()

Command2.Visible=True

Command3.Visible=False

B)PrivateSubCommandl_Click()

Command2.Enabled=true

Command3.Enabled=False

C)PrivateSubCommandl_Click()

Comman

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2