教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 政务民生 >

VBA理论练习题 - 图文(7)

来源:网络收集 时间:2026-07-12
导读: VBA理 论 练 习 题 第 31 页 共 42 页 ? 注意2:Private Sub s(ByRef p As Integer) 按地址传递数据,并为默认状态. 打开窗体运行后,单击命令按钮,则消息框的输出结果为3.(2006年4月) 解析:由于VBA中,传值调

VBA理 论 练 习 题 第 31 页 共 42 页

? 注意2:Private Sub s(ByRef p As Integer) 按地址传递数据,并为默认状态.

打开窗体运行后,单击命令按钮,则消息框的输出结果为3.(2006年4月) 解析:由于VBA中,传值调用(BYVal选项)为“单向”作用形式,即过程调用只是相应位置实参的值“单向”传送给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化均不会反馈、影响实参的值。此题中形参p被说明为ByVal值传递形式的整型量,当运行Commandl_Click()过程并调用。调用s(i)时,实参i传送其值给形参p,p发生变化p=p*2=3*2=6。但因为使用的是ByVal“单向”传值形式,实参i的值不发生变化,If语句为假,执行MsgBox i语句后输出3。 8.窗体中有两个命令按钮:“显示” (控件名为cmdDisplay)和“测试”(控件名为cmdTest)。以下事件过程的功能是:单击“测试”按钮时,窗体上弹出一个消息框。如果单击消息框的“确定”按钮,隐藏窗体上的“显示”命令按钮;单击“取消”按钮关闭窗体。按照功能要求,将程序补充完整。(2006年4月); Private Sub cmdTest_Click( )

Answer=MsgBox("隐藏按钮",vbOKCancel) If Answer=vbOK Then

cmdDisplay.Visible=False Else

Docmd.Close End lf End Sub

解析:在VBA中,调用MsgBox函数显示消息框,同时根据考点函数MsgBox的相应说明可知,本题的第一空应该是MsgBox,该消息框的显示文字为“隐藏按钮”,具有“确定”和“取消”两个按钮。

题目中代码运行后,当单击消息框中的“确定”按钮后,Answer=vbOk为真,根据题目要求可知,此时应当隐藏cmdDisplay命令按钮,当该按钮的Visible属性为False时,该按钮不可见,因此第二空为False。

答案:MsgBox(\,vbOKCancel)或MsgBox(\,vbOKCancel,\、False 9.在窗体中添加一个命令按钮(名称为Commandl),然后编写如下代码: Private Sub Commandl_Click( ) Static b As Integer b=b+1 End Sub

打开窗体运行后,三次单击命令按钮后,变量b的值是3。(2006年9月)

VBA理 论 练 习 题 第 32 页 共 42 页

解析:静态变量b的初始值为0,每单击一次命令Commandl都会执行一次“b=b+1”的操作,三次单击命令按钮后,变量b=0+1+1+1,等于3。 10.下面VBA程序段运行时,内层循环总次数是9。(2006年9月)

For m=0 To 7 Step 3 For n=m-1 TO m+1 Next n Next m

解析:外层循环For m=0 To 7 step 3从0到7,每运行一次加3,外层循环运行一次,内层循环3次,所以3*3=9,内层循环的循环总次数是9次。 11.在窗体中添加一个命令按钮(名称为Commandl),然后编写如下代码: Private Sub Commandl_Click( ) Dim b,k As Integer For k=1 to 6 b=23+k Next k MsgBox b+k End Sub

打开窗体运行后,三次单击命令按钮,消息框的输出结果是36。(2006年9月) 解析:在程序中For循环运行了6次,当k=6时,b=23+6=29,,在循环结束后,k=k+1=7时,b+k=29+7=36。

12.退出Access应用程序的VBA代码是Docmd.Quit。(2007年4月)

解析:退出Access应用程序的VBA代码是Docmd.Quit或Application.Quit,或Quit。答案:Docmd.Quit或Application.Quit或Quit

13.在VBA编程中检测字符串长度的函数名是Len( )。(2007年4月)

解析:在VBA编程中字符串长度检测函数为Len(<字符串表达式>或<变量名>)。 14.若窗体中已有一个名为Commandl的命令按钮、一个名为Labell的标签和一个名为Textl的文本框,且文本框的内容为空,然后编写如下事件代码: Private Function f(x As Long) As Boolean lf x Mod 2=0 Then f=True Else

f=False End If End Function

VBA理 论 练 习 题 第 33 页 共 42 页

PrivateSub Commandl_Click( ) Dim n As Long n=Val(Me!text1)

p=IIf(f(n),\ Me!Label1.Caption=n & \ End Sub

打开窗体运行后,在文本框中输入21,单击命令按钮,则标签显示内容为 21isodd number。(2007.04)

解析:函数过程也可以称为函数,是一系列由Function和End Function语句包含起来的Visual Basic语句。Function过程和Sub过程类似,但函数过程可以返回一个值。此题定义一个整型变量Long并把n的值赋予它,n为文本框Textl输入字符转换为数值型的值;当在文本框中输入21,则n的值为21,代人Function函数过程,x为21,对x取模,为偶数时返回True,为奇数时返回False;21是奇数,因此返回False;IIf函数调用格式:IIf(条件式,表达式1,表达式2),条件式为True,函数返回表达式1的值,条件式为False,函数返回表达式2的值。此处P返回表达式2的值odd number;&用来强制两个表达式做字符串连接,则最后标签显示内容为21isod dnumber。 注意:文本框接收的21是数值还是字符串? 15.有如下用户定义类型及操作语句:

Type Student SNo As String SName As String IAge As Integer End Type

Dim Sm As Student With Stu

.SNo=\ .SName=\陈果果\ .IAge=19 End With

执行MsgBox Stu.IAge后,消息框输出结果是19。(2007年4月)

解析:此题先定义一个自定义数据类型,包含学号、变长字符串;姓名、变长字符串;年龄、整型。给此3个变量赋值为.SNo=\、.SName=\陈果果\、.IAge=19,执行MsgBox Stu.IAge后,消息框输出.IAge变量的值19。

VBA理 论 练 习 题 第 34 页 共 42 页

16.已知一个名为“学生”的Access数据库,库中的表stud存储学生的基本信息,包括学号、姓名、性别和籍贯。下面程序的功能是:通过图12.3所示的窗体向stud表中添加学生记录,对应“学号”、“姓名”、“性别”和“籍贯”的4个文本框的名称分别为tNo、tName、tSex、tRes。当单击窗体中的“增力口”命令按钮(名称为Commandl)时,首先判断学号是否重复,如果不重复则向stud表中添加学生记录;如果学号重复,则给出提示信息。

试依据所要求的功能,将如下程序补充完整:(2007年4月)

Dim ADOcn As New ADODB.Connection Private Sub Form_Load()

打开窗口时,连接Access数据库

Set ADOcn=CurrentProject.Connection End Sub

Private Sub Commandl_Click( ) '增加学生记录

Dim strSQL As String

Dim ADOrs As New ADODB.Recordset Set ADOrs.ActiveConnection=ADOcn

ADOrs.Open\学号 From Stud Where 学号=\ If Not ADOrs.EOF Then

'如果该学号的学生记录已经存在,则显示提示信息 MsgBox\你输入的学号已存在,不能增加!\ Else

'增加新学生的记录 < …… 此处隐藏:2279字,全部文档内容请下载后查看。喜欢就下载吧 ……

VBA理论练习题 - 图文(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/447676.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)