1、国家二级 ACCESS 机试选择题(模块与 VBA 编程基础)模拟试卷 16及答案解析(总分:72.00,做题时间:90 分钟)一、选择题(总题数:36,分数:72.00)1.若有如下 sub 过程: Sub sfun(x As Single,Y As Single) t=x:x=ty y=t Mod y End Sub 在窗体中添加一个命令按钮 command33,对应的事件过程如下: Private Sub Command33 Click() Dim aAs Single,b As Single a=5:b=4 sfun(a,b) MsgBox a&chr(10)+chr(13)b End
2、 Sub 打开窗体运行后,单击命令按钮,消息框中有两行输出,内容分别为(分数:2.00)A.1 和 1B.125 和 1C.125 和 4D.5 和 42.运行下列程序,显示的结果是 Private Sub Command34_Click() i=0 Do i=i+1 Loop While iA.0B.1C.10D.113.运行下列程序,在立即窗口显示的结果是 Private Sub Command0_Click() Dim IAs Integer,JAs Integer For I=2 T0 10 For J=2 To 12 IfI mod J=0 Then ExitFor Next J I
3、fJsqr(I)Then DebugPrint I; Next 1 End Sub(分数:2.00)A.1 5 7 9B.4 6 8C.3 5 7 9D.2 3 5 74.运行下列过程,当输入一组数据:10,20,50,80,40,30,90,100,60,70,输出的结果应该是 Sub p10 Dim ij,arr(1 1)As Integer k=1 While karr(j)Then temp=arr(i)=arr(i)=arr(j):arr(j)=temp End If DebugPrint arr(i) Next i End Sub(分数:2.00)A.无序数列B.升序数列C.降序数
4、列D.原输入数列5.下列程序的功能是计算 N=2+(2+4)+(2+4+6)+(2+4+6+40)的值。 Private Sub Command34 Click() t=0;m=0:sum=0 Do t=t+m:sum=sum+t m=_ Loop While mA.t+2B.t+1C.m+2D.m+16.在窗体中有一个名为 Command1 的命令按钮,事件代码如下: Private Sub Commandl Click() Dim m(10) For k=1 To 10 m(k)=1 1-k Next k x=6 MsgBox m(2+m(x) End Sub 打开窗体,单击命令按钮,消息
5、框的输出结果是(分数:2.00)A.2B.3C.4D.57.在窗体中有一个名为 run34 的命令按钮,事件代码如下: Private Sub run34 Click() f1=1:f2=1 For n=3 To 7 f=f1+f2 :m f1=f2:f2=f Next n MsgBox f End Sub 打开窗体,单击命令按钮,消息框的输出结果是(分数:2.00)A.8B.13C.21D.其他结果8.假定有如下的 Sub 过程: Sub sfun(x As Single,Y As Single) t=x:x=ty y=t Mod y End Sub 在窗体上添加一个命令按钮(名为 Comm
6、andl),然后编写如下事件过程: Private Sub Command lClick() Dim a as single,b as single a=5:b=4 sfun a,b MsgBox a&chr(10)+chr(13)&b End Sub 打开窗体运行后,单击命令按钮,消息框的两行输出内容分别为(分数:2.00)A.1 和 1B.125 和 1C.125 和 4D.5 和 49.Sub 过程与 Function 过程最根本的区别是(分数:2.00)A.Sub 过程的过程名不能返回值,而 Function 过程能通过过程名返回值B.Sub 过程可以使用 Call 语句或直接使用过程
7、名调用,而 Function 过程不可以C.两种过程参数的传递方式不同D.Function 过程可以有参数,Sub 过程不可以10.在窗体中添加一个名称为 Commandl 的命令按钮,然后编写如下程序:Public x As IntegerPrivate Sub Command l_Click() X=10 Call S1 Call s2 MsgBox xEnd SubPrivate Sub S1() x=x+20End SubPrivate Sub s2() Dim x As Integer x=x+20End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结果为(分数:2.00)A
8、.10B.30C.40D.5011.在过程定义中有语句:Private Sub GetData(ByRef f As Integer)其中“ByRef”的含义是(分数:2.00)A.传值调用B.传址调用C.形式参数D.实际参数12.若要在子过程 Procl 调用后返回两个变量的结果,下列过程定义语句中有效的是(分数:2.00)A.Sub Proc 1(n,m)B.Sub Procl(ByVal n,m)C.Sub Procl(n,BYVal m)D.Sub Procl(ByVal n,ByVal m)13.在过程定义中有语句:Private Sub GetData(ByVal data As
9、Integer)其中“ByVal”的含义是(分数:2.00)A.传值调用B.传址调用C.形式参数D.实际参数14.要想在过程 Proc 调用后返回形参 x 和 Y 的变化结果,下列定义语句中正确的是(分数:2.00)A.Sub Proc(x as Integer,y as Integer)B.Sub Proc(ByVal z as Integer,y as Integer)C.Sub Proc(x as Integer,ByVal y as Integer)D.Sub Proc(ByVal z as Integer,ByVal y as Integer)15.在 VBA 中,下列关于过程的描述
10、中正确的是(分数:2.00)A.过程的定义可以嵌套,但过程的调用不能嵌套B.过程的定义不可以嵌套,但过程的调用可以嵌套C.过程的定义和过程的调用均可以嵌套D.过程的定义和过程的调用均不能嵌套16.在窗体上有一个命令按钮 Command1,编写事件代码如下:Private Sub CommandI_Click() Dim x As Integer,y As Integer x=12:y=32 Call Proc(x,y)End SubPublic Sub Proch As Integer,ByVal m As Integer n=n Mod 10 m=m Mod 10End Sub 打开窗体运行
11、后,单击命令按钮,立即窗口上输出的结果是(分数:2.00)A.2 32B.12 3C.2 2D.12 3217.窗体中有命令按钮 Commandl,事件过程如下:Public Function f(x As Integer)As Integer Dim yAs Integer x=20:y=2 f=x*y End FunctionPrivate Sub Command l Click() Dim y As Integer Static x As Integer x=10:y=5 y=f(x) DebugPrint x;yEnd Sub 运行程序,单击命令按钮,则立即窗口中显示的内容是(分数:2
12、.00)A.10 5B.10 40C.20 5D.20 4018.如果在被调用的过程中改变了形参变量的值,但又不影响实参变量本身,这种参数传递方式称为(分数:2.00)A.按值传递B.按地址传递C.ByRef 传递D.按形参传递19.在代码中定义了一个子过程: Sub P(a,b) Endsub 下列调用该过程的形式中,正确的是(分数:2.00)A.P(10,20)B.Call PC.Call P 10,20D.Call p(10,20)20.不属于 VBA 提供的程序运行错误处理的语句结构是(分数:2.00)A.On Error Then 标号B.On Error Goto 标号C.On E
13、rror Resume NextD.On Error Goto 021.在调试 VBA 程序时,能自动被查出来的错误是(分数:2.00)A.语法错误B.逻辑错误C.运行错误D.语法错误和逻辑错误22.下列属于通知或警告用户的命令是(分数:2.00)A.PrintOutB.OutputToC.MsgBoxD.Set Warnings23.在 VBA 中,能自动检查出来的错误是(分数:2.00)A.语法错误B.逻辑错误C.运行错误D.注释错误24.要显示当前过程中的所有变量及对象的取值,可以利用的调试窗口是(分数:2.00)A.监视窗口B.调用堆栈C.立即窗口D.本地窗口25.在代码调试时,使用
14、DebugPrint 语句显示指定变量结果的窗口是(分数:2.00)A.立即窗口B.监视窗口C.本地窗口D.属性窗口26.现有一个已经建好的窗体,窗体中有一命令按钮,单击此按钮,将打开“tEmployee”表,如果采用VBA 代码完成,下面语句正确的是(分数:2.00)A.docmdopenform“tEmployee”B.docmdopenview“tEmployee”C.docmdopentable“tEmployee”D.docmdopenreport“tEmployee”27.在 VBA 中,实现窗体打开操作的命令是(分数:2.00)A.DoCmdOpenFormB.OpenFormC
15、.DoOpenFormD.DoOpcnForm28.在 VBA 中要打开名为“学生信息录入”的窗体,应使用的语句是(分数:2.00)A.DoCmdopenForm”学生信息录入”B.OpenForm“学生信息录入”C.DoCmdopenWindow”学生信息录入”D.OpenWindow“学生信息录入”29.下列过程的功能是:通过对象变量返回当前窗体的 Recordset 属性记录集引用,消息框中输出记录集的记录(即窗体记录源)个数。 Sub GetRecNum() Dim rsAs Object Set rs=MeRecordset MsgBox_ End Sub 程序空白处应填写的是(分数
16、:2.00)A.CountB.rsCountC.RecordCountD.rsRecordCount30.下列程序段的功能是实现“学生”表中“年龄”字段值加 1 Dim Str As String Str=“_” DocmdRunSQL Str 空白处应填入的程序代码是(分数:2.00)A.年龄=年龄+1B.Update 学生 Set 年龄=年龄+1C.Set 年龄=年龄+1D.Edit 学生 Set 年龄=年龄+131.下列程序的功能是返回当前窗体的记录集 Sub GetRecNum0 Dim rsAs Object Set rS= MsgBox r8RecordC0unt End Sub
17、为保证程序输出记录集(窗体记录源)的记录数,空白处应填入的语句是(分数:2.00)A.RecordsetB.MeRecordsetC.RecordSourceD.MeRecordSource32.在 Access 中,DA0 的含义是(分数:2.00)A.开放数据库互连应用编辑接口B.数据库访问对象C.Active 数据对象D.数据库动态链接库33.ADO 的含义是(分数:2.00)A.开放数据库互连应用编程接口B.数据库访问对象C.动态链接库D.Active 数据对象34.利用 ADO 访问数据库的步骤是:定义和创建 ADO 对象实例变量;设置连续参数并打开连接;设置命令参数并执行命令;设置
18、查询参数并打开记录集;操作记录集;关闭、回收有关对象。这些步骤的执行顺序应该是(分数:2.00)A.B.C.D.35.ADO 对象模型包括 5 个对象,分别是 Connection、Command、FieldError 和(分数:2.00)A.DatabaseB.WorkspaceC.RecordSetD.DBEngine36.DAO 层次对象模型的项层对象是(分数:2.00)A.DBEngineB.WorkspaceC.DatabaseD.RecordSet国家二级 ACCESS 机试选择题(模块与 VBA 编程基础)模拟试卷 16答案解析(总分:72.00,做题时间:90 分钟)一、选择题
19、(总题数:36,分数:72.00)1.若有如下 sub 过程: Sub sfun(x As Single,Y As Single) t=x:x=ty y=t Mod y End Sub 在窗体中添加一个命令按钮 command33,对应的事件过程如下: Private Sub Command33 Click() Dim aAs Single,b As Single a=5:b=4 sfun(a,b) MsgBox a&chr(10)+chr(13)b End Sub 打开窗体运行后,单击命令按钮,消息框中有两行输出,内容分别为(分数:2.00)A.1 和 1B.125 和 1 C.125 和
20、4D.5 和 4解析:解析:由题意可知 sfun 函数实现求除数和求余数的功能,所以最终结果是 125 和 1。2.运行下列程序,显示的结果是 Private Sub Command34_Click() i=0 Do i=i+1 Loop While iA.0B.1C.10 D.11解析:解析:依据题意可知,当执行完第 10 次循环体后,此时 i 的值为 10,while 的条件为假,所以跳出循环,所以最终的结果为 10。3.运行下列程序,在立即窗口显示的结果是 Private Sub Command0_Click() Dim IAs Integer,JAs Integer For I=2 T
21、0 10 For J=2 To 12 IfI mod J=0 Then ExitFor Next J IfJsqr(I)Then DebugPrint I; Next 1 End Sub(分数:2.00)A.1 5 7 9B.4 6 8C.3 5 7 9D.2 3 5 7 解析:解析:根据题意,两个 For 执行的过程中,各变量的值如下所示:4.运行下列过程,当输入一组数据:10,20,50,80,40,30,90,100,60,70,输出的结果应该是 Sub p10 Dim ij,arr(1 1)As Integer k=1 While karr(j)Then temp=arr(i)=arr
22、(i)=arr(j):arr(j)=temp End If DebugPrint arr(i) Next i End Sub(分数:2.00)A.无序数列 B.升序数列C.降序数列D.原输入数列解析:解析:本段代码段是一个单重循环,对于数组中的每一个元素,依次与后面的元素进行比较,较大的数放在前面。运行这个过程,返回序列为:10、20、50、40、30、80、90、60、70、100,表明是一个无序序列。5.下列程序的功能是计算 N=2+(2+4)+(2+4+6)+(2+4+6+40)的值。 Private Sub Command34 Click() t=0;m=0:sum=0 Do t=t+
23、m:sum=sum+t m=_ Loop While mA.t+2B.t+1C.m+2 D.m+1解析:解析:m 每次递增加 2,得到的数值为 2、4、6 等,在每次循环的开始,则 t 的值为 2、(2+4)、(2+4+6)等,sum 的值为 2,2+(2+4),2+(2+4)+(2+4+6)等符合要求。6.在窗体中有一个名为 Command1 的命令按钮,事件代码如下: Private Sub Commandl Click() Dim m(10) For k=1 To 10 m(k)=1 1-k Next k x=6 MsgBox m(2+m(x) End Sub 打开窗体,单击命令按钮,消
24、息框的输出结果是(分数:2.00)A.2B.3C.4 D.5解析:解析:由题意可知,m(6)的值为 5,m(7)=4,所以 m(2+m(6)=m(7)=4。7.在窗体中有一个名为 run34 的命令按钮,事件代码如下: Private Sub run34 Click() f1=1:f2=1 For n=3 To 7 f=f1+f2 :m f1=f2:f2=f Next n MsgBox f End Sub 打开窗体,单击命令按钮,消息框的输出结果是(分数:2.00)A.8B.13 C.21D.其他结果解析:解析:根据题意,执行的过程中,各变量的值如下所示:8.假定有如下的 Sub 过程: Su
25、b sfun(x As Single,Y As Single) t=x:x=ty y=t Mod y End Sub 在窗体上添加一个命令按钮(名为 Commandl),然后编写如下事件过程: Private Sub Command lClick() Dim a as single,b as single a=5:b=4 sfun a,b MsgBox a&chr(10)+chr(13)&b End Sub 打开窗体运行后,单击命令按钮,消息框的两行输出内容分别为(分数:2.00)A.1 和 1B.125 和 1 C.125 和 4D.5 和 4解析:解析:本题考查 V:BA 中参数传递的知识
26、。在 VBA 的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时没有说明传递类型,则默认为传址传递,即形参的结果会传递给实参。本例就是传址传递,所以过程调用时 x=a,也就是 5:y=b,也就是 4。在过程内 x 的值变为 54 也就是125,y 的值变为 5Mod4 也就是 1。过程调用结束时 x 和 y 的值分别回送给 a 和 b,所以选项 B 正确。9.Sub 过程与 Function 过程最根本的区别是(分数:2.00)A.Sub 过程的过程名不能返回值,而 Function 过程能通过过程名返回值 B.Sub 过程可以使用 Call 语句或直接使用过程名调用,而
27、Function 过程不可以C.两种过程参数的传递方式不同D.Function 过程可以有参数,Sub 过程不可以解析:解析:本题考查函数过程和子过程的知识。函数过程和子过程都是过程,都可以使用 Call 语句进行调用,都可以指定参数,并且都可以指定用传址还是传值的方式进行参数传递。它们除了定义的关键字不同外的根本区别是:函数过程最终会通过过程名返回一个函数值,而子过程不会。10.在窗体中添加一个名称为 Commandl 的命令按钮,然后编写如下程序:Public x As IntegerPrivate Sub Command l_Click() X=10 Call S1 Call s2 Ms
28、gBox xEnd SubPrivate Sub S1() x=x+20End SubPrivate Sub s2() Dim x As Integer x=x+20End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结果为(分数:2.00)A.10B.30 C.40D.50解析:解析:本题考查变量作用域的知识。在整个程序中定义了一个全局变量 x,在命令按钮的单击事件中对这个 x 赋值为 10,然后依次调用 s1 和 s2;在 sl 中对 x 自加了 20;在 s2 中用 Dim 定义了一个局部变量 x,按照局部覆盖全局的原则,在 s2 中的操作都是基于局部变量 x 而不是全局变量 x
29、。故此最终的输出结果为 30。11.在过程定义中有语句:Private Sub GetData(ByRef f As Integer)其中“ByRef”的含义是(分数:2.00)A.传值调用B.传址调用 C.形式参数D.实际参数解析:解析:本题考查 VBA 中参数传递的知识。在 VBA 的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用 ByVal 声明,说明此参数为传值调用;若用 ByRef 声明,说明此参数为传址调用;没有说明传递类型,则默认为传址传递。即形参的结果会传递给实参。12.若要在子过程 Procl 调用后返回两个变量的结果,下列过程定义语句中有效的是(
30、分数:2.00)A.Sub Proc 1(n,m) B.Sub Procl(ByVal n,m)C.Sub Procl(n,BYVal m)D.Sub Procl(ByVal n,ByVal m)解析:解析:本题考查 VBA 中参数传递的知识。在 VBA 的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用 ByVal 声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用 ByRef 声明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。13.在过程定义中有语句:Private Sub GetData(ByVal dat
31、a As Integer)其中“ByVal”的含义是(分数:2.00)A.传值调用 B.传址调用C.形式参数D.实际参数解析:解析:参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用 ByVal 声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用 ByRef 声明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。14.要想在过程 Proc 调用后返回形参 x 和 Y 的变化结果,下列定义语句中正确的是(分数:2.00)A.Sub Proc(x as Integer,y as Integer) B.Sub Proc(ByVal z
32、as Integer,y as Integer)C.Sub Proc(x as Integer,ByVal y as Integer)D.Sub Proc(ByVal z as Integer,ByVal y as Integer)解析:解析:本题考查 VBA 中参数传递的知识。在 VBA 的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用 ByVal 声明,说明此参数为传值调用;若用:ByRef 声明,说明此参数为传址调用;没有说明传递类型,则默认为传址传递。即形参的结果会传递给实参。15.在 VBA 中,下列关于过程的描述中正确的是(分数:2.00)A.过程的定义
33、可以嵌套,但过程的调用不能嵌套B.过程的定义不可以嵌套,但过程的调用可以嵌套 C.过程的定义和过程的调用均可以嵌套D.过程的定义和过程的调用均不能嵌套解析:解析:本题考查过程的知识。过程可以嵌套调用,但是不得嵌套定义。16.在窗体上有一个命令按钮 Command1,编写事件代码如下:Private Sub CommandI_Click() Dim x As Integer,y As Integer x=12:y=32 Call Proc(x,y)End SubPublic Sub Proch As Integer,ByVal m As Integer n=n Mod 10 m=m Mod 10
34、End Sub 打开窗体运行后,单击命令按钮,立即窗口上输出的结果是(分数:2.00)A.2 32 B.12 3C.2 2D.12 32解析:解析:在 VBA 的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用 ByVal 声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用 ByRef 声明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。因此调用函数实参 x 是传址方式传递,实参 y 为传值方式传递,调用函数后 x 值在函数中随形参改变,即 x=x mod 10=12 mod 10=2,而 y 不随之改变。17.窗
35、体中有命令按钮 Commandl,事件过程如下:Public Function f(x As Integer)As Integer Dim yAs Integer x=20:y=2 f=x*y End FunctionPrivate Sub Command l Click() Dim y As Integer Static x As Integer x=10:y=5 y=f(x) DebugPrint x;yEnd Sub 运行程序,单击命令按钮,则立即窗口中显示的内容是(分数:2.00)A.10 5B.10 40 C.20 5D.20 40解析:解析:static 为静态变量,要在过程的实例
36、间保留局部变量的值,用此变量,它的持续时间是整个模块执行的时间,但它的有效作用范围是由其定义位置决定的。18.如果在被调用的过程中改变了形参变量的值,但又不影响实参变量本身,这种参数传递方式称为(分数:2.00)A.按值传递 B.按地址传递C.ByRef 传递D.按形参传递解析:解析:在 VBA 的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用 ByVal 声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用 ByRef 声明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。19.在代码中定义了一个子过程: Sub
37、P(a,b) Endsub 下列调用该过程的形式中,正确的是(分数:2.00)A.P(10,20)B.Call PC.Call P 10,20D.Call p(10,20) 解析:解析:子过程的调用形式有两种:Call 子过程名(实参)或 子过程名 实参说明:用Call 关键字调用子过程时,若有实参,则多个实参之间必须用逗号分隔,并把实参用圆括号括起,无实参时可省略圆括号;不使用 Call 关键字,若有实参,也不需用圆括号括起;若实参要获得子过程的返回值,则实参只能是变量,不能是常量、表达式或控件名。20.不属于 VBA 提供的程序运行错误处理的语句结构是(分数:2.00)A.On Error
38、 Then 标号 B.On Error Goto 标号C.On Error Resume NextD.On Error Goto 0解析:解析:本题考查 VBA 中程序运行错误处理的知识。在 VBA 中,程序运行错误处理的语句有三种,分别是:On Error Go To,在遇到错误发生时程序转移到标号所指位置代码执行;On Error Resume Next,在遇到错误发生时不会考虑错误并继续执行下一条语句;On Error Go To 0,关闭错误处理。21.在调试 VBA 程序时,能自动被查出来的错误是(分数:2.00)A.语法错误 B.逻辑错误C.运行错误D.语法错误和逻辑错误解析:解析
39、:在调试 VBA 程序时,通过语法分析能自动检查语法是否错误,而不能检查逻辑错误。22.下列属于通知或警告用户的命令是(分数:2.00)A.PrintOutB.OutputToC.MsgBox D.Set Warnings解析:解析:PrintOtlt:打印打开的数据库中的活动对象,也可以打印数据表、窗体、报表、数据访问页和模块。OutputTo:可将 Access 数据库对象中的数据输出到:Excel、MS-DOS 文本文件或多信息文件格式及其他格式的文件中:MsgBox:显示包含警告信息或其他信息的消息框。23.在 VBA 中,能自动检查出来的错误是(分数:2.00)A.语法错误 B.逻辑
40、错误C.运行错误D.注释错误解析:解析:在 VBA 中,能自动检查出来的错误是语法错误,如有语法错误则程序不会继续运行,逻辑错误、注释错误是不能自动检查出来的,逻辑错误需要调试,对结果进行分析,需要人为检查,注释错误不影响程序执行。24.要显示当前过程中的所有变量及对象的取值,可以利用的调试窗口是(分数:2.00)A.监视窗口B.调用堆栈C.立即窗口D.本地窗口 解析:解析:本题考查程序调试的知识。程序调试的时候可以利用几种辅助窗口来辅助调试,它们分别是:“本地”窗口一一显示当前过程中变量的值;“立即”窗口一一当应用程序处于中断模式时,允许运行代码或查询变量值;“监视”窗口一一显示选定表达式的
41、值;快速监视一一当应用程序处于中断模式时,列出表达式的当前值;调用堆栈在一一中断模式中,显示一个对话框,其中列出所有被调用且未完成运行的过程。25.在代码调试时,使用 DebugPrint 语句显示指定变量结果的窗口是(分数:2.00)A.立即窗口 B.监视窗口C.本地窗口D.属性窗口解析:解析:立即窗口是用来进行快速的表达式计算、简单方法的操作及进行程序测试的工作窗口。在代码窗口编写代码时,要在立即窗口打印变量或表达式的值,可使用 DebugPrint 语句。26.现有一个已经建好的窗体,窗体中有一命令按钮,单击此按钮,将打开“tEmployee”表,如果采用VBA 代码完成,下面语句正确的
42、是(分数:2.00)A.docmdopenform“tEmployee”B.docmdopenview“tEmployee”C.docmdopentable“tEmployee” D.docmdopenreport“tEmployee”解析:解析:本题考查 VBA 中如何打开对象的知识。在 VBA 中,打开表的命令格式为:DoCmdOpenTable表名。另外还需知道打开查询使用 DoCmdOpenQuery;打开窗体使用 DoCmdOpenForm;打开报表使用DoCmdOpenReports;打开视图使用 DoCmdOpenView;关闭窗体和报表使用 DoCmdClose 等。27.在
43、VBA 中,实现窗体打开操作的命令是(分数:2.00)A.DoCmdOpenForm B.OpenFormC.DoOpenFormD.DoOpcnForm解析:解析:DoCmdOpenForm 为打开窗体命令。28.在 VBA 中要打开名为“学生信息录入”的窗体,应使用的语句是(分数:2.00)A.DoCmdopenForm”学生信息录入” B.OpenForm“学生信息录入”C.DoCmdopenWindow”学生信息录入”D.OpenWindow“学生信息录入”解析:解析:本题考查 VBA 中如何打开对象的知识。在 vBA 中,打开窗体的命令为:DocmdOpen:Form。另外还需知道打
44、开表使用命令 DocmdOpenTable;打开报表使用命令DocmdOpenReport;打开查询使用命令 DocmdOpenQuery;关闭窗体和报表使用命令 DocmdClose。29.下列过程的功能是:通过对象变量返回当前窗体的 Recordset 属性记录集引用,消息框中输出记录集的记录(即窗体记录源)个数。 Sub GetRecNum() Dim rsAs Object Set rs=MeRecordset MsgBox_ End Sub 程序空白处应填写的是(分数:2.00)A.CountB.rsCountC.RecordCountD.rsRecordCount 解析:解析:Re
45、cordCount 属性返回 Long 值,指示 Recordset 中的记录数目。由于对象变量 rs 返回当前窗体的 RecordSet 属性记录集引用,所以输出记录个数时的代码写成 rsRecordCount。30.下列程序段的功能是实现“学生”表中“年龄”字段值加 1 Dim Str As String Str=“_” DocmdRunSQL Str 空白处应填入的程序代码是(分数:2.00)A.年龄=年龄+1B.Update 学生 Set 年龄=年龄+1 C.Set 年龄=年龄+1D.Edit 学生 Set 年龄=年龄+1解析:解析:在 SOL 语句中 UPDATE 可以更新数据表,格
46、式 UPDATE 数据表名 SET 字段名=设置结果。31.下列程序的功能是返回当前窗体的记录集 Sub GetRecNum0 Dim rsAs Object Set rS= MsgBox r8RecordC0unt End Sub 为保证程序输出记录集(窗体记录源)的记录数,空白处应填入的语句是(分数:2.00)A.RecordsetB.MeRecordset C.RecordSourceD.MeRecordSource解析:解析:MeRecordset 为记录集,MeRecordSource 是记录源,本题要求输出记录集的记录数。32.在 Access 中,DA0 的含义是(分数:2.00
47、)A.开放数据库互连应用编辑接口B.数据库访问对象 C.Active 数据对象D.数据库动态链接库解析:解析:本题考查 VBA 中数据库访问接口的知识。在 vBA 中,数据库访问接口有 3 种:开放数据库互连(ODBC)、数据访问对象(DAO)和 Active 数据对象(ADO)。33.ADO 的含义是(分数:2.00)A.开放数据库互连应用编程接口B.数据库访问对象C.动态链接库D.Active 数据对象 解析:解析:本题考查 VBA 中数据库访问接口的知识。在 VBA 中,数据库访问接口有 3 种:开放数据库互连(ODBC)、数据访问对象(DAO)和Active 数据对象(ADO)。34.
48、利用 ADO 访问数据库的步骤是:定义和创建 ADO 对象实例变量;设置连续参数并打开连接;设置命令参数并执行命令;设置查询参数并打开记录集;操作记录集;关闭、回收有关对象。这些步骤的执行顺序应该是(分数:2.00)A.B.C.D. 解析:解析:ADO 访问数据库的顺序为:定义实例变量;使用 Connection 对象连接到数据源;设置参数并执行命令;使用 Recordset 对象打开记录集;在程序中操作记录集;最后关闭回收有关对象。35.ADO 对象模型包括 5 个对象,分别是 Connection、Command、FieldError 和(分数:2.00)A.DatabaseB.Works
49、paceC.RecordSet D.DBEngine解析:解析:ADO 对象模型包括 5 个对象,分别为 Connection 对象、Command 对象、Recordset 对象、Field 对象和 Error 对象。Connection 对象:用于建立与数据库的连接。通过连接可从应用程序访问数据源,它保存诸如指针类型、连接字符串、查询超时、连接超时和缺省数据库这样的连接信息。 Command 对象:在建立数据库连接后,可以发出命令操作数据源。一般情况下,Command 对象可以在数据库中添加、删除或更新数据,或者在表中进行数据查询。(30mmand 对象在定义查询参数或执行存储过程时非常有用。 Recordset 对象:表示数据操作返回的记录集。这