1、二级 ACCESS-66 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:42,分数:100.00)1.运行下列程序,结果是 Private Sub Command32_Click() f0=1:f1=1:k=1 Do While k=5 f=f0+f1 f0=f1 f1=f k=k+1 Loop MsgBox “f=“ Next I End Sub(分数:3.00)A.1 5 7 9B.4 6 8C.3 5 7 9D.2 3 5 710.运行下列过程,当输入一组数据:10,20,50,80,40,30,90,100,60,70,输出的结果应该是 Sub p1() D
2、im i,j,arr(11) As Integer k=1 While k=10 arr(k)=Val(InputBox(“请输入第“ y End Sub 运行程序,单击命令按钮,则立即窗口中显示的内容是(分数:2.00)A.10 5B.10 40C.20 5D.20 4024.如果在被调用的过程中改变了形参变量的值,但又不影响实参变量本身,这种参数传递方式称为(分数:2.00)A.按值传递B.按地址传递C.ByRef 传递D.按形参传递25.在代码中定义了一个子过程: Sub P(a,b) End Sub 下列调用该过程的形式中,正确的是(分数:2.00)A.P(10,20)B.Call p
3、C.Call p 10,20D.Call p(10,20)26.不属于 VBA 提供的程序运行错误处理的语句结构是(分数:2.00)A.On Error Then 标号B.On Error Goto 标号C.On Error Resume NextD.On Error Goto 027.在调试 VBA 程序时,能自动被查出来的错误是(分数:2.00)A.语法错误B.逻辑错误C.运行错误D.语法错误和逻辑错误28.下列属于通知或警告用户的命令是(分数:2.00)A.PrintOutB.OutputToC.MsgBoxD.Set Warnings29.在 VBA 中,能自动检查出来的错误是(分数:
4、2.00)A.语法错误B.逻辑错误C.运行错误D.注释错误30.要显示当前过程中的所有变量及对象的取值,可以利用的调试窗口是(分数:2.00)A.监视窗口B.调用堆栈C.立即窗口D.本地窗口31.在代码调试时,使用 Debug.Print 语句显示指定变量结果的窗口是(分数:2.00)A.立即窗口B.监视窗口C.本地窗口D.属性窗口32.现有一个已经建好的窗体,窗体中有一命令按钮,单击此按钮,将打开“tEmployee”表,如果采用VBA 代码完成,下面语句正确的是(分数:2.00)A.docmd.openform “tEmployee“B.docmd.openview “tEmployee“
5、C.docmd.opentable “tEmployee“D.docmd.openreport “tEmployee“33.在 VBA 中,实现窗体打开操作的命令是(分数:2.00)A.DoCmd.OpenFormB.OpenFormC.Do.OpenFormD.DoOpcn.Form34.在 VBA 中要打开名为“学生信息录入”的窗体,应使用的语句是(分数:2.00)A.DoCmd.OpenForm“学生信息录入“B.OpenForm“学生信息录入“C.DoCmd.OpenWindow“学生信息录入“D.OpenWindow“学生信息录入“35.下列过程的功能是:通过对象变量返回当前窗体的
6、Recordset 属性记录集引用,消息框中输出记录集的记录(即窗体记录源)个数。 Sub GetRecNum() Dim rs As Object Set rs=Me.Recordset MsgBox_ End Sub 程序空白处应填写的是(分数:2.00)A.CountB.rs.CountC.RecordCountD.rs.RecordCount36.下列程序段的功能是实现“学生”表中“年龄”字段值加 1 Dim Str As String Str=“_“ Docmd.RunSQL Str 空白处应填入的程序代码是(分数:2.00)A.年龄=年龄+1B.Update 学生 Set 年龄=年
7、龄+1C.Set 年龄=年龄+1D.Edit 学生 Set 年龄=年龄+137.下列程序的功能是返回当前窗体的记录集 Sub GetRecNum() Dim rs As Object Set rS= MsgBox rs.RecordCount End Sub 为保证程序输出记录集(窗体记录源)的记录数,空白处应填入的语句是(分数:2.00)A.RecordsetB.Me.RecordsetC.RecordSourceD.Me.RecordSource38.在 Access 中,DAO 的含义是(分数:2.00)A.开放数据库互连应用编辑接口B.数据库访问对象C.Active 数据对象D.数据库
8、动态链接库39.ADO 的含义是(分数:2.00)A.开放数据库互连应用编程接口B.数据库访问对象C.动态链接库D.Active 数据对象40.利用 ADO 访问数据库的步骤是: 定义和创建 ADO 对象实例变量 设置连续参数并打开连接 设置命令参数并执行命令 设置查询参数并打开记录集 操作记录集 关闭、回收有关对象 这些步骤的执行顺序应该是(分数:2.00)A.B.C.D.41.ADO 对象模型包括 5 个对象,分别是 Connection、Command、Field、Error 和(分数:2.00)A.DatabaseB.WorkspaceC.RecordSetD.DBEngine42.D
9、AO 层次对象模型的顶层对象是(分数:2.00)A.DBEngineB.WorkspaceC.DatabaseD.RecordSet二级 ACCESS-66 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:42,分数:100.00)1.运行下列程序,结果是 Private Sub Command32_Click() f0=1:f1=1:k=1 Do While k=5 f=f0+f1 f0=f1 f1=f k=k+1 Loop MsgBox “f=“ Next I End Sub(分数:3.00)A.1 5 7 9B.4 6 8C.3 5 7 9D.2 3 5 7 解析
10、:解析 根据题意,两个 For 执行的过程中,各变量的值如下所示: i i/2 j jsqr(i) 2 1 2 成立 3 1.5 3 成立 4 2 2 不成立 5 2.5 3 成立 6 3 2 不成立 7 3.5 5 成立 8 4 2 不成立 9 4.5 3 不成立 10 5 2 不成立 由上表可知,当 i 为 2、3、5、7 时,在立即窗口中显示 i 的值。10.运行下列过程,当输入一组数据:10,20,50,80,40,30,90,100,60,70,输出的结果应该是 Sub p1() Dim i,j,arr(11) As Integer k=1 While k=10 arr(k)=Val
11、(InputBox(“请输入第“ y End Sub 运行程序,单击命令按钮,则立即窗口中显示的内容是(分数:2.00)A.10 5B.10 40 C.20 5D.20 40解析:解析 static 为静态变量,要在过程的实例间保留局部变量的值,用此变量,它的持续时间是整个模块执行的时间,但它的有效作用范围是由其定义位置决定的。24.如果在被调用的过程中改变了形参变量的值,但又不影响实参变量本身,这种参数传递方式称为(分数:2.00)A.按值传递 B.按地址传递C.ByRef 传递D.按形参传递解析:解析 在 VBA 的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用
12、 ByVal 声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用 ByRef 声明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。25.在代码中定义了一个子过程: Sub P(a,b) End Sub 下列调用该过程的形式中,正确的是(分数:2.00)A.P(10,20)B.Call pC.Call p 10,20D.Call p(10,20) 解析:解析 子过程的调用形式有两种: Call 子过程名(实参) 或 子过程名实参 说明: 用 Call 关键字调用子过程时,若有实参,则多个实参之间必须用逗号分隔,并把实参用圆括号括起,无实参时可
13、省略圆括号;不使用 Call 关键字,若有实参,也不需用圆括号括起。 若实参要获得子过程的返回值,则实参只能是变量,不能是常量、表达式或控件名。26.不属于 VBA 提供的程序运行错误处理的语句结构是(分数:2.00)A.On Error Then 标号 B.On Error Goto 标号C.On Error Resume NextD.On Error Goto 0解析:解析 本题考查 VBA 中程序运行错误处理的知识。在 VBA 中,程序运行错误处理的语句有三种,分别是:On Error GoTo 标号,在遇到错误发生时程序转移到标号所指位置代码执行;On Error Resume Nex
14、t,在遇到错误发生时不会考虑错误并继续执行下一条语句;On Error Go To 0,关闭错误处理。27.在调试 VBA 程序时,能自动被查出来的错误是(分数:2.00)A.语法错误 B.逻辑错误C.运行错误D.语法错误和逻辑错误解析:解析 在调试 VBA 程序时,通过语法分析能自动检查语法是否错误,而不能检查逻辑错误。28.下列属于通知或警告用户的命令是(分数:2.00)A.PrintOutB.OutputToC.MsgBox D.Set Warnings解析:解析 PrintOut:打印打开的数据库中的活动对象,也可以打印数据表、窗体、报表、数据访问页和模块。 OutputTo:可将 A
15、ccess 数据库对象中的数据输出到 Excel、MS-DOS 文本文件或多信息文件格式及其他格式的文件中。 MsgBox:显示包含警告信息或其他信息的消息框。29.在 VBA 中,能自动检查出来的错误是(分数:2.00)A.语法错误 B.逻辑错误C.运行错误D.注释错误解析:解析 在 VBA 中,能自动检查出来的错误是语法错误,如有语法错误则程序不会继续运行,逻辑错误、注释错误是不能自动检查出来的,逻辑错误需要调试,对结果进行分析,需要人为检查,注释错误不影响程序执行。30.要显示当前过程中的所有变量及对象的取值,可以利用的调试窗口是(分数:2.00)A.监视窗口B.调用堆栈C.立即窗口D.
16、本地窗口 解析:解析 本题考查程序调试的知识。程序调试的时候可以利用几种辅助窗口来辅助调试,它们分别是:“本地”窗口显示当前过程中变量的值;“立即”窗口当应用程序处于中断模式时,允许运行代码或查询变量值;“监视”窗口显示选定表达式的值;快速监视当应用程序处于中断模式时,列出表达式的当前值;调用堆栈在中断模式中,显示一个对话框,其中列出所有被调用且未完成运行的过程。31.在代码调试时,使用 Debug.Print 语句显示指定变量结果的窗口是(分数:2.00)A.立即窗口 B.监视窗口C.本地窗口D.属性窗口解析:解析 立即窗口是用来进行快速的表达式计算、简单方法的操作及进行程序测试的工作窗口。
17、在代码窗口编写代码时,要在立即窗口打印变量或表达式的值,可使用 Debug.Print 语句。32.现有一个已经建好的窗体,窗体中有一命令按钮,单击此按钮,将打开“tEmployee”表,如果采用VBA 代码完成,下面语句正确的是(分数:2.00)A.docmd.openform “tEmployee“B.docmd.openview “tEmployee“C.docmd.opentable “tEmployee“ D.docmd.openreport “tEmployee“解析:解析 本题考查 VBA 中如何打开对象的知识。在 VBA 中,打开表的命令格式为:DoCmd.OpenTable表
18、名。另外还需知道打开查询使用 DoCmd.OpenQuery;打开窗体使用 DoCmd.OpenForm;打开报表使用DoCmd.OpenReports;打开视图使用 DoCmd.OpenView;关闭窗体和报表使用 DoCmd.Close 等。33.在 VBA 中,实现窗体打开操作的命令是(分数:2.00)A.DoCmd.OpenForm B.OpenFormC.Do.OpenFormD.DoOpcn.Form解析:解析 DoCmd.OpenForm 为打开窗体命令。34.在 VBA 中要打开名为“学生信息录入”的窗体,应使用的语句是(分数:2.00)A.DoCmd.OpenForm“学生信
19、息录入“ B.OpenForm“学生信息录入“C.DoCmd.OpenWindow“学生信息录入“D.OpenWindow“学生信息录入“解析:解析 本题考查 VBA 中如何打开对象的知识。在 VBA 中,打开窗体的命令为:Docmd.OpenForm。另外还需知道打开表使用命令 Docmd.OpenTable;打开报表使用命令 Docmd.OpenReport;打开查询使用命令 Docmd.OpenQuery;关闭窗体和报表使用命令 Docmd.Close。35.下列过程的功能是:通过对象变量返回当前窗体的 Recordset 属性记录集引用,消息框中输出记录集的记录(即窗体记录源)个数。
20、Sub GetRecNum() Dim rs As Object Set rs=Me.Recordset MsgBox_ End Sub 程序空白处应填写的是(分数:2.00)A.CountB.rs.CountC.RecordCountD.rs.RecordCount 解析:解析 RecordCount 属性返回 Long 值,指示 Recordset 中的记录数目。由于对象变量 rs 返回当前窗体的 RecordSet 属性记录集引用,所以输出记录个数时的代码写成 rs.RecordCount。36.下列程序段的功能是实现“学生”表中“年龄”字段值加 1 Dim Str As String
21、Str=“_“ Docmd.RunSQL Str 空白处应填入的程序代码是(分数:2.00)A.年龄=年龄+1B.Update 学生 Set 年龄=年龄+1 C.Set 年龄=年龄+1D.Edit 学生 Set 年龄=年龄+1解析:解析 在 SQL 语句中 UPDATE 可以更新数据表,格式 UPDATE 数据表名 SET 字段名=设置结果。37.下列程序的功能是返回当前窗体的记录集 Sub GetRecNum() Dim rs As Object Set rS= MsgBox rs.RecordCount End Sub 为保证程序输出记录集(窗体记录源)的记录数,空白处应填入的语句是(分数
22、:2.00)A.RecordsetB.Me.Recordset C.RecordSourceD.Me.RecordSource解析:解析 Me.Recordset 为记录集,Me.RecordSource 是记录源,本题要求输出记录集的记录数。38.在 Access 中,DAO 的含义是(分数:2.00)A.开放数据库互连应用编辑接口B.数据库访问对象 C.Active 数据对象D.数据库动态链接库解析:解析 本题考查 VBA 中数据库访间接口的知识。在 VBA 中,数据库访间接口有 3 种:开放数据库互连(ODBC)、数据访问对象(DAO)和 Active 数据对象(ADO)。39.ADO
23、的含义是(分数:2.00)A.开放数据库互连应用编程接口B.数据库访问对象C.动态链接库D.Active 数据对象 解析:解析 本题考查 VBA 中数据库访间接口的知识。在 VBA 中,据库访间接口有 3 种:开放数据库互连(ODBC)、数据访问对象(DAO)和 Active 数据对(ADO)。40.利用 ADO 访问数据库的步骤是: 定义和创建 ADO 对象实例变量 设置连续参数并打开连接 设置命令参数并执行命令 设置查询参数并打开记录集 操作记录集 关闭、回收有关对象 这些步骤的执行顺序应该是(分数:2.00)A.B.C.D. 解析:解析 ADO 访问数据库的顺序为:定义实例变量;使用 C
24、onnection 对象连接到数据源;设置参数并执行命令;使用 Recordset 对象打开记录集;在程序中操作记录集;最后关闭回收有关对象。41.ADO 对象模型包括 5 个对象,分别是 Connection、Command、Field、Error 和(分数:2.00)A.DatabaseB.WorkspaceC.RecordSet D.DBEngine解析:解析 ADO 对象模型包括 5 个对象,分别为 Connection 对象、Command 对象、Recordset 对象、Field 对象和 Error 对象。 Connection 对象:用于建立与数据库的连接。通过连接可从应用程序
25、访问数据源,它保存诸如指针类型、连接字符串、查询超时、连接超时和缺省数据库这样的连接信息。 Command 对象:在建立数据库连接后,可以发出命令操作数据源。一般情况下,Command 对象可以在数据库中添加、删除或更新数据,或者在表中进行数据查询。Command 对象在定义查询参数或执行存储过程时非常有用。 Recordset 对象:表示数据操作返回的记录集。这个记录集是一个连接的数据库中的表,或者是Command 对象的执行结果返回的记录集。所有对数据的操作几乎都是在 Recordset 对象中完成的,可以完成指定行、移动行、添加、更改和删除记录操作。 Field 对象:表示记录集中的字段数据信息。 Error 对象:表示数据提供程序出错时的扩展信息。42.DAO 层次对象模型的顶层对象是(分数:2.00)A.DBEngine B.WorkspaceC.DatabaseD.RecordSet解析:解析 DAO 模型的分层结构包含了一个复杂的可编程数据关联对象的层次,其中 DBEngine 对象处于最顶层,它是模型中唯一不被其他对象所包含的数据库引擎本身。