还剩2页未读,继续阅读
文本内容:
第10章模块与VBA程序设计习题
101.选择题1A2B3D4C5D6B7A8B9D10D
2.填空题1Visual Basicfor Application2IntRnd*61+153ByVai,传地址调用4输入数据对话框,MsgBox556127Connection,RecordSet,Command8Open,Execute9Not rst.EOF10MoveNext
11.问答题1答类模块是与类对象相关联的模块,所以也称为类对象模块类模块是可以定义新对象的模块新建一个类模块,表示新创建了一个对象,通过类模块的过程可定义对象的属性和方法Access2010的类模块有3种基本形式窗体类模块、报表类模块和自定义类模块标准模块是指可在数据库中公用的模块,模块中包含的主要是公共过程和常用过程,这些公用过程不与任何对象相关联,可以被数据库的任何对象使用,可以在数据库的任何位置执行常用过程是类对象经常要使用的过程,需要多次调用的过程一般情况下,Access中所说的模块是指标准模块类模块一般用于定义窗体、报表中某个控件事件的响应行为,常通过私有的过程来定义类模块可以通过对象事件操作直接调用标准模块一般用来定义数据库、窗体、报表中多次执行的操作,常通过公有的过程来定义,标准模块通过函数过程名来调用2答过程或函数声明中的形式参数列表简称形参形参可以是变量名后面不加括号或数组名后面加括号如果子过程没有形式参数,则子程序名后面必须跟一个空的圆括号过程或函数调用时,其实际参数列表简称为实参,它与形式参数的个数、位置和类型必须一一对应,调用时把实参的值传递给形参在VBA中实参与形参的传递方式有两种引用传递和按值传递在形参前面加上ByRef关键字或省略不写,表示参数传递是引用传递方式,引用传递方式是将实参的地址传递给形参,也就是实参和形参共用同一个内存单元,是一种双向的数据传递,即调用时实参将值传递给形参,调用结束由形参将操作结果返回给实参引用传递的实参只能是变量,不能是常量或表达式在形参前面加上ByVai关键字时,表示参数是按值传递方式,是一种单向的数据传递即调用时只能由实参将值传递形参,调用结束后不能由形参将操作结果返回给实参实参可以是常量、变量或表达式
(3)答变量可被访问的范围称为变量的作用范围,也称为变量的作用域根据声明语句和声明变量的位置不同,可将变量的作用域分为3个层次局部范围、模块范围和全局范围变量的生存期是指变量从存在(执行变量声明并分配内存单元)到消失的时间段按生存期,变量可分为动态变量和静态变量
(4)答该程序的功能是从10个分数中去掉最高分和最低分后,求剩下8个分数的平均分
(5)答首先使用Connection对象建立与数据源的连接然后使用Command对象执行对数据源的操作命令,通常用SQL命令接下来使用RecordSet、Field等对象对获取的数据进行查询或更新操作最后使用窗体中的控件向用户显示操作的结果,关闭连接
(6)答在Access2010中设计的窗体如图2-10所示图2-10将3位整数反向输出的窗体界面“转换”命令按钮的“单击”事件代码如下Private SubCmd_Convert_Click Dimv_result AsString结果变量v_result二〃〃If NotIsNumericTextO.Value ThenMsgBox〃输入的不为数值!〃Exit SubEndIfIf LenTextO.Value3ThenMsgBox〃输入的不为3位数!〃End IfFori=1To3v_result=v_resultMid(TextO.Value,3-i+1,1)Next iMsgBox〃结果〃v_resultEnd Sub
(7)答根据题意,行李费计算公式如下当“重量<二50时,费用二重量*
0.2当“重量>50”时,费用二(重量-50)*
0.5+50*
0.2创建一个名为“VBA程序设计”的数据库,在数据库中新建一窗体,窗体的界面如图2~11所不国行李费计算程序X计算行李重蚩:清除应付费用:退出图2-11行李费计算窗体界面在代码窗口中输入命令按钮的单击事件代码Private Sub cmd计算ClickDim sinwAs Single变量sinw表示行李重量Dim sinpAs Single变量sinp表示应付费用sinw=txtl.ValueIf sinw50Thensinp=sinw-50*
0.5+50*
0.2Elsesinp=sinw*
0.2End Iftxt
2.Value=sinpEnd SubPrivateSub cmd清除Clicktxtl.Value-〃〃txt
2.Value=〃〃End SubPrivateSubcmd退出ClickEnd SubDoCmD.Close
(8)答
①在“教学管理”数据库中,添加一条记录的过程如下Sub AddRecord(C_Number AsString,C_Name AsString,CCredit AsInteger)Dim rsAs New ADODB.RecordSetDim conn As NewADODB.ConnectionOn ErrorGoTo GetRS_ErrorSet conn=CurrentProject.Connection打开当前连接rs.Open strSQL,conn,adOpenKeyset,adLockOptimisticrs.AddNewrs.Fields(〃课程编号〃).Value=C_Numberrs.Fields(〃课程名称〃).Value=C_Namers.Fields(学分).Value=C Creditrs.UpdateSet rs=NothingSet conn=NothingEnd Sub
②查找课程名为“数据结构”的记录,并将其学分更新为3,其程序实现如下Sub ExecSQLODimconnAsNewADODB.ConnectionSet conn=CurrentProject.Connection打开当前连接strsql=UPDATE课程SET学分工3WHERE课程名称二数据结构〃conn.Execute(strsql)Set conn=NothingEnd Sub
③删除课程号为“Z0004”的记录,其实现方法只需将ExecSQLO过程中的SQL语句改为strsql=DELETE*FROM课程WHERE课程编号=Z0004〃。
个人认证
优秀文档
获得点赞 0