VB.docx

上传人:b****9 文档编号:28630968 上传时间:2023-07-19 格式:DOCX 页数:55 大小:545.37KB
下载 相关 举报
VB.docx_第1页
第1页 / 共55页
VB.docx_第2页
第2页 / 共55页
VB.docx_第3页
第3页 / 共55页
VB.docx_第4页
第4页 / 共55页
VB.docx_第5页
第5页 / 共55页
点击查看更多>>
下载资源
资源描述

VB.docx

《VB.docx》由会员分享,可在线阅读,更多相关《VB.docx(55页珍藏版)》请在冰豆网上搜索。

VB.docx

VB

2007年9月全国计算机等级考试二级笔试试卷access考试试题

一、选择题(1~35每小题2分,共70分)

29.使用Function语句定义一个函数过程,其返回值的类型

A.只能是符号常量B.是除数组之外的简单数据类型

C.可在调用时由运行过程决定D.由函数定义时As子句声明

答案D

解析:

过程调用

子过程的调用形式有两种:

Call子过程名([<实参>])或子过程名[<实参>]

Sub或Function过程中的语句可以利用命名参数来传递值给被调用的过程。

函数过程的调用形式只有一种:

函数过程名([<实参>])。

由于函数过程会返回一个值,实际上,函数过程的上述调用形式主要有两种方法:

一是将函数过程返回值作为赋值成分赋予某个变量,其格式为“变量=函数过程名([<实参>])”;二是将函数过程返回值作为某个过程的实参成分使用。

考点5:

过程调用和参数传递

30.在过程定义中有语句:

PrivateSubGetData(ByReffAsInteger)

其中"ByRef"的含义是

A.传值调用B=.传址调用

C.形式参数D.实际参数

答案B

解析:

在参数函数设计时,要想实现某个参数的"双向"传递,就应当说明该形参为"传址"调用形式。

其设置选项是ByRef。

选择题第3题

31.在Access中,DAO的含义是:

A.开放数据库互连应用编程接口B=.数据库访问对象

C.Active数据对象D.数据库动态链接库

答案B

解析:

数据访问对象(DAO):

数据访问对象是VBA提供的一种数据访问接口。

ActiveX数据对象(ADO):

ActiveX数据对象是基于组件的数据库编程接口。

ODBC:

开放数据库互连应用编程接口。

DLL:

数据库动态链接库

考点6:

VBA的数据库编程

32.在窗体中有一个标签Label0,标题为“测试进行中”;有一个命令按钮Command1,事件代码如下:

PrivateSubCommand1_Click()

Label0.Caption="标签"

EndSub

PrivateSubForm_Load()

Form.Caption="举例"

Command1.Caption="移动"

EndSub

打开窗体后单击命令按钮,屏幕显示

AB

 

CD

 

答案D

解析:

打开窗体后,系统自动调用Form_Load(),这时Form的标题为"举例",Command1的标题为"移动",Label0的内容为“测试进行中”;当单击命令按钮后,Label0的内容更新为“标签”,Form的标题还是"举例",Command1的内容还是"移动",因此选择D。

33.在窗体中有一个标签Lb1和一个命令按钮Command1,事件代码如下:

OptionCompareDatabase

DimaAsString*10

PrivateSubCommand1_Click()

a="1234"

b=Len(a)

Me.Lb1.Caption=b

EndSub

打开窗体后单击命令按钮,窗体中显示的内容是

A.4B.5

C.10D.40

答案A

解析:

"DimaAsString*10"表示变量a的长度为10个字节,也就是5个汉字的长度!

如果所输入字符小于10它会自动用空格补齐,如果大于10,则多余的部分则会被截掉,只保留前10个字符。

a="1234",b=Len(a),b=4,因此窗体中显示的内容是4。

考点3:

VBA编程基础——常量、变量、运算符和表达式

34.下列不是分支结构的语句是

A.If...Then...EndIfB=.While...WEnd

C.If...Then...Else...EndIfD.Select...Case...EndSelect

答案B

解析:

While...WEnd是循环结构的语句,不是分支结构的语句。

考点4:

VBA程序流程控制语句

35.在窗体中使有一个文本框(名为n)接受输入的值,有一个命令按钮run,事件代码如下:

PrivateSubrun_Click()

result=""

Fori=1ToMe!

n

Forj=1ToMe!

n

result=result+"*"

Nextj

result=result+Chr(13)+Chr(10)

Nexti

MsgBoxresult

EndSub

打开窗体后,如果通过文本框输入的值为4,单击命令按钮后输出的图型是

A.****B.*

*******

*********

***********

C.****D.****

**********

************

**************

答案A

解析:

输入的n值为4时,Forj=1To4执行result=result+"*",此时result="****",循环j结束后,执行result=result+Chr(13)+Chr(10),相当于在字符串result="****"后面加一个回车换行符,再执行i循环3次后,输出的图型应该是A。

考点4:

VBA程序流程控制语句

二、填空题(每空2分,共30分)

11.在VBA中双精度的类型标识是【11】Double

解析:

Double(双精度浮点型)变量存储为IEEE64位(8个字节)浮点数值的形式,它的范围在负数的时候是从?

1.79769313486231E308到?

4.94065645841247E-324,而正数的时候是从4.94065645841247E-324到1.79769313486232E308。

Double的类型声明字符是数字符号(#)。

考点3:

VBA编程基础——常量、变量、运算符和表达式

12.在窗体中使用一个文本框(名为x)接受输入值,有一个命令按钮test,事件代码如下:

PrivateSubtest_Click()

y=0

Fori=0ToMe!

x

y=y+2*i+1

Nexti

MsgBoxy

EndSub

打开窗体后,若通过文本框输入值为3,单击命令按钮,输出的结果是【12】16

解析:

若通过文本框输入值为3,则For循环i=0To3共执行4次,

第一次:

y=0+2*0+1=1;

第二次:

y=1+2*1+1=4;

第三次:

y=4+2*2+1=9;

第四次:

y=9+2*3+1=16;所以输出的结果是16

考点4:

VBA程序流程控制语句

13.在窗体中使用一个文本框(名为num1)接受输入值,有一个命令按钮run13,事件代码如下:

PrivateSubrun13_Click()

IfMe!

num1>=60Then

result="及格"

ElseIfMe!

num1>=70Then

result="通过"

ElseIfMe!

num1>=80Then

result="合格"

EndIf

MsgBoxresult

EndSub

打开窗体后,若通过文本框输入的值为85,单击命令按钮,输出结果是【13】及格

解析:

若通过文本框输入的值为85,先执行“IfMe!

num1>=60Then”判断语句,因为满足条件,所以result付值为"及格",结束判断语句,并执行“MsgBoxresult”语句,所以输出结果是及格。

考点4:

VBA程序流程控制语句

14.现有一个登录窗体如下图所示。

打开窗体后输入用户名和密码,登录操作要求在20秒内完成,如果在20秒内没有完成登录操作,则倒计时到达0秒时自动关闭登录窗体,窗体的右下角是显示倒计时的文本框Itime。

事件代码如下,要求填空完成事件过程。

OptionCompareDatabase

DimflagAsBoolean

DIMiAsInteger

PrivateSubForm_Load()

flag=【14】

Me.TimerInterval=1000

i=0

EndSub

PrivateSubForm_Timer()

Ifflag=TrueAndi<20Then

Me!

Time.Caption=20-i

i=【15】

Else

DoCmd.Close

EndIf

EndSub

PrivateSubOK_Click()

'登录程序略

'如果用户名和密码输入正确,则:

flag=False

EndSub

答案【14】True【15】i+1

解析:

“PrivateSubForm_Timer()”语句是用来完成20秒内倒计时功能的,因为“Me.TimerInterval=1000”,所以“PrivateSubForm_Timer()”每1000毫秒即每秒自动执行一次,当满足条件“flag=True”并且“i<20”时,会执行“Me!

Time.Caption=20-i”倒计时剩余时间显示语句,为此【14】应该为“True”,以保证能够执行“Me!

Time.Caption=20-i”语句,而变量“i”记录用户打开登录操作窗体后已经进行的秒数,所以【15】应该为“i+1”。

2008年4月全国计算机等级考试二级ACCESS笔试试卷及答案

一选择题(每小题2分,共70分)

下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(19)ACCESS数据库中,为了保持表之间的关系,要求在主表中修改相关记录时,子表相关记录随之更改,为此需要定义参照完整性关系的

A级联更新相关字段B级联删除相关字段

C级联修改相关字段D级联插入相关字段

(21)定义字段默认值的含义是

A不得使该字段为空

B不允许字段的值超出某个范围、

C在未输入数据之前系统自动提供的数值

D系统自动把小写字母转换为大写字母

(27)VBA程序流程控制的方式是

A顺序控制和分支控制B顺序控制和循环控制

C循环控制和分支控制D顺序、分支和循环控制

(28)从字符串s中的第2个开始获得4个字符的子字符传函数是

AMid$(s,2,4)BLeft$(s,2,4)

CRigth$(s,4)DLeft$(s,4)

(29)语句DimNewArray(10)AsInteger的含义是

A定义了一个整型变量且初值为10

B定义了10个整数构成的数组

C定义了11个整数构成的数组

D将数组的第10元素设置为整型

(31)不属于VBA提供的程序运行错误处理的语句结构是、

AOnErrorThen标号BONErrorGoto标号

COnErrorResumeNextDOnErrorGoto0

(32)ADO的含义是

A开放数据库互连应用编程接口B数据库访问对象

C动态连接库DActive数据对象

(33)若要在子过程Procl调用后返回两个变量的结果,下列过程定义语句中有效的是

ASubProcl(n,m)BSubProcl(ByValn,m)

CSubProcl(n,ByValm)DSubProcl(ByValn,ByValm)

(35)在窗体中有一个命令run35,对应的事件代码如下:

privatesubrun35_enter()

Dimnumasinteger

Dimaasinteger

Dimbasinteger

DimIasinteger

ForI=1to10

Num=inputbox(“请输入数据:

”,”输入”,1)

Ifint(num/2)=num/2then

A=a+1

Else

B=b+1

Endif

NextI

Msgbox(”运行结果:

a=”&str(a)&”,b=”&str(b))

Endsub

运行以上事件所完成的功能是

A对输入的10个数据求累加和

B对输入的10个数据求各自的余数,然后再进行累加

C对输入的10个数据分别统计有几个是整数,有几个是非整数

D对输入的10个数据分别统计有几个是奇数,有几个是偶数

填空题(每空两分,共三十分)

请将每一个空的正确答案写在答题卡[1]~[15]序列的横线上,答在试卷上不得分

(9)分支结构在呈现执行时,根据__[条件表达式的值]__选择执行不同的程序语句。

(10)在VBA中变体类型的类型标识是__[Variant]__。

(11)在窗体中有一个名为command的命令按钮,click事件的代码如下:

privatesubcommand1_click()

f=0

forn=1to10step2

f=f+n

nextn

me!

lb1.caption=f

endsub

单击命令按钮后,标签显示的结果是___[25]___。

(13)下列子过程的功能是:

当前数据库文件中的“学生表”的学生“年龄”都加1,请在程序空白处填写适当的语句,使程序实现所需的功能

PrivateSubSetAgePlus1_Click()

DimaAsDAO.Database

DimrsAsDAO.Recordset

DimfdAsDAO.Field

Setdb=CurrentDb()

Setrs=db.OpenRecordset("学生表")

Setfd=rs.Fields("年龄")

DoWhileNotrs.EOF

rs.Edit

fd=____[fd+1]____

rs.Update

___[rs.MoveNext]___

Loop

rs.Close

db.Close

Setrs=Nothing

Setdb=Nothing

EndSub

答案:

一、选择:

1、C2、A3、B4、B5、A6、D7、B8、C9、D10、C11、D12、A13、B14、B15、c16、B17、C18、C19、A20、C21、C22、D23、B24、A25、A26、D27、D28、A29、C30、B31、A32、D33、A34、C35、D二、填空1、输出2、163、244、菱形5、数据定义语言6、#7、参数8、-49、条件表达式的值10、Variant11、2512、num13、i14、fd+115、rs.MoveNext

2008年9月全国计算机等级考试Access二级笔试试卷

一、选择题(每小题2分,共70分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(15)在Access的数据表中删除一条记录,被删除的记录(   )。

   A)可以恢复到原来设置

   B)被恢复为最后一条记录

   C)被恢复为第一条记录

   D)不能恢复

(16)在Access中,参照完整性规则不包括(   )。

   A)更新规则   B)查询规则

   C)删除规则   D)插入规则

(29)在VBA中,实现窗体打开操作的命令是(   )。

   A)DoCmd.OpenForm

   B)OpenForm

   C)Do.OpenForm

   D)DoOpcn.Form

(30)在Access中,如果变量定义在模块的过程内部,当过程代码执行时才可见,则这种变量的作用域为(   )。

   A)程序范围

   B)全局范围

   C)模块范围

   D)局部范围

(31)表达式Fix(-3.25)和Fix(3.75)的结果分别是(   )。

   A)-3,3

   B)-4,3

   C)-3,4

   D)-4,4

(32)在VBA中,错误的循环结构是(   )。

   A)DoWhile条件式

        循环体

     Loop

   B)DoUntil条件式

        循环体

     Loop

   C)DoUntil

        循环体

     Loop条件式

   D)Do

        循环体

     LoopWhile条件式

(33)在过程定义中有语句:

PrivateSubGetData(ByValdataAsInteger)

   其中“ByVal”的含义是(   )。

   A)传值调用

   B)传址调用

   C)形式参数

   D)实际参数

(34)在窗体中有一个命令按钮(名称为run34),对应的事件代码如下:

   PrivateSubrun34_Click()

      sum=0

      Fori=10To1Step-2

          sum=sum+i

      Nexti

      MsgBoxsum

   EndSub

   运行以上事件,程序的输出结果是(   )。

   A)10

   B)30

   C)55

   D)其他结果

(35)在窗体中有一个名称为run35的命令按钮,单击该按钮从键盘接收学生成绩,如果输入的成绩不在0到100分之间,则要求重新输入;如果输入的成绩正确,则进入后续程序处理。

run35命令按钮的Click的事件代码如下:

   PrivateSubrun35_Click()

      DimflagAsBoolcan

      result=0

      flag=True

      DoWhileflag

          result=Val(InputBox("请输入学生成绩:

","输入"))

          Ifresult>=0Andresult<=100Then

              ___________

          Else

              MsgBox   "成绩输入错误,请重新输入"

          EndIf

      Loop

      Rem   成绩输入正确后的程序代码略

   EndSub

程序中有一空白处,需要填入一条语句使程序完成其功能。

下列选项中错误的语句是(   )。

   A)flag=False

   B)flag=Notflag

   C)flag=True

   D)ExitDo

二、填空题(每空2分,共30分)

请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。

(8)下图所示的流程控制结构称为___________。

(10)直接在属性窗口设置对象的属性,属于“静态”设置方法,在代码窗口中由VBA代码设置对象的属性叫做“___________”设置方法。

(11)在窗体中添加一个名称为Command1的命令按钮,然后编写如下事件代码:

   PrivateSubCommand1_Click()

      DimxAsInteger,yAsInteger

      x=12:

y=32

      Callp(x,y)

      MsgBoxx*y

   EndSub

   PublicSubp(nAsInteger,ByValmAsInteger)

      n=nMod10

      m=mMod10

   EndSub

   窗体打开运行后,单击命令按钮,则消息框的输出结果为___64________。

(12)已知数列的递推公式如下:

   f(n)=1            当n=0,1时

   f(n)=f(n-1)+f(n-2)  ?

当n>1时

则按照递推公式可以得到数列:

1,1,2,3,5,8,13,21,34,55,……。

现要求从键盘输入n值,输出对应项的值。

例如当输入n为8时,应该输出34。

程序如下,请补充完整。

   PrivateSubrunl1_Click()

      f0=1

      f1=1

      num=Val(InputBox("请输入一个大于2的整数:

"))

      Forn=2To___________

          f2=___________

          f0=f1

          f1=f2

   Nextn

      MsgBoxf2

   EndSub

(13)现有用户登录界面如下:

  

  窗体中名为username的文本框用于输入用户名,名为pass的文本框用于输入用户的密码。

用户输入用户名和密码后,单击“登录”名为login的按钮,系统查找名为“密码表”的数据表,如果密码表中有指定的用户名且密码正确,则系统根据用户的“权限”分别进入“管理员窗体”和“用户窗体”:

如果用户名或密码输入错误,则给出相应的提示信息。

  密码表中的字段均为文本类型,数据如下图。

   

单击“登录”按钮后相关的事件代码如下,请补充完整。

   PrivateSublogin_Click()

  

      DimstrAsString

      DimrsAsNewADODB.Recordset

      DimfdAsADODB.Field

  

      Setcn=CurrentProject.Connection

  

      logname=Trim(Me!

uscrname)

      pass=Trim(Mc!

pass)

  

      IfLen(Nz(logname))=0Then

          MsgBox"请输入用户名"

      ElseIfLen(Nz(pass))=0Then

          MsgBox"请输入密码"

      Else

          str="select*from密码表where用户名='"&logname&

                                          "'and密码='"&pass&"'"

          rs.Openstr,cn,adOpenDynamic,adLockOptimistic,adCmdText

     

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1