VBA模块习题PPT课件

上传人:公**** 文档编号:569951281 上传时间:2024-07-31 格式:PPT 页数:60 大小:364.50KB
返回 下载 相关 举报
VBA模块习题PPT课件_第1页
第1页 / 共60页
VBA模块习题PPT课件_第2页
第2页 / 共60页
VBA模块习题PPT课件_第3页
第3页 / 共60页
VBA模块习题PPT课件_第4页
第4页 / 共60页
VBA模块习题PPT课件_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《VBA模块习题PPT课件》由会员分享,可在线阅读,更多相关《VBA模块习题PPT课件(60页珍藏版)》请在金锄头文库上搜索。

1、Ch 8 Ch 8 模块习题模块习题1目录基本概念模块面向对象程序设计编程基础数据类型常量、变量、运算符与表达式、函数数组流程控制顺序结构分支结构循环结构过程数据库编程2基本概念:模块模块标准模块类模块宏VBA代码容器,实现复杂数据库应用声明过程3在下列关于宏和模块的叙述中,正确的是( )。A 模块是能够被程序调用的函数B 通过定义宏可以选择或更新数据C 宏或模块都不能是窗体或报表上的事件代码D 宏可以是独立的数据库对象,可以提供独立的操作动作能被“对象所识别的动作”和“对象可执行的活动”分别称为对象的( )。A 方法和事件B 事件和方法C 事件和属性D 过程和方法4基本概念:面向对象程序设计

2、对象属性(静态特征)方法(动态特征)事件静态赋值:属性窗口动态赋值:代码对象可执行的活动对象所识别的动作5窗体上添加有3个命令按钮,分别命名为command1、command2、command3。编写command1的单击事件过程,完成的功能为:当单击command1时,按钮command2可用,按钮command3不可见,以下正确的是()A Private Sub command1_Click() command2.Visible=True command3.Visible=False End Sub C Private Sub command1_Click() command2.Enabl

3、ed=True command3.Visible=False End SubB Private Sub command1_Click() command2.Enabled=True command3.Enabled=False End SubD Private Sub command1_Click() command2.Visible=True command3.Enabled=False End Sub6假定窗体的名称为frmTest,则把窗体的标题设置为“Access Test”的语句是()。A Me=Access TestB Me.Caption=Access TestC Me.text

4、=Access TestD Me.Name=Access Test“Access的控件对象可以设置某个属性来控制对象是否可用(不可用时显示为灰色状态)。需要设置的属性是()。A DefaultB CancelC EnabledD Visible7在窗体中有一个标签Label0,标题为“测试进行中”;有一个命令按钮Command1,事件代码如下:Private Sub Command_Click() Label0.Caption=标签End SubPrivate Sub Form_Load() Form.Caption=举例 Command1.Caption=移动End Sub打开窗体后单击命令

5、按钮,屏幕显示()。8发生在控件接受焦点之前的事件是()。A EnterB ExitC GotFocusD LostFocus窗体打开时事件发生的顺序:Open-Load-Resize窗体关闭时事件发生的顺序:DeActive-Unload-Close9编程基础:数据类型数据类型基本自定义Byte, String$Integer%, Long&, Single!, Double#Date, Currency, Object, VariantBooleanType 类型名 元素名 as 类型 End TypeDim 变量名 as 类型名变量名.元素名=值或With 类型名 .元素名=值 End

6、With10在VBA中,如果没有显示声明或用符号来定义变量的数据类型,变量的默认数据类型为()。A BooleanB IntC StringD Variant下列数据类型中,不属于VBA的是()。A 长整型B 布尔型C 变体型D 指针型11如下程序定义了学生成绩的记录类型,由学号、姓名和3门课程成绩(百分制)组成。Type Stud no As Integer name As String score(1 to 3) As SingleEnd Type若对某个学生的各个数据项进行赋值,下列程序段中正确的是()。A Dim S As Stud B Dim S As stud Stud.no=10

7、01 S.no=1001 Stud.name=舒逸 S.name=舒逸 Stud.score=78,88,96 S.score=78,88,96C Dim S As Stud D Dim S As stud Stud.no=1001 S.no=1001 Stud.name=舒逸 S.name=舒逸 Stud.score(1)=78 S.score(1)=78 Stud.score(2)=88 S.score(2)=88 Stud.score(3)=96 S.score(3)=9612编程基础:常量常量数值常量符号常量字符常量日期常量系统常量固有常量True -1False 0Null13编程基

8、础:变量变量局部变量全局变量模块变量Private Sub Va1() 过程结束变量丢弃 Dim a as integer 过程所在模块内保留变量值 Static b as integerEnd Sub模块内所有过程可用在模块顶部声明部分Dim a as integerPrivate b as string所有有模块可用在模块顶部声明部分Public b as string14编程基础:运算符与表达式15编程基础:函数P47算数函数:Fix(N):返回整数部分,若N为负数,大于等于参数值的第一个负数Sqr(N):求N的平方根Rnd(N):产生0,1)的随机数类型转换函数:Str(N):数字转化

9、成字符串,并在前面加一个空格来表示正负Val(N):字符串转化成数字字符串函数:Mid(N1,N2,N3)Right(N) Left(N)Len(N):求字符串N的长度Space(N):返回N个空格字符数据表函数:Dlookup(N1,N2,N3)输入输出函数:InputBox(N1,N2,N3,N4,N5)MsgBox(N1,N2,N3)16在窗体中添加一个命令按钮command1,然后编写如下代码: Private Sub command1_Click() a=0: b=5: c=6 MsgBox a=b+cEnd Sub 窗体打开后运行,如果单击命令按钮,则消息框的输出结果为()。A 1

10、1 B a=11 C 0 D False17表达式Fix(-3.25)和Fix(3.25)的结果分别是() A -3,3 B -4,3 C -3,4 D -4,4能够实现从指定记录集中检索字段值的函数是()。A DCountB DlookupC DMaxD DSun 以下程序段运行后,消息框的输出结果是()a=sqr(3)b=sqr(2)c=abMsgBox c+2A -1B 1C2D出错18用于获得字符串Str从第2个字符开始的3个字符的函数是() A Mid(Str,2,3) B Middle(Str,2,3) C Right(Str,2,3) D Left(Str,2,3)在语句s=In

11、t(100*Rnd)执行完毕后,s的值是()。A 0, 99 的随机整数 B 0, 100的随机整数 C 1, 99的随机整数 D 1, 100的随机整数 InputBox函数的返回值类型是()A 数值B 字符串C变体D数值或字符串(视输入的数据而定)19在窗体中有一个标签Lb1和一个命令按钮command1,代码如下:Dim a as String*10Private Sub command1_Click()a=“1234”b=len(a)Me.Lb1.Caption=bEnd Sub打开窗体后单击命令按钮,窗体中显示的内容是() A 4 B 5 C 10 D 4020运行下列程序段:M=2

12、.17N=len(str$(m)+space(5)则N的值是() A 5 B 8 C 9 D 1021执行语句 MsgBox “AAAA”, vbOKCancel+vbQuestion, “BBBB”之后,弹出的信息框外观样式是() A B C D22下列逻辑表达式中,能正确表示条件“x和y都是奇数”的是()。A x Mod 2 =1 Or y Mod 2 =1B x Mod 2 =0 Or y Mod 2 =0C x Mod 2 =1 And y Mod 2 =1D x Mod 2 =0 And y Mod 2 =023以下关于VBA运算符优先级比较,正确的是()。A 算数运算符逻辑运算符比

13、较运算符B 逻辑运算符比较运算符算数运算符C 算数运算符比较运算符逻辑运算符D 以上均是错误的VBA表达式3*33/3的输出结果是()。A 0 B 1C 3D 9以下可以得到“2*5=10”结果的VBA表达式为()A “2*5” & “=” & 2*5B “2*5” + “=” + 2*5C 2*5 & “=” & 2*5 D 2*5 + “=” + 2*524在Access中,如果变量定义在模块的过程内部,当程序代码执行时才可见,则这种变量的作用域为()。A 程序范围B 全局范围C 模块范围D 局部范围25编程基础:数组数组一维数组二维数组Dim 数组名(下标 to 上标) As 类型数组名

14、(标号) =值Dim 数组名(下标1 to 上标n1,下标2 to 上标n2) As 类型N M共有N*M个元素数组名(标号1,标号2) =值下标默认值为026用于获得字符串Str从第2个字符开始的3个字符的函数是定义了二维数组A(2 to 5, 5),该数组的元素个数为() A 20 B 24 C 25 D 36下列数组声明语句中,正确的是()。A Dim A3,4 As Integer B Dim A(3,4) As Integer C Dim A3;4 As Integer D Dim A(3;4) As Integer 语句Dim NewArray(10) As Integer的含义是

15、()A 定义了一个整型变量且初值为10B 定义了10个整数构成的数组C 定义了11个整数构成的数组D将数组的第10个元素设置为整型27流程控制顺序结构分支结构循环结构28VBA程序的多条语句可以写在一行中,其分隔符必须使用符号()。A :B ,C ;D .在Access中,如果要处理具有复杂条件或循环结构的操作,则应该使用的对象是()。A 窗体B 模块C 宏D 报表29流程控制:分支结构If 条件1 Then 语句块1ElseIf 条件2 Then 语句块2 Else 语句块NEnd IfSelect Case 表达式 Case 值1 语句块1 Case 值2 语句块2 Case Else 语

16、句块nEnd SelectIIF(条件,语句块1,语句块2)Switch(条件1,语句1,条件2,语句2,)Choose(表达式,值1,值2)条件1语句1语句1语句N条件2YesNoYesNo30在窗体上添加一个命令按钮command1,代码如下:Private Sub command1_Click()A=75If A60 Then I=1If A70 Then I=2If A80 Then I=3If A90 Then I=4MsgBox IEnd Sub打开窗体后单击命令按钮,消息框的输出结果是() A 1 B 2 C 3 D 4Private Sub command1_Click()A=

17、75If A60 Then I=1ElseIf A70 Then I=2ElseIf A80 Then I=3ElseIf A90 Then I=4End IfMsgBox IEnd Sub I=131在窗体上添加一个文本框Text1,代码如下:Private Sub Form_Click()x=Val(InputBox(“请输入x的值”)y=1if x0 then y=2text1.value=yEnd Sub打开窗体后在输入框中输入12,text1的输出结果是() A 1 B 2 C 3 D 4下列Case语句中错误的是()A Case 0 To 10B Case Is10C Case I

18、s10 And Is 1032流程控制:循环结构1For 循环变量=初值 to 终值 Step 步长循环体Next 循环条件语句循环体NoYesDo While 循环条件循环体Loop Do Until 循环条件循环体Loop 循环条件语句循环体NoYesWhile 循环条件循环体Wend33流程控制:循环结构循环条件语句循环体NoYesDo循环体Loop While 循环条件Do循环体Loop Until 循环条件循环条件语句循环体YesNo不论条件是否为真,至少执行一次循环体34在窗体上添加一个命令按钮command1,代码如下:Private Sub command1_Click()fo

19、r i=1 to 4x=4for j=1 to 3x=3for k=1 to 2x=x+6next knext jnext IMsgBox xEnd Sub打开窗体后单击命令按钮,消息框的输出结果是() A 7 B 15 C 157 D 538i=4 x=4 j=1 x=3 k=1 x=x+6=3+6=9 k=2 x=x+6=3+6=15 j=2 x=3 k=1 x=x+6=3+6=9 k=2 x=x+6=3+6=15 35运行以下程序段:X=2Y=4Dox=x*yy=y+1Loop While y4X的值是() A 2 B 4 C 8 D 2036在窗体上添加一个命令按钮command1,代

20、码如下:Private Sub command1_Click()s=“ABBACDDCBA”for i=6 to 2 step -2x= mid (s,i,i)y= left (s,i)z= right (s,i)z=x & y & znext IMsgBox zEnd Sub打开窗体后单击命令按钮,消息框的输出结果是() A. AABAAB B. ABBABA C. BABBA D BBABBAs=“ABBACDDCBA”i=2 x=mid(s,2,2)=“BB” y=left(s,2)=“AB” z=right(s,2)=“BA” z=x & y & z =“BBABBA” 37窗体代码如

21、下:Private Sub Form_Click()a=1for I=1 to 3select case Icase 1,3a=a+1case 2,4a=a+2end selectnext IMsgBox aEnd Sub打开窗体后单击窗体,结果是() A 3 B 4 C 5 D 638窗体代码如下:Private Sub Form_Click()dim sum as double, x as doublesum=0n=0for I=1 to 5x=n/In=n+1sum=sum+xnext IEnd Sub该程序计算的是下面哪个表达式的值() A 1+1/2+2/3+3/4+4/5 B 1+

22、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/539在窗体中使有一个文本框(名为n)接受输入的值,有一个命令按钮run,事件代码如下:Private Sub run_Click()result=For i=1 To Me!nFor j=1 To Me!n result=result+*Next jresult=result+Chr(13)+Chr(10)Next iMsgBox resultEnd Sub打开窗体后,如果通过文本框输入的值为4,单击命令按钮后输出的图型是A B C D* * * * * * * * * * * * * 40下

23、列四种形式的循环设计中,循环次数最少的是: () A a=5: b=8DOa=a+1Loop While ab C a=5: b=8DO Until abb=b+1Loop B a=5: b=8DOa=a+1Loop Until aba=a+1Loop 41在窗体中有一个命令按钮run35,对应的事件代码如下: Private Sub run35_Enter() Dim num As Integer Dim a As Integer Dim b As Integer Dim i As IntegerFor i=1 To 10 num=Input(“请输入数据:”,“输入”,1) If Int(

24、num/2)=num/2 Then a=a+1 偶数分支,偶数分支,4/2取整取整 = 4/2 Else b=b+1 奇数分支,奇数分支,5/2取整取整 5/2End ifNext iMsgBox(“运行结果:a=”& Str(a)&”,b=”&Str(b)End Sub A 对输入的10个数据求累加和 B 对输入的10个数据求各自的余数,然后再进行累加 C 对输入的10个数据分别统计有几个整数,有几个非整数 D 对输入的10个数据分别统计有几个奇数,有几个偶数42在窗体中有一个命令按钮(名称为run34),对应的事件代码如下: Private Sub run34_Click() sum=0

25、For i=10 to 1 Step -2sum=sum+INext iMsgbox sumEnd Sub运行以上事件,程序的输出结果是( )A 10 B 30 C 55 D 其他结果思考:如果步长为思考:如果步长为-1,结果如何?,结果如何?Sum=10+8+6+4+2思考:如果步长为思考:如果步长为-1,结,结果如何?果如何?43在窗体中有一个名称为run35的命令按钮,单击该按钮从键盘接收学生成绩,如果输入的成绩不在0到100分之间,则要求重新输入;如果输入的成绩正确,则进入后续程序处理。run35命令按钮的Click的事件代码如下:Private Sub run35_Click()Di

26、m flag As Boolean result = 0 flag=True Do while flag result = Val(InputBox(请输入学生成绩:,输入) If result =0 And result =100 ThenElse Msgbox 成绩输入错误,请重新输入End IfLoopRem 成绩输入正确后的程序代码略End Sub程序中有一空白处,需要填入一条语句使程序完成其功能,下列选项中错误的语句是()A flag= False B flag=Not flag C flag = True D Exit Do 44过程如下:X=1Dox=x+2Loop until_

27、运行程序,要求循环执行3次后结束,空白处应填入的语句是() A x=7 B x=7 D x745窗体代码如下:Private Sub Command1_Click()MsgBox f(24,18)End SubPublic Function f(m as integer, n as integer) as integerDo While mnDo While mnm=m-nLoopDo While mx=5b-y=4t=x=5x=t/y=5/4=1.25y=t mod y=5 mod 4=151在窗体中添加一个名称为Command1的命令按钮,然后编写如下程序: Public x As Int

28、eger Private Sub Command1_Click( ) x = 10 Call s1 Call为调用过程的专用语句为调用过程的专用语句 Call s2 用法为:用法为:Call 子过程名(子过程名(参数参数) MsgBox xEnd SubPrivate Sub s1( ) 全程变量全程变量X起作用起作用 x = x + 20 x=x+20=10+20=30, 返回给公有变量返回给公有变量 X End SubPrivate Sub s2( ) Dim x As Integer 此此X是子程序是子程序S2中的变量中的变量.只在只在S2起作用起作用 x = x + 20End Sub

29、窗体打开运行后,单击命令按钮,则消息框的输出结果为A)10B)30 C)40D)5052在过程定义中有语句:Private Sub GetData(ByRef f As Integer)其中“ByRef”的含义是:A 传值调用 B 传址调用 C 形式参数 D 实际参数若要在子过程Proc1调用后返回两个变量的结果,下列过程定义语句中有效的是:A Sub Proc1(n,m) B Sub Proc1(ByVal n,m) C Sub Proc1(n,ByVal m) D Sub Proc1(ByVal n, ByVal m)ByRef关键字或省略不写,表示参关键字或省略不写,表示参数传递是传址方

30、式数传递是传址方式。 Byval含义是参数按照值传递,省略即按照地址传递,也相含义是参数按照值传递,省略即按照地址传递,也相当于输入了当于输入了ByRef. 注:注:Sub名后面的内容表明:(名后面的内容表明:(n,m)均为传址方式,过)均为传址方式,过程调用结束后,将程调用结束后,将n和和m的值返回给实参。而加入了关键字:的值返回给实参。而加入了关键字:ByVal表明是直接返回值,但表明是直接返回值,但Sub又没有返回值的概念,所又没有返回值的概念,所以就什么也没有传递。以就什么也没有传递。53在过程定义中有语句Private Sub GetData(Byval data As Intege

31、r)其中Byval的含义是A传值调用 B传址调用 C形式参数 D实际参数 若要在子过程Proc1调用后返回两个变量的结果,下列过程定义语句中有效的是: A)Sub Proc1(n,m) Byval参数省略,表示变量n和m均是传址调用; B)Sub Proc1(ByVal n,m) 变量n为传值调用,但Sub不行,所以不返回n值; C)Sub Proc1(n,ByVal m) 变量m为传值调用,但Sub不行,所以不返回m值;D)Sub Proc1(ByVal n, ByVal m) 变量n和m均为传值调用,不返回n和m值;根据上面介绍的根据上面介绍的Sub过程不能返回值,只能返回地址,正确的过程

32、不能返回值,只能返回地址,正确的是是A,也相当于,也相当于Sub proc1(ByRef n, ByRef m)54在VBA中,下列关于过程的描述正确的是()A 过程的定义可以嵌套,但过程的调用不能嵌套B 过程的定义不可以嵌套,但过程的调用能嵌套C 过程的定义和过程的调用均可以嵌套D 过程的定义和过程的调用均不可以嵌套现有一个已经建好的窗体,窗体中有一命令按钮,单击此按钮,将打开“tEmployee”表,如果采用VBA代码完成,下面语句正确的是A docmd.openform tEmployee B docmd.openview tEmployeeC docmd.opentable tEmpl

33、oyee D docmd.openreport tEmployee55打开“学生信息录入”窗体,如果采用VBA代码完成,下面语句正确的是A docmd.openform 学生信息录入 B docmd.openview 学生信息录入C docmd.opentable 学生信息录入 D docmd.openreport 学生信息录入“在VBA代码调试过程中,能够显示出所有在当前过程中变量声明及变量值信息的是A 快速监视窗口 B 监视窗口 C 立即窗口 D 本地窗口VBA中不能进行错误处理的语句结构是A On Error Then 标号 B On Error Goto 标号 C On Error R

34、esume Next D On Error Goto 056数据库编程数据库编程DAO:数据库访问对象ADO:Active数据对象RecordSet记录集对象第一条记录第二条记录最后一条记录EOF=True打开moveNext57在Access中,DAO的含义是:A 开放数据库互连应用编程接口 B 数据库访问对象C Active数据对象 D 数据库动态链接库在VBA代码DAO模型层次中处在最顶层的对象是A DBEngine B Workspace C Database D RecordsetADO的含义是A开放数据库互连应用程序接口 B 数据访问对象 C动态链接库 D Active数据对象58

35、ADO对象模型中可以打开Recordset对象的是A只能是Connection对象 B只能是Command对象C可以是Connection对象和Command对象 D不存在 评析: Connection对象:用于指定数据提供者,建立到数据源 的连接。 Command对象:表示一个命令。 RecordSet对象:表示数据操作返回的记录集。此对象 和Connection对象是最重要的两个对象。 Connection对象和Command对象都可以打开RecordSet对象。59下列过程的功能是:通过对象变量返回当前窗体的RecordSet属性记录集引用,消息框中输出记录集的记录(即窗体记录源)个数。Sub GetRecNum()Dim rs As ObjectSet rs=Me.RecordSetMsgBox _End Sub程序空白处应填写的是()。A Count B rs.CountC RecordCount D rs.RecordCount 60

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号