1、国家二级( ACCESS)机试模拟试卷 132及答案与解析 一、选择题 1 下列数据结构中,能用二分法进行查找的是 ( )。 ( A)无序线性表 ( B)线性链表 ( C)二叉链表 ( D)顺序存储的有序表 2 下列叙述中,不属于设计准则的是 ( )。 ( A)提高模块独立性 ( B)使模块的作用域在该模块的控制域中 ( C)设计成多入口、多出口模块 ( D)设计功能可预测的模块 3 下列队列的描述中,正确的是 ( )。 ( A)队列属于非线性表 ( B)队列在队尾删除数据 ( C)队 列按 “先进后出 ”进行数据操作 ( D)队列按 “先进先出 ”进行数据操作 4 对下列二叉树进行前序遍历的
2、结果为 ( )。 ( A) ABCDEFGH ( B) ABDGEHCF ( C) GDBEHACF ( D) GDHEBFCA 5 对于长度为 n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是 ( )。 ( A)冒泡排序为 n(n-1) 2 ( B)简单插入排序为 n ( C)希尔排序为 n ( D)快速排序为 n 2 6 为了使模块尽可能独立,要求 ( )。 ( A)内聚程度要尽量 高,耦合程度要尽量强 ( B)内聚程度要尽量高,耦合程度要尽量弱 ( C)内聚程度要尽量低,耦合程度要尽量弱 ( D)内聚程度要尽量低,耦合程度要尽量强 7 下列选项中不属于软件生命周期开发阶段
3、任务的是 ( )。 ( A)软件测试 ( B)概要设计 ( C)软件维扩 ( D)详细设计 8 数据独立性是数据库技术的重要特点之一。所谓数据独立性是指 ( )。 ( A)数据与程序独立存放 ( B)不同的数据被存放在不同的文件中 ( C)不同的数据只能被对应的应用程序所使用 ( D)以上三种说法都不 对 9 在学校中, “班级 ”与 “学生 ”两个实体集之间的联系属于 ( )关系。 ( A)一对一 ( B)一对多 ( C)多对一 ( D)多对多 10 软件调试的目的是 ( )。 ( A)发现错误 ( B)改善软件的性能 ( C)改正错误 ( D)验证软件的正确性 11 Access数据库具有
4、很多特点,下列叙述中,是 Access特点的是 ( )。 ( A) Access数据库可以保存多种数据类型,但是不包括多媒体数据 ( B) Access可以通过编写应用程序来操作数据库中的数据 ( C) Access不能支持 IntemetfIntranet应用 ( D) Access作为网状数据库模型支持 C S应用系统 12 如图所示的数据模型属于 ( )。 ( A)关系模型 ( B)层次模型 ( C)网状模型 ( D)实体联系模型 13 “输入掩码 ”属性用于设定控件的输入格式,其中仅可以对 ( )数据进行输入掩码向导的设置。 ( A)文本型和数值型 ( B)文本型和逻辑型 ( C)文本
5、型和日期时间型 ( D)数值型和日期时间型 14 己知 D1=#20035 28 20: 8: 36#, D2=#2004-2-29 10: 40: 11#,执行。DateDiff(“m”, D1, D2)后,返回 ( )。 ( A) 1 ( B) 9 ( C) 10 ( D)函数值错误 15 对 “将信息系 2010年以前参加工作的教师的职称改为副教授 ”,合适的查询为( )。 ( A)生成表查询 ( B)更新查询 ( C)删除查询 ( D)追加查询 16 在标准模块的变量定义区域中,用 ( )关键字说明的变量属于全局范围的变量。 ( A) Dim ( B) Private ( C) Pub
6、lic ( D) Static 17 Access中,以下不属于查询操作方式的是 ( )。 ( A)选择查询 ( B)参数查询 ( C)准则查询 ( D)操作查询 18 创建交叉表查询,在交叉表行上不止有一个的是 ( )。 ( A)行标题、列标题和值 ( B)列标题 ( C)行标题 ( D)值 19 用 SQL描述 “在教师表中查找男教师的全部信息 ”,以下描述正确的是 ( )。 ( A) SELECT FROM教师表。 IF(性别 =男 ) ( B) SELECL陛别 FROM教师表 IF(性别 =男 ) ( C) SELECT*FROM教师表 WHERE(性别 =男 ) ( D) SELE
7、CT*FROM性别 WHERE(性别 =男 ) 20 在 tStud表中查询性别为 “女 ”,年级为 “07”或 “08”的学生姓名和简历的 SQL查询语句为 ( )。 ( A) SELECT姓名,简历 FROM tStud WH ERE性别 =“女 ”AND年级 IN(“07”,“08”) ( B) SELECT姓名,简历 FROM tStud WHERE性别 =“女 ”AND年级NOTINP07”, ”08”) ( C) SELECT姓名,简历 FROM tStud WHERE性别 =“女 ”AND年级 =“07” AND年级 =”08, ( D) SELECI姓名,简历 FROM tSm
8、d WHERE性别 =“女 ”AND年级 =“07”OR年级=“08” 21 以下不是控件的类型的是 ( )。 ( A)结合型 ( B)非结合型 ( C)计算型 ( D)非计算型 22 通过 ACCESS窗体,用户可以完成的功能有 ( )。 输入数据 编辑数据 存储数据 以行、列形式显示数据 显示和查询表中的数据 导出数据 ( A) ( B) ( C) ( D) 23 下面对象不能作为窗体记录源的是 ( )。 ( A)表 ( B)查询 ( C) Select语句 ( D)报表 24 窗体中有一命令按钮,名称为 Commandl。要求在窗体视图中单击此命令按钮后,命令按钮上面的文字变为加粗,实现
9、该操作的 VBA语句是 ( )。 ( A) Commandl FontJnderLine=true ( B) Commandl Fontltalic=true ( C) Commandl FontBold=true ( D) Commandl FontName=true 25 查看报表输出效果可以使用 ( )命令。 ( A) “打印 ” ( B) “打印预览 ” ( C) “页面设置 ” ( D) “数据库属性 ” 26 以下关于报表的叙述不正确的是 ( )。 ( A)报表可以输入数据 ( B)报表只能输出数据 ( C)报表可以控制输出数据的内容 ( D)报表可以对输出数据排序和分组 27 报
10、表记录分组操作时,首先要选定 ( ),在这些字段上值相同的记录数据归为同一组。 ( A)主键 ( B)分组字段 ( C)自动编号 ( D)排序字段 28 键盘事件是操作键盘所引发的 事件,下列不属于键盘事件的是 ( )。 ( A)击键 ( B)键按下 ( C)键释放 ( D)键锁定 29 使用 ( )创建报表时会提示用户输入相关的数据源、字段和报表版面格式等信息。 ( A)自动报表 ( B)报表向导 ( C)图标向导 ( D)标签向导 30 在宏的表达式中要引用报表 exam上控件 Name的值,可以使用引用式 ( )。 ( A) Reports!Exam!Name ( B) Reports!
11、Name ( C) exam!Name ( D) Reports exam Name 31 阅读下面的程序段: sum=0 for i=1 to 3 forj=i to 4 for k=j to 5 sum=sum+1 next kj, i 执行上面的三重循环后, sum的值为 ( )。 ( A) 14 ( B) 23 ( C) 28 ( D) 30 32 以下关于 VBA运算符优先级比较,正确的是 ( )。 ( A)算术运算符逻辑运算符连接运算符 ( B)逻辑运算符关系运算符算术运算符 ( C)算术运算符关系运算符逻辑运 算符 ( D)连接运算符逻辑运算符算术运算符 33 在窗体中添加一个名
12、称为 Commandl的命令按钮,然后编写如下程序: Private Sub f(ByVal x As Integer) x=x+4 End Sub Private Sub Command l_Click() i=3 Call f(i) If i 4 Then i=i*2 MsgBox i End Sub 窗体打开运行后,单击命令按钮,则消息框的输出结果为 ( )。 ( A) 3 ( B) 4 ( C) 6 ( D) 7 34 在窗体上添加一个命令按钮 (名为 Commandl),然后编写如下程序: Pfivme Sub Command1 Click() Dim a As Integer,b
13、As Integer x=10: y=20 MsgBox IIf(xy,x, y) End Sub 打开窗体运行后,单击命令按钮,消息框的输出结果为 ( )。 ( A) 10 ( B) 20 ( C) T ( D) F 35 下面程序的功能是计算折旧年限。假设一台机器的原 价值为 100万元,如果每年的折旧率为 3,多 少年后它的价值不足 60万元。则横线处应填入 ( )。 y=0: p=100: x=0 03 Do p=p*(1-x): y=y+1 Loop Until_ MsgBox y ( A) p60 ( D) p=3 MsgBox a ( A) 1 ( B) 12 ( C) 123
14、( D) 1234 39 执行下面的程序,消息框里显示的结果是 _。 Private Sub Form_Click() Dim Str As String, S As String, k As Integer Str=“abc”: S=Str Fork=Len(Str)To 1 Step一 1 S=S (Mid(Str,k, 1) Next k MsgBox S End Sub ( A) abc ( B) abccba ( C) cbacba ( D) abcabc 40 设有命令按钮 Commandl的单击事件过程,代码如下: Private Sub Command l Click() Di
15、m a(3, 3)As Integer For i=1 To 3 For j=1 To 3 a(ij)=i*j+i+j Next i Next i Sum=0 For i=1 To 3 Sum=Sum+a(i, 4一 i) Next i MsgBox Sum End Sub 运行程序,单击命令按钮,消息框输出结果是 ( )。 ( A) 7 ( B) 8 ( C) 15 ( D) 22 二、基本操作题 41 在考生文件夹下, “sampl accdb”数据库文件中己建立两个表对象 (名为 “员工表 ”和 “部门表 ”)。试按以下要求,完成表的各种操作: (1)分析两个表对象 “员工表 ”和 “部
16、门表 ”的构成,判断其中的外键属性,将其属性名称作为 “员工表 ”的对象说明内容进行设置。 (2)将 “员工表 ”中有摄影爱好的员工其 “备注 ”字段的值设为 True(即复选框里打上勾 )。 (3)删除员工表中年龄超过 55岁 (不含 55岁 )的员工记录。 (4)将考生文件夹下文本文件 Test txt中的数据导入追加到当前数据库的 “员工表 ”相应字段中。 (5)设置相关属性,使表对象 “员工表 ”中密码字段最多只能输入五位 0-9的数字。 (6)建立 “员工表 “和 “部门表 ”的表间关系,并实施参照完整。 三、简单应用题 42 考生文件夹下存在一个数据库文件 “samp2 accdb
17、“,里面已经设计好 “tStud”、“tCourse”、 “tScore”三个关联表对象和一个空表 “tTemp”。试按以下要求完成设计: (1)创建一个查询,查找并显示有书法或绘画爱好学生的 “学号 ”、 “姓名 ”、 “性别 ”和“年龄 ”四个字段内容,所建查询命名为 “qT1”。 (2)创建一个查询,查找 成绩低于所有课程总平均分的学生信息,并显示 “姓名 ”、“课程名 ”和 “成绩 ”三个字段内容,所建查询命名为 “qT2”。 (3)以表对象 “tScore”和 “tCourse”为基础,创建一个交叉表查询。要求:选择学生的“学号 ”为行标题、 “课程号 ”为列标题来统计输出学分小于
18、3分的学生平均成绩,所建查询命名为 “qT3”。 注意:交叉表查询不做各行小计。 (4)创建追加查询,将表对象 “tStud”中 “学号 ”、 “姓名 ”、 “性别 ”和 “年龄 ”四个字段内容追加到目标表 “tTemp”的对应字段内,所建查询命名为 “qT4”。 (规定: “姓名 ”字段的第一个字符为姓,剩余字符为名。将姓名分解为姓和名两部分,分别追加到目标表的 “姓 ”、 “名 ”两个字段中 ) 四、综合应用题 43 考生文件夹下存在一个数据库文件 “samp3 accdb”,里面已经设计好表对象“tStud”和查询对象 “qStud”,同时还设计出以 “qStud”为数据源的报表对象 “
19、rStud”。试在此基础上按照以下要求补充报表设计: (1)在报表的报表页眉节区位置添加一个标签控件,其名称为 “bTitle”,标题显示为“团员基本信息表 ”。 (2)在报表的主体节区添加一个文本框 控件 9显示 “性别 ”字段值。该控件放置在距上边 0 1厘米、距左边 5 2厘米处,并命名为 “tSex”。 (3)在报表页脚节区添加一个计算控件,计算并显示学生平均年龄。计算控件放置在距上边 0 2厘米、距左边 4 5厘米处,并命名为 “tAvg”。 (4)按 “编号 ”字段前四位分组统计各组记录个数,并将统计结果显示在组页脚节区。计算控件命名为 “tCount”。 注意:不允许改动数据库中
20、的表对象 “tStud”和查询对象 “qSmd“,同时也不允许修改报表对象 “rStud”中已有的控件和属性。 国家二级( ACCESS)机试模拟试卷 132答案与解析 一、选择题 1 【正确答案】 D 【试题解析】 二分法查找只适用于顺序存储的有序表,表中的元素按值从小到大排列。 2 【正确答案】 C 【试题解析】 大量软件设计表明,以下的设计准则是可以借鉴为设计的指导和对软件结构图进行优化,这些准则是:提高模块独立性;模块规模适中;深度、宽度、扇出和扇入适当;使模块的作用域在该模块的控制域中;应减少模块的接口和界面的复杂性;设计成单入口、单出口的模块;设计功能可预测的模块。 3 【正确答案
21、】 D 【试题解析 】 队列是只允许在一端删除,在另一端插入的顺序表,允许删除的一端叫做队头,允许插入的一端叫做队尾。队列的操作数是依据先进先出的原则进行的。因此队列亦称作先进先出的线性表,或后进后出的线性表。 4 【正确答案】 B 【试题解析】 遍历就是不重复地访问二叉树的所有结点。二叉树遍历的方法有 3种:前序遍历、中序遍历和后序遍历。记住 3种遍历的顺序: 前序,访问根一按前序遍历左子树一按前序遍历右子树; 中序,按中序遍历左子树一访问根一按中序遍历右子树; 后序,按后序遍历左子树一按后序遍历右子树一访问根。所以对 该二叉树的中序遍历结果为 ABDGEHCF。 5 【正确答案】 A 【试
22、题解析】 在最坏情况下,冒泡排序所需要的比较次数为 n(n-1) 2;简单插入排序所需要的比较次数为 n(n-1) 2;希尔排序所需要的比较次数为 O(n1.5);堆排序所需要的比较次数为 O(inlog2n)。 6 【正确答案】 B 【试题解析】 模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越 强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。 7 【正确答案】 C 【试题
23、解析】 软件生命周期分为软件定义、软件开发及软件运行维护三个阶段,其中开发阶段包括概要设计、详细设计、实现和测试。 8 【正确答案】 D 【试题解析】 数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。所以选项 A,选项 B和选项 C都不正确。 9 【正确答案】 B 【试题解析】 一个班 可以有多名学生,而一名学生只能属于一个班级,所以 “班级 ”与 “学生 ”两个实体集之间的联系属于一对多关系。 10 【正确答案】 C 【试题解析】 在对程序进行了成功的测试之后将进入程序调试,程序调试的任务是诊断和改正程序中的错误。 11 【正确答案】 B 【试题解析】
24、本题考查 Access特点的知识。在 Access这个关系数据库中,具备了比较强大的程序设计能力,不仅具有传统的模块化程序设计能力,还具有面向对象的程序设计能力。 Access可以使用系统菜单以及程序命令等多种方式创建复杂的数据库应 用系统。 Access数据库的主要特点包括处理多种数据类型包括多媒体数据:与 Intemet Intranet的集成;具有较好的集成开发功能,可以采用 VBA编写数据库应用程序等。而从数据模型的角度来说, Access属于关系数据模型而不是网状数据模型。 12 【正确答案】 C 【试题解析】 在数据库中,对满足以下两个条件的数据模型称为网状模型:允许一个以上的结点
25、无双亲;一个结点可以有多余一个的双亲。 13 【正确答案】 C 【试题解析】 本题考查字段属性的知识。在设计字段的时候可以使用输入掩码来使得输入的格式标准保持一致,虽然对于大多数数据类型都可以设计输入掩码,但是只有 “文本 ”型和 “日期时间 ”型字段才可以使用 “输入掩码向导 ”。 14 【正确答案】 B 【试题解析】 本题考查 DateDiff函数的知识。 DateDiff函数是计算两个日期的间隔值函数,其一般使用格式为: Date Diff(建个类型,日期 1,日期 2)。功能是返回日期 1和日期 2之间按照间隔类型所指定的时间间隔数目,也就是日期 2减去日期 1的时间间隔数目 。时间间
26、隔可以有如下几种: “YYYY”代表年、 “q”代表季度、 “m”代表月、 “d”代表日、 “ww”代表周、 “h”代表小时、 “n”代表分、 “s”代表秒。 15 【正确答案】 B 【试题解析】 在建立和维护数据库的过程中,经常需要对表中的记录进行更新和修改,当更新的记录很多,或更新的记录符合一定条件时,最简单的有效的方法是利用 Access提供的更新查询。 16 【正确答案】 C 【试题解析】 本题考查变量作用域的知识。在 VBA中变量的作用域有 3个层次:在模块过程内部用 Dim或 Private定义的变量为局部变量;在标准模块的变量定义区域用 Dim或 Private定义的变量为模块变
27、量;在标准模块的变量定义区域用Public定义的变量为全局变量。用 Static定义的变量为静态变量。 17 【正确答案】 C 【试题解析】 在 Access中查询的操作方式包括选择查询、操作查询和参数查询。 18 【正确答案】 B 【试题解析】 本题考查的是交叉表查询的知识。在创建交叉表查询时,用户需要指定 3种字段:行标题、列标题和数据表行与列交叉位置上的字段,用户需要为该字段指定一个总计项。对于每一 行来说,对应的行标题和值只能有一个,可以对应多个列标题。 19 【正确答案】 C 【试题解析】 用 SOL描述 “在教师表中查找男教师的全部信息 ”,正确格式为“SELECT*FROM教师表
28、 wHERE(性别 =男 )”。其中 “SELECT*”表示选择表中全部字段, “FROM教师表 ”表示查询的数据表为 “教师表 ”, “WHERE(性别 =男 )”指定查询条件。 20 【正确答案】 A 【试题解析】 本题考查的是 SQL查询的知识。在 SQL的查询语句中, SELECT子句用于指定最后结果中的字段, FROM子句用于指定进行查询的表, WHERE子句用于指定查询条件,只有满足条件的元组才会出现在结果集中。本题选项 A)正确,不可能有学生既属于 07级又属于 08级,所以选项 C错误;选项 D由于AND的优先级高于 OR,所以也不正确。 21 【正确答案】 D 【试题解析】
29、Access数据库中控件类型有结合型、非结合型和计算型,而不包括非计算型。 22 【正确答案】 C 【试题解析】 窗体是 Access的一个对象,通过窗体可以完成输入数据、编辑数据、显示和查询表中的数据功能。 23 【正确答案】 D 【试题解析】 本题考查窗体数据环境的知识。 Access中窗体的数据环境被称为记录来源 (Record Source),记录来源可以是一个数据表,也可以是相互关联的若干表。如果记录来源不止一个表,需要建立查询或是使用 SQL SELECT语句作为记录来源,并且此时的查询或 SQL语句指定了这些表与表之间的关系。 24 【正确答案】 C 【试题解析】 本题考查有关字
30、体属性的知识。窗体中控件的字体由一些有关字体的属性控制,比如 FontName(字体名 )、 FontSize(字体大小 )、 FontBold(加 粗 )、Fontltalic(倾斜 )、 FontUnderline(下划线 )等。 25 【正确答案】 B 【试题解析】 本题考查报表输出的知识。报表的主要功能就是输出显示数据,若在设计时需要查看报表输出效果可以使用打印预览命令。 26 【正确答案】 A 【试题解析】 本题考查报表的基础知识。报表是 Access中输出数据所使用的一种对象,利用报表可以控制数据内容的大小及外观、排序和分组等功能,但是不可以进行数据输入。 27 【正确答案】 B
31、【试题解析】 本题考查报表排序与分组的知识 。报表记录的排序是按照某字段值进行大小排序,分组是按照分组字段值相同的被分为一组来计算的,所谓分组就是指按某个字段值进行归类,将字段值相同的记录分在一组之中,而排序是指按某个字段值将记录排序。要想实现分组,首先要选定分组字段。 28 【正确答案】 D 【试题解析】 键盘事件是操作键盘所引起的事件,包括 “击键 ”、 “键按下 ”和 “键释放 ”,不包括 “键锁定 ”。 29 【正确答案】 B 【试题解析】 在 Access数据库中,当使用 “报表向导 ”来创建报表时会提示用户输入相关的数据源、字段和报表版面格 式等信息。 30 【正确答案】 A 【试
32、题解析】 在宏的表达式中,引用报表上控件的值,可以使用的引用式格式为: “Reports!报表名 !控件名 ”。 31 【正确答案】 C 【试题解析】 本题考查循环的知识。这类问题循环题中只有一条语句,就是sum: =sum+l,这样的话问题就变成了判断这条语句共执行多少次,也就是最内层循环一共会执行多少次。可以这样分析:当 i=1, j=1时,内循环执行 5次,当i=1, i=2时,内循环执行 4次 当 i=1, j=4时,内循环执行 2次,这样的话外循环第一次时 内循环共执行 5+4+3+2=14次;当 i=2时, j从 2开始循环,那么内循环共执行 4+3+2=9次;当 i=3时, j从
33、 3开始循环,那么内循环共执行 3+2=5次,所以总的执行次数为 14+9+5=28次。 32 【正确答案】 C 【试题解析】 本题考查的是 VBA中运算符的优先级的知识。在 vBA中的运算符都具有其优先级,最基本的就是算术运算符 连接运算符 关系运算符 逻辑运算符,在各个种类的运算符中还有不同的优先级,比如在算术运算中乘方的优先级就高于乘法和除法运算,同优先级的运算由左至右顺序执行。 33 【正确答案】 A 【试题解析】 本题考查 VBA中参数传递的知识。在 VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用 ByVal声明,说明此参数为传值调用:若用 ByR
34、ef声明,说明此参数为传址调用:没有说明传递类型,则默认为传址传递。本题中在定义子过程 f的时候用 ByVal声明了形参x,说明为传值调用,此时对 x的任何更改不会影响调用它的实参 i,所以执行完Call f(i)这条语句后 i的值不变仍为 3,当然也不满足 If语句的条件,故此最后输出结果为 3。 34 【正确答案】 B 【试题解析】 本题考查 IIf函数的知识。对于 IIf函数可用于执行简单的条件判断操作,当第一个参数为真时返回第二个参数值,否则返回第三个参数值。因为xy为假,所以返回 v的值也就是返回 20。 35 【正确答案】 B 【试题解析】 本题考查 VBA中循环的知识。对于这种循
35、环结构,首先看条件判断在循环体的前面还是后面,如果是先判断条件,则有可能一次也不执行循环体;如果是后判断条件,则无论条件是否成立,至少执行一次循环体。在 Until循环中条件为 False时执行循环体,条件为 True时退出循环; 在 While循环中条件为 True时执行循环体,条件为 False时退出循环,这一点要注意区分清楚。本题中是一个后判断条件的 Until循环,变量 y的作用是累计循环次数也就是年数,要求填写的是循环结束条件,即 p的值不足 60时结束循环。 36 【正确答案】 D 【试题解析】 本题考查 IIF函数的基础知识。对于 IIF函数可用于执行简单的条件判断操作,当第一个
36、参数为真时返回第 2个参数值,否则返回第 3个参数值。在本题中由于 a3为 True,所以返回的是第二个参数值即 1。 37 【正确答案】 B 【试题 解析】 本题考查取子串函数的知识。在 VBA中有三种取子串函数: Left函数用于在字符串左端开始取 n个字符; Right函数用于在字符串右端开始取 n个字符 (注意子串中字符的顺序与母串中相同 ): Mid函数可以实现在任何位置取任何长度的子串。本题中就是要在 “计算机等级考试 ”这个字符串中的第 4位开始截取 2位子串,所以结果为 “等级 ”。要注意一个汉字占 1个字符。 38 【正确答案】 B 【试题解析】 本题考查 VBA中循环的知识
37、。对于这种循环结构,首先看条件判断在循环体的前面还是后面,如果是先判断条件,则有可能一 次也不执行循环体;如果是后判断条件,则无论条件如何至少执行一次循环体。在 Unti1循环中条件为 False时执行循环体,条件为 True时退出循环;在 While循环中条件为True。时执行循环体,条件为。 False时退出循环,这一点要注意区分清楚。本题是一个后判断条件的 While循环,在循环中首先利用整除 10去掉 a的最后一位,然后判断当前的 a的个位数上的值是否满足循环条件,直至 a=12时由于个位数为2不满足继续循环的条件从而退出循环。 39 【正确答案】 B 【试题解析】 本题考查的是字符串
38、函数和循环 语句 ForNext 的使用。循环语句ForNext 能够重复执行程序代码区域特定次数,使用格式如下: For循环变量 =初值 T0终值 Step步长 循环体 条件语句序列 ExitFor 结束条件语句序列 Next循环变量 在 VBA中有三种取子串函数: LeR函数用于在字符串左端开始取 n个字符;Right函数用于在字符串右端开始取 n个字符 (注意子串中字符的顺序与母串中相同 ); Mid函数可以实现在任何位置取任何长度的子串。字符串长度检测函数Len(或 )的作用是返回字符串所含字符数。本题中相当于每次循环从后向前取得 Str中的一个字符连接到 S的后面,即最后 S的值为a
39、bccba。 40 【正确答案】 D 【试题解析】 本题考查 VBA中二维数组和循环的知识。本题中的第一个二重循环为二维数组进行了赋值,第二个循环完成累加,关键是分析出累加了哪些元素。由循环体可以看出,实际上 3次累加分别累加的是 a(1, 3)、 a(2, 2)、 a(3,1),实际上就是二维数组的对角线,累加和为 7+8+7=22。 二、基本操作题 41 【正确答案 】 (1)步骤 1:双击 “sampl accdb”数据库。分别双击打开表 “部门表 ”和 “员工表 ”,发现 “员工表 ”的部门编号是 “部门表 ”的主键。在 “员工表 ”上右键单击,进入【表属性】对话框,在说明中输入 “部
40、门号 ”。 步骤 2:弹击 “确定 ”按钮。 (2)步骤 1:双击打开 “员工表 ”。在【开始】功能区下的【排序和筛选】分组中单击“高级 ”按钮,在下拉菜单中选择 “高级筛选排序 ”命令,打开筛选对话框。双击“员工表 ”中的 “简历 ”字段,在其条件下输入: like“*摄影 *”。 步骤 2:单击【排序和筛选】分组中的 “切换筛选 ”按钮。 步骤 3:在筛选出的记录中,单击 “备注 ”字段。勾选所有的字段值 “备注 ”复选框。关闭窗口。 (3)步骤 1:打开 “员工表 ”。在【开始】功能区下的【排序和筛选】分组中单击 “高级 ”按钮,在下拉菜单中选择 “高级筛选排序 ”命令,打开筛选对话框,
41、双击 “年龄 ”字段,在对应的条件行输入: 55。 步骤 2:单击【排序和筛选】分组中的 “切换筛选 ”按钮。 步骤 3:按 键全选,再按 键删除,确认删除。 (4)步骤 1:在【外部数据】功能区的 “导入并链接 ”组中单击 “文本文件 ”按钮。【 导入】对话框中选中考生文件夹下的 “Test txt”文件,然后单击 “向表中追加一份记录的副本 ”单选框,在其后面的下拉框中选择 “员工表 ”。 步骤 2:单击 “下一步 ”按钮,在选择字段分隔符向导界面中选中 “第一行包含字段名称 ”复选框。 步骤 3:连续单击 “下一步 ”按钮,至最后的完成界面。 步骤 4:单击 “完成 ”按钮,关闭向导。
42、(5)步骤 l:右击 “员工表 ”表,选择 “设计视图 ”快捷菜单命令,选中 “密码 ”字段。在其 “字段属性 ”中的 “输入掩码 ”行输入: 00000。 步骤 2:单击快速访问工具栏中 的 “保存 ”按钮。 (6)步骤 1:在【数据库工具】功能区的【关系】分组中单击 “关系 ”按钮,系统弹出“关系 ”窗口,在窗口内右击鼠标,选择 ”显示表 ”快捷菜单命令。添加 “员工表 ”和“部门表 ”,关闭【显示表】对话框。 步骤 2:单击 “员工表 ”中的 “部门号 ”字段,按住左键拖到 “部门表 ”的 “部门号 ”上。 步骤 3:在弹出 “编辑关系 ”的对话框中勾选 “设置参照完整性 ”复选框。 步
43、骤 4:单击 “创建 ”按钮。 步骤 5:单击快速访问工具栏中的 “保存 ”按钮。关闭 “sampl accdb”数据库。 三、简单 应用题 42 【正确答案】 (1)步骤 1:双击 “samp accdb”打开数据库。在【创建】功能区的【查询】分组中单击 “查询设计 “按钮,系统弹出查询设计器。在【显示表】对话框中添加表 “tStud”。关闭【显示表】对话框。 步骤 2:双击 “学号 ”、 “姓名 ”、 “性别 ”、 “年龄 ”、 “简历 ”字段。在 “简历 ”的条件所在行输入: like“*书法奉 “or like“*绘画 *”,取消 “显示 ”复选框的勾选。 步骤 3:单击快速访问工具栏
44、中的 “保存 ”按钮,输入 “qT1”文中名,单击 “确定 ”按钮,关闭 “qT1”查 询视图。 (2)步骤 1:在【创建】功能区的【查询】分组中单击 “查询设计 ”按钮,系统弹出查询设计器。在【显示表】对话框中分别双击 “tStud”、 “tCourse”和 “tScore”表。 步骤 2:建立 3个表之间的联系,拖动 “tCourse”表中的 “课程号 ”字段到 “tScore”表的 “课程号 ”字段上,拖动 “tStud”表中的 “学号 ”字段到 “tScore“表中的 “学号 “字段上,关闭【显示表】对话框。 步骤 3:双击 “tSmd”表的 “姓名 ”字段,双击 “tCourse”表
45、的 “课程名 ”字段,双击“tScore”表中的 “成绩 ”字段,在 “成绩 ”所在的条件行内输入: (select avg(成绩1)from tScore)。 步骤 4:单击快速访问工具栏中的 “保存 ”按钮,输入 “qt2”文件名,单击 “确定 ”按钮,关闭 “qt2”的查询视图。 (3)步骤 1:在【创建】功能区的【查询】分组中单击 “查询设计 ”按钮,系统弹出查询设计器。在【显示表】对话框中添加表 “tScore”、 “tCourse”,拖动 “tCourse”表中的 “课程号 ”字段到 “tScore”表的 “课程号 ”字段上,建立两表间的联系,关闭【显示表】对话框。 单击【查询类型
46、】分组中的 “交叉表 ”按钮。 步骤 2:双击 “tScore“表的 “学号 “字段,在 “总计 ”行中选择 “Group By“,在 “交叉表 ”行中选择 “行标题 ”。 步骤 3:双击 “tScore”表的 “课程号 “字段,在 “总计 ”行中选择 “Group By”,在 “交叉表 ”行中选择 “列标题 ”。 步骤 4:双击 “tScore”表的 “成绩 ”字段,在其 “总计 ”行选择 “平均值 ”,在 “交叉表 ”行中选择 “值 ”。 步骤 5:双击 tCourse”表 “学分 ”字段,在其 “总计 ”行选择 “where”。在对应的 “条件 ”行输入: 3。 步骤 6:单击快速访问工
47、具栏中的 “保存 ”按钮,输入 “qT3”文件名,单击 “确定 ”按钮。 (4)步骤 1:在【创建】功能区的【查询】分组中单击 “查询设计 ”按钮,系统弹出查询设计器。在【显示表】对话框中添加 “TSTUD”表,关闭【显示表】对话框,单击【查询类型】分组中的 “追加 ”按钮,在弹出的对话框中输入目标表名 “tTemp”。 步骤 2:双击 “学号 ”,在 “字段 ”行的第二列输入求 “姓 ”的表达式: LEFT(、 姓名 , 1),在 “追加到 ”行选择 “姓 ”。双击 “性别 ”, “追加到 ”行选择 “性别 “。双击 “年龄 ”, “追加到 ”行选择 “年龄 ”。 步骤 3:在第五列输入求
48、“名 ”的运算式: mid(姓名 , 2),在 “追加到 ”行选择“名 ”。 步骤 4:单击 “运行 ”按钮运行查询。单击快速访问工具栏中的 “保存 ”按钮,输入“qt4”文件名。单击 “确定 ”按钮,关闭 “qt4”的查询设计视图。 四、综合应用题 43 【正确答案】 (1)步骤 1:打开 “samp3 accdb”数据库,在【开始】功能区的 “报表 ”面板中右击 “rSmd”报表,选择 “设计视图 ”快捷菜单命令,打开 “rStud”的设计视图。 步骤 2:单击【控件】分组中的 “标签 ”控件,在报表的报表页眉节区单击鼠标,在光标闪动处输入内容:团员基本信息表。右键单击该控件,选择 “属性
49、 ”命令,在【属性表】对话框中设置 “名称 ”为: bTitle。 (2)步骤 1:继续上一题操作,在报表的主体节区添加一个文本框控件 (删除文本框前新增的标签 ),在【属性表】对话框中将 “控件来源 ”设置为:性别,在 “左 ”中输入: 5 2cm,在 “上边距 ”中输入: 0 1cm,将 “名称 ”修改为: tSex。 步骤 2:单击快速访问工具栏中的 “保存 ”按钮。 (3)步骤 1:继续上一题操作,继 续在报表页脚节区添加一个文本框控件,在文本框前的标签中输入:平均年龄;选中文本框,在【属性表】对话框中将 “控件来源 ”设置为: =Avg(年龄 ),把 “左 ”设置为: 4 5cm,把 “上边距 ”设置为: 0 2cm,把 “名称 ”修改为: tAvg。 步骤 3:单击快速访问工具栏中的 “保存 ”按钮保存设置。 (4)步骤 1:在报表的设计视图中,单击【分组和汇总】分组中的 “分组和排序 “命令,在下方打开 “分组、排序和汇总 ”窗口。