1、国家二级 ACCESS机试选择题(模块与 VBA编程基础、 VBA数据库编程)模拟试卷 2及答案与解析 一、选择题 1 下列程序的功能是计算 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 m 41 MsgBox”sum=” sum End Sub 空白处应该填写的语句是 ( A) t+2 ( B) t+1 ( C) m+2 ( D) m+1 2 在窗体中有一个名为 Commandl的命令按钮,事件代码如下: Privat
2、e Sub Commandl Click() Dim m(10) For k=1 To 10 m(k)=11-k Next k x=6 MsgBox m(2+m(x) End Sub 打开窗体,单击命令按钮,消息框的输出结果是 ( A) 2 ( B) 3 ( C) 4 ( D) 5 3 在窗体中有一个名为 run34的命令按钮,事件代码如下: Private Sub run34_Click() f1=1 f2=1 For n=3 To 7 f=fl+f2 f1=f2 f2=f Next n MsgBox f End Sub 打开窗体,单击命令按钮,消息框的输出结果是 ( A) 8 ( B) 1
3、3 ( C) 21 ( D)其他结果 4 假定有如下的 Sub过程: Sub sfun(x As Single, Y As Single) t=x x=t y Y=t Mod Y End Sub 在窗体上添加一个命令按钮 (名为 Commandl),然后编写如下事件过程: Private Sub Commandl_Click() Dim a as single Dimb as single a=5 b=4 sfun a,b MsgBox a&chr(10)+chr(13)&b End Sub 打开窗体运行后,单击命令按钮,消息框的两行输出内容分别为 ( A) 1和 1 ( B) 1 25和 1
4、 ( C) 1 25和 4 ( D) 5和 4 5 Sub过程与 Function过程最根本的区别是 ( A) Sub过程的过程名不能返回值,而 Function过程能通过过程名返回值 ( B) Sub过程可以使用 Call语句或直接使用过程名调用,而 Function过程不可以 ( C)两种过程参数的传递方式不同 ( D) Function过程可以有参数, Sub过程不可以 6 在窗体中添加一个名称为 Commandl的命令按钮,然后编写如下程序: Public x As Integer Private Sub Commandl_Click() x=10 Call s1 Call s2 Ms
5、gBox X End Sub Private Sub sl() X=X+20 End Sub Private Sub s2() Dim XAs Integer X=x+20 End Sub 窗体打开运行后,单击 命令按钮,则消息框的输出结果为 ( A) 10 ( B) 30 ( C) 40 ( D) 50 7 在过程定义中有语句: Private Sub GetData(ByRef f As Integer) 其中 “ByRef“的含义是 ( A)传值调用 ( B)传址调用 ( C)形式参数 ( D)实际参数 8 若要在子过程 Procl调用后返回两个变量的结果,下列过程定义语句中有效的是 (
6、 A) Sub Procl(n, m) ( B) Sub Procl(ByVal n, m) ( C) Sub Procl(n, BYVal m) ( D) Sub Procl(ByVal n, ByVal m) 9 在过程定义中有语句: Private Sub GetData(ByVal data As Integer) 其中 “ByVal”的含义是 ( A)传值调用 ( B)传址调用 ( C)形式参数 ( D)实际参数 10 要想在过程 Proc调用后返回形参 X和 Y的变化结果,下列定义语句中正确的是 ( A) Sub Proc(x as Integer, Y as Integer) (
7、 B) Sub Proc(ByVal x as Integer, Y as Integer) ( C) Sub Proc(x as Integer, ByVal Y as Integer) ( D) Sub Proc(ByVal x as Integer, ByVal Y as Integer) 11 在 VBA中,下列关于过程的描述中正确的是 ( A)过程的定义可以嵌套,但过程的调用不能嵌套 ( B)过程的定义不可以嵌套,但过程的调用可以嵌套 ( C)过程的定义和过程的调用均可以嵌套 ( D)过程的定义和过程的调用均不能嵌套 12 在窗 体上有一个命令按钮 Command1,编写事件代码如下
8、: Private Sub Commandl_Click() Dim X As Integer, Y As Integer X=12: y=32 Call Proc(x, y) End Sub Public Sub Proch As Integer,ByVal m As Integer n=n Mod 10 m=m Mod 10 End Sub 打开窗体运行后,单击命令按 钮,立即窗口上输出的结果是 ( A) 2 32 ( B) 12 3 ( C) 2 2 ( D) 12 32 13 窗体中有命令按钮 Commandl,事件过程如下: Public Function f(x As Intege
9、r)As Integer Dim Y As Integer x=20 Y=2 f=x*y End Function Pri vate Sub Commandl_Click() Dim Y As Integer Static X As Integer x=10 y=5 y=f(x) Debug Print x; Y End Sub 运行程序,单击命令按钮,则立即窗口中显示的内容是 ( A) 1 0 5 ( B) 10 40 ( C) 20 5 ( D) 20 40 14 如果在被调用的过程中改变了形参变量的值,但又不影响实参变量本身,这种参数传递方式称为 ( A)按值传递 ( B)按地址传递 (
10、 C) ByRef传递 ( D)按形参传递 15 在代码中定义了一个子过程: SUb P(a, b) End Sub 下列调用该过程的形式中,正确的是 ( A) P(10, 20) ( B) Call P ( C) Call P 10, 20 ( D) Call p(10, 20) 16 不属于 VBA提供的程序运行错误处理的语句结构是 ( A) On Error Then标号 ( B) On Error Goto标号 ( C) On Error Resume Next ( D) On Error Goto 0 17 在调试 VBA程序时,能自动被查出来的错误是 ( A)语法错误 ( B) 逻
11、辑错误 ( C)运行错误 ( D)语法错误和逻辑错误 18 下列属于通知或警告用户的命令是 ( A) PrintOut ( B) OutputTo ( C) MsgBox ( D) Set Warnings 19 在 VBA中,能自动检查出来的错误是 ( A)语法错误 ( B)逻辑错误 ( C)运行错误 ( D)注释错误 20 要显示当前过程中的所有变量及对象的取值,可以利用的调试窗口是 ( A)监视窗口 ( B)调用堆栈 ( C)立即窗口 ( D)本地窗口 21 在代码调试时,使用 Debug Print语句显示指定变量结果的窗口是 ( A)立即窗口 ( B)监视窗口 ( C)本地窗口 (
12、D)属性窗口 22 现有一个已经建好的窗体,窗体中有一命令按钮,单击此按钮,将打开“tEmployee”表,如果采用 VBA代码完成,下面语句正确的是 ( A) docmd openform”tEmployee” ( B) docmd openview”tEmployee” ( C) docmd opentable”tEmployee” ( D) docmd openreport”tEmployee” 23 在 VBA中,实现窗体打开操作的命令是 ( A) DoCmd OpenForm ( B) OpenForm ( C) Do OpenForm ( D) DoOpcn Form 24 在 V
13、BA中要打开名为 “学生信息录入 ”的窗体,应使用的语句是 ( A) DoCmd OpenForm”学生信息录入 ” ( B) OpenForm”学生信息录入 ” ( C) DoCmd OpenWindow”学生信息录入 ” ( D) OpenWindow”学生信息录入 ” 25 下列过程的功能是:通过对象变量返回当前窗体的 Recordset属性记录集引 用,消息框中输出记录集的记录 (即窗体记录源 )个数。 Sub GetRecNum() Dim rs As Object Set rs=Me Recordset MsgBox_ End Sub 程序空白处应填写的是 ( A) Count (
14、 B) rs Count ( C) RecordCount ( D) rs RecordCount 26 下列程序段的功能是实现 “学生 ”表中 “年龄 ”字段值加 1 Dim Str As String Str=”_” Docmd RunSQL Str 空白处应填入的程序代码是 ( A)年龄 =年龄 +1 ( B) Update学生 Set年龄 =年龄 +1 ( C) Set年龄 =年龄 +1 ( D) Edit学生 Set年龄 =年龄 +1 27 下列程序的功能是返回当前窗体的记录集 Sub GetRecNum() Dim rs As Object Set rS= MsgBox rs Re
15、cordC0unt End Sub 为保证程序输出记录集 (窗体 记录源 )的记录数,空白处应填入的语句是 ( A) Recordset ( B) Me Recordset ( C) RecordSource ( D) Me RecordSource 28 在 Access中, DAO的含义是 ( A)开放数据库互连应用编辑接口 ( B)数据库访问对象 ( C) Active数据对象 ( D)数据库动态链接库 29 ADO的含义是 ( A)开放数据库互连应用编程接口 ( B)数据库访问对象 ( C)动态链接库 ( D) Active数据对象 30 利用 ADO访问数据库的步骤是: 定义和创建
16、ADO对象实例变量 设置连续参数并打开连接 设置命令参数并执行命令 设置查询参数并打开记录集 操作记录集 关闭、回收有关对象 这些步骤的执行顺序应该是 ( A) ( B) ( C) ( D) 31 ADO对象模型包括 5个对象,分别是 Connection、 Command、 Field、 Error和 ( A) Database ( B) Workspace ( C) RecordSet ( D) DBEngine 32 DAO层次对象模型的顶层对象是 ( A) DBEngine ( B) Workspace ( C) Database ( D) RecordSet 国家二级 ACCESS机
17、试选择题(模块与 VBA编程基础、 VBA数据库编程)模拟试卷 2答案与解析 一、选择题 1 【正确答案】 C 【试题解析】 m每次递增加 2,得到的数值为 2、 4、 6等,在每次循环的开始,则 t的值为 2、 (2+4)、 (2+4+6)等, sum的值为 2, 2+2+4),2+(2+4)+(2+4+6)等符合要求。 【知识模块】 模块与 VBA编程基础 2 【正确答案】 C 【试题解析】 由题意可知, m(6)的值为 5, m(7)=4,所以 m(2+m(6)=m(7)=4。 【知识模块】 模块与 VBA编程基础 3 【正确答案】 B 【试题解析】 根据题意,执行的过程中,各变量的值如
18、下所示;【知识模块】 模块与 VBA编程基础 4 【正确答案】 B 【试题解析】 本题考查 VBA中参数传递的知识。在 VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时没有说明传递 类型,则默认为传址传递,即形参的结果会传递给实参。本例就是传址传递,所以过程调用时 x=a,也就是 5; y=b,也就是 4。在过程内 x的值变为 5 4也就是1 25, y的值变为 5Mod4也就是 1。过程调用结束时 x和 Y的值分别回送给 a和b,所以选项 B正确。 【知识模块】 模块与 VBA编程基础 5 【正确答案】 A 【试题解析】 本题考查函数过程和子过程的知识。函数过程和
19、子过程都是过程,都可以使用 Call语句进行调用,都可以指定参数,并且都可以指定用传址还是传值的方式进行参数传递。它们除了定义的关键字不 同外的根本区别是:函数过程最终会通过过程名返回一个函数值,而予过程不会。 【知识模块】 模块与 VBA编程基础 6 【正确答案】 B 【试题解析】 本题考查变量作用域的知识。在整个程序中定义了一个全局变量x,在命令按钮的单击事件中对这个 x赋值为 10,然后依次调用 s1和 s2;在 s1中对 x自加了 20;在 s2中用 Dim定义了一个局部变量 x,按照局部覆盖全局的原则,在 s2中的操作都是基于局部变量 x而不是全局变量 x。故此最终的输出结果为 30
20、。 【知识模块】 模块与 VBA编程基础 7 【正确答案 】 B 【试题解析】 本题考查 VBA中参数传递的知识。在 VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用 ByVal声明,说明此参数为传值调用;若用 ByRef声明,说明此参数为传址调用:没有说明传递类型,则默认为传址传递。即形参的结果会传递给实参。 【知识模块】 模块与 VBA编程基础 8 【正确答案】 A 【试题解析】 本题考查 VBA中参数传递的知识。在 VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用 ByVal声明,说明 此参数为传值调用,此时形参的变化不
21、会返回到实参;若用 ByRef声明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。 【知识模块】 模块与 VBA编程基础 9 【正确答案】 A 【试题解析】 参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用 ByVal声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用 ByRef声明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。 【知识模块】 模块与 VBA编程基础 10 【正确答案】 A 【试题解析】 本题考查 VBA中参数传递的知识。在 VBA的过程调用时,参数有两种传递方式:传
22、址传递和传值传递。如果在过程声明时形参用 ByVal声明,说明此参数为传值调用;若用 ByRef声明,说明此参数为传址调用;没有说明传递类型,则默认为传址传递。即形参的结果会传递给实参。 【知识模块】 模块与 VBA编程基础 11 【正确答案】 B 【试题解析】 本题考查过程的知识。过程可以嵌套调用,但是不得嵌套定义。 【知识模块】 模块与 VBA编程基础 12 【正确答案】 A 【试题解析】 在 VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用 ByVal声明,说明此参数为传值调用,此时形参的变化不会返回到实参:若用 ByRef声明,说明此参数为传址调用,此
23、时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。因此调用函数实参 x是传址方式传递,实参 Y为传值方式传递,调用函数后 x值在函数中随形参改变,即 x=x mod 10=12 rood10=2,而 Y不随之改变。 【知识模块】 模块与 VBA编程基础 13 【正确答案】 B 【试题解析】 static为静态变量,要在过程的实例间保留局部变量的值,用此变量,它的持续时问是整个模块执行的时间,但它的有效作用范嗣是由其定义位置决定的。 【知识模块】 模块与 VBA编程基础 14 【正确答案】 A 【试题解析】 在 VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程
24、声明时形参用 ByVal声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用 ByRef声明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传 递类型,则默认为传址传递。 【知识模块】 模块与 VBA编程基础 15 【正确答案】 D 【试题解析】 子过程的调用形式有两种: Call子过程名 (实参 ) 或 子过程名 实参 说明: 用 Call关键字调用了过程时,若有实参,则多个实参之间必须用逗号分隔,并把实参用圆括号括起,无实参时可省略圆括号:不使用 Call关键字,若有实参,也不需用圆括号括起。 若实参要获得子过程的返回值,则实参只能是变量,不能是常量、表达式或控件名
25、。 【 知识模块】 模块与 VBA编程基础 16 【正确答案】 A 【试题解析】 本题考查 VBA中程序运行错误处理的知识。在 VBA中,程序运行错误处理的语句有三种,分别是: On Error GoTo标号,在遇到错误发生时程序转移到标号所指位置代码执行: On Error Resume Next,在遇到错误发生时不会考虑错误并继续执行下一条语句; On Error GoTo 0,关闭错误处理。 【知识模块】 模块与 VBA编程基础 17 【正确答案】 A 【试题解析】 在调试 VBA程序时,通过语法分 析能自动检查语法是否错误,而不能检查逻辑错误。 【知识模块】 模块与 VBA编程基础 1
26、8 【正确答案】 C 【试题解析】 PrintOut:打印打开的数据库中的活动对象,也可以打印数据表、窗体、报表、数据访问页和模块。 OutputTo:可将 Access数据库对象中的数据输出到 Excel、 MS-DOS文本文件或多信息文件格式及其他格式的文件中。 MsgBox:显示包含警告信息或其他信息的消息框。 【知识模块】 模块与 VBA编程基础 19 【正确答案】 A 【试 题解析】 在 VBA中,能自动检查出来的错误是语法错误,如有语法错误则程序不会继续运行,逻辑错误、注释错误是不能自动检查出来的,逻辑错误需要调试,对结粜进行分析,需要人为检查,注释错误不影响程序执行。 【知识模块
27、】 模块与 VBA编程基础 20 【正确答案】 D 【试题解析】 本题考查程序调试的知识。程序调试的时候可以利用几种辅助窗口来辅助调试,它们分别是: “本地 ”窗口一一显示当前过程中变量的值; “立即 ”窗口 当应用程序处于中断模式时,允许运行代码或查询变量值; “监视 ”窗口 显示选定表达式的 值;快速监视一一当应用程序处于中断模式时,列出表达式的当前值;调用堆栈在 中断模式中,显示一个对话框,其中列出所有被调用且未完成运行的过程。 【知识模块】 模块与 VBA编程基础 21 【正确答案】 A 【试题解析】 立即窗口是用来进行快速的表达式计算、简单方法的操作及进行程序测试的工作窗口。在代码窗
28、口编写代码时,要在立即窗口打印变量或表达式的值,可使用 Debug Print语句。 【知识模块】 模块与 VBA编程基础 22 【正确答案】 C 【试题解析】 本题考查 VBA中如何 打开对象的知识。在 VBA中,打开表的命令格式为: DoCmd OpenTable表名。另外还需知道打开查询使用DoCmd OpenQuery:打开窗体使用 DoCmd OpenForm;打开报表使用DoCmd OpenReports:打开视图使用 DoCmd OpenView:关闭窗体和报表使用 DoCmd Close等。 【知识模块】 VBA数据库编程 23 【正确答案】 A 【试题解析】 DoCmd Op
29、enForm为打开窗体命令。 【知识模块】 VBA数据库编程 24 【正确答案】 A 【试题解析】 本题考查 VBA中如何打开对象的知识。在 VBA中,打开窗体的命令为: Docmd OpenForm。另外还需知道打开表使用命令Docmd OpenTable:打开报表使用命令 Docmd OpenReport;打开查询使用命令 Docmd OpenQuery;关闭窗体和报表使用命令 Docmd Close。 【知识模块】 VBA数据库编程 25 【正确答案】 D 【试题解析】 RecordCount属性返回 Long值,指示 Recordset中的记录数目。由于对象变量 rs返回当前 窗体的
30、RecordSet属性记录集引用,所以输出记录个数时的代码写成 rs RecordCount。 【知识模块】 VBA数据库编程 26 【正确答案】 B 【试题解析】 在 SQL语句中 UPDATE可以更新数据表,格式 UPDATE数据表名 SET字段名 =设置结果。 【知识模块】 VBA数据库编程 27 【正确答案】 B 【试题解析】 Me Recordset为记录集, Me RecordSource是记录源,本题要求输出记录集的记录数。 【知识模块】 VBA数据库编程 28 【正确答案】 B 【试题解析】 本题考查 VBA中数据库访问接口的知识。在 VBA中,数据库访问接口有 3种:升放数据
31、库互连 (ODBC)、数据访问对象 (DAO)和 Active数据对象(ADO) 【知识模块】 VBA数据库编程 29 【正确答案】 D 【试题解析】 本题考查 VBA中数据库访问接口的知识。在 VBA中数据库访问接口有 3种:开放数据库互连 (ODBC)、数据访问对象 (DAO)和 Active数据对参(ADO)。 【知识模块】 VBA数据库编程 30 【正确答案】 D 【试题解析】 ADO访问数据厍的顺序为: 定义实例变量; 使用 Connection对象连接到数据源: 设置参数并执行命令: 使用 Recordset对象打开记录集; 在程序中操作记录集; 最后关闭回收有关对象。 【知识模块
32、】 VBA数据库编程 31 【正确答案】 C 【试题解析】 ADO对象模型包括 5个对象,分别为 Connection对象、Command对象、 Recordset对象、 Field对象和 Error对象。 Connection对象:用于建立与数据库的连接。通过连接可从应用 程序访问数据源,它保存诸如指针类型、连接字符串、查询超时、连接超时和缺省数据库这样的连接信息。 Command对象:在建立数据库连接后,可以发出命令操作数据源。一般情况下, Command对象可以在数据库中添加、删除或更新数据,或者在表中进行数据查询。 Command对象在定义查询参数或执行存储过程时非常有用。 Recordset对象:表示数据操作返回的记录集。这个记录集是一个连接的数据库中的表,或者是 Command对象的执行结果返回的记录集。所有对数据的操作几乎都是在 Recordset对象 中完成的,可以完成指定行、移动行、添加、更改和删除记录操作。 Field对象:表示记录集中的字段数掘信息。 Error对象:表示数据提供程序出错时的扩展信息。 【知识模块】 VBA数据库编程 32 【正确答案】 A 【试题解析】 DAO模型的分层结构包含了一个复杂的可编程数据关联对象的层次,其中 DBEngine对象处于最顶层,它是模型中唯一不被其他对象所包含的数据库引擎本身。 【知识模块】 VBA数据库编程
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1