




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章 模块【思考与练习答案】【实例1】1. 答案:Msgbox函数的格式是:MsgBox(Prompt, Buttons, Title),其中决定按钮个数的参数是第2个参数Buttons。Buttons参数的以下取值可影响按钮个数:表6- 1Buttons参数列表常数值描述vbOKOnly0只显示OK按钮VbOKCancel1显示OK及Cancel按钮VbAbortRetryIgnore2显示Abort、Retry及Ignore按钮VbYesNoCancel3显示Yes、No及Cancel按钮VbYesNo4显示Yes及No按钮VbRetryCancel5显示Retry及Cancel按钮实例窗体位于“中药门诊”数据库的窗体“1B-1 Frm消息框”中。2. 答案:答案位于“中药门诊”数据库的窗体“实例01B-2 Frm运行宏”中,其中运行宏的代码如下:DoCmd.RunMacro 实例01B-2 宏【实例2】答案:答案位于“中药门诊”数据库的窗体“实例02B-Frm加法运算”中,其中“求和”命令按钮对应的代码如下:Dim v1 As Single 用于存放第1个加数Dim v2 As Single 用于存放第2个加数Dim sum As Single 用于存放和v1 = txtV1v2 = txtV2sum = v1 + v2txtSum = sum 将和显示到文本框txtSum中【实例3】1. 答案:答案位于“中药门诊”数据库的窗体“实例03B-1 Frm体重指数”中,命令按钮“计算您的体重指数”对应的代码为:Dim h As SingleDim w As SingleDim i As SingleRem 判断用户数输入的身高体重是否为数字(空值被判断为非数字)If IsNumeric(txtShenGao) = False or IsNumeric(txtTiZhong) = False Then MsgBox 身高体重必须为数字,不能为空或非数字字符!, vbCritical, 警告Else Rem 判断身高体重是否小于0,小于0则提示并终止程序执行 If Val(txtShenGao) = 0 Or Val(txtTiZhong) 30 Then MsgBox 提示,剂量大于30g.!, vbInformationEnd If3. 答案:在使用select case语句时,条件次序的不同对结果是有影响的。当用于条件判断的值满足2个或多个条件时,程序会终止于第一个满足条件的分支。【实例4】答案:答案位于“中医门诊”数据库的窗体“实例04B-Frm减肥问题”中。其中命令按钮“12个月后体重”的单击事件代码为:Dim i As Integer, wt As Singlewt = 100 变量wt用于存储人数For i = 1 To 12 wt = wt / 1.01NexttxtWt = wt 将人数显示于文本框txtwt中命令按钮“降到80KG月数”的单击事件代码为:Dim i As Integer, wt As Singlewt = 100 变量wt用于存储人数For i = 1 To 12 wt = wt / 1.01NexttxtWt = wt 将人数显示于文本框txtwt中【实例5】答案:答案位于“中医门诊”数据库的窗体“实例05B-Frm兔子繁殖问题”中。其中命令按钮“1年后兔子数”的单击事件代码为:Dim i As IntegerDim f(12) As Integer f(i)用于存储斐波那契额数列f(1) = 1 第1个月1对兔子f(2) = 2 第2个月2对兔子For i = 3 To 12 f(i) = f(i - 2) + f(i - 1)Nexttxtnum = f(12) 将兔子数显示文本框txtnum中【实例6】1. 答案:需要执行一系列操作且不需要返回值时使用sub过程;当执行一系列操作且需要有返回值时使用function过程。区别:1)sub过程无返回值,function过程有返回值;2)sub过程使用关键字Call调用或直接调用过程名,function过程调用时直接引用过程的名称即可。2. 答案:答案位于“中医门诊”数据库的窗体“实例06B-2 Frm圆的面积”中。在该窗体上有两个文本框“txtR”和“txtArea”,其中,“txtR”用于输入圆的半径,“txtArea”用于输出圆的面积。在该对象类对象中建立Function过程,代码如下:Function funCircleArea(r As Single) 参数r为圆的半径 Const PI = 3.14 funCircleArea = PI * r 2End Function将文本框“txtArea”的控件来源设为“=funCircleArea(txtR)”。【实例7】1. 答案:若要创建在整个数据库中使用的“全局”变量、sub过程或function过程,需在标准模块中创建;窗体或报表的事件处理程序,或用于被窗体或报表自己调用的变量、sub子过程或function过程需在类对象中创建。2. 答案:在标准模块对象中使用Public关键字声明的过程为公共过程,所有模块的所有其它过程都可访问这个Function过程;使用private关键字声明的过程只能被包含其声明的模块内的其它过程调用。3. 答案:答案位于“中医门诊”数据库的窗体“实例07B-3 Frm患者姓名”和标准模块“实例07B-3 Mdl患者姓名”中。创建过程分两步:(1) 在标准模块“实例07B-3 Mdl患者姓名”中创建公共function过程,代码如下:Public Function funGetPtName(ptID As Long) 变量ptID表示患者IDIf ptID 0 Then funGetPtName = DLookup(姓名, tbl患者, 患者id= & ptID)Else funGetDocName = GuestEnd IfEnd Function(2) 将窗体“实例07B-3 Frm患者姓名”上显示患者姓名的文本框“控件来源”设为“=funGetPtName(ptID)”。【实例8】1. 答案:在标准模块“实例08B-1 Mdl输出医生患者信息”中创建sub过程“subOutPutInfor”,代码如下:Dim rst As ADODB.RecordsetSet rst = New ADODB.Recordset使用RecordSet对象的Open方法打开记录集rst.Open Select 姓名,性别 from tbl医生, CurrentProject.ConnectionDebug.Print rst.GetStringrst.Closerst.Open Select 姓名,性别 from tbl患者, CurrentProject.ConnectionDebug.Print rst.GetStringrst.CloseSet rst = Nothing2. 答案:一般步骤为1)声明并实例化RecordSet;2)使用RecordSet对象的Open方法打开记录集。Open方法最少需要指定两个参数,一个是Source参数,此参数可为SQL语句、表名称等,另一个是ActiveConnection参数,该参数对应于ActiveConnection属性,用于指定在哪个连接中打开 RecordSet 对象。【实例9】答案:答案位于“中医门诊”数据库的标准模块“实例09B-MdlADO访问表”中,代码如下:Sub subVisitTable() Dim rst1 As ADODB.Recordset rst1用于读取医生表数据 Dim rst2 As ADODB.Recordset rst2用于读取患者表数据 Dim ptNames As String 变量ptNames存储多个患者姓名 Set rst1 = New ADODB.Recordset Set rst2 = New ADODB.Recordset rst1.cursortype = adOpenStatic rst1.LockType = adLockOptimistic rst1.Open SELECT 医生ID,就诊患者 & _ FROM Tbl医生 , CurrentProject.Connection 打开医生表 Do Until rst1.EOF ptNames = 打开“Tbl挂号”表中医生ID为rst1(医生ID)的记录集 rst2.Open SELECT distinct 医生ID,患者ID,姓名 & _ FROM 实例09B-各医生诊治患者 where 医生ID= & _ rst1(医生ID) & , CurrentProject.Connection 遍历查询实例09B 各医生诊治患者,记下就诊患者姓名 Do While Not rst2.EOF ptNames = ptNames & rst2(姓名) & rst2.MoveNext Loop rst2.Close rst1(就诊患者) = ptNames rst1.MoveNextLooprst1.UpdateBatch rst1.Close: Set rst2 = Nothing: Set rst1 = NothingEnd Sub【实例10】答案:答案位于“中医门诊”数据库的窗体“实例10B-Frm体重指数”中,命令按钮“计算您的体重指数”的单击事件代码如下:Dim h As Single 变量h用于存储身高数值Dim w As Single 变量w用于存储体重数值Dim i As Single 变量i用于存储体重指数On Error GoTo Err_Label:h = txtShenGao txtShenGao为身高文本框的名称w = txtTiZhong txtTiZhong为体重文本框的名称i = w / h 2txtIndex = i txtIndex为体重指数文本框的名称Err_Label: MsgBox 错误号 & Err.Number & : & Err.Description【实例11】略【习题答案】一、单选题1. C2. D3. B4. D5. C6. D7. A8. B9. C10. D11.B12.C13.D14.B15.A16. A二、填空题1. 事件过程2. DLookup(姓名, tbl学生, 学号=0404022)3. MsgBox 数据处理结束!, vbInformation, 消息4. 关闭 “Frm1”窗体5. 过程级6. 1、2、37. 218. MsgBox,False三、操作题1. 答案:在各个按钮的“单击”事件过程中输入下面的代码:(1)DoCmd.OpenForm 学生窗体, acNormalDoCmd.Close acForm, 学生窗体, acSaveYes(2)DoCmd.OpenReport 学生报表, acViewPreviewDoCmd.Close acReport, 学生报表, acSavePrompt(3)Dim strName As StringstrName = InputBox(请输入姓名)txtInput.Value = strName & :你好!(4)MsgBox 禁止通行!, vbCritical, 注意(5)txtClock.Value = Now()2. 答案:答案位于“教学管理-答案.accdb”数据库的窗体“2 各课程任课教师”中,命令按钮“教师名单”对应的单击事件代码如下: Dim rsCourse As New ADODB.Recordset Dim rsTeacher As New ADODB.Recordset Dim strName As String Dim first As Boolean rsCourse.Open select * from tbl课程, CurrentProject.AccessConnection, adOpenKeyset, adLockOptimistic Do Until rsCourse.EOF rsTeacher.Open select distinct 教师 from tbl排课 where 课程号= & rsCourse(课程号) & , CurrentProject.AccessConnection, adOpenStatic , adLockOptimistic strName = first = True Do Until rsTeacher.EOF If first The
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2025)查对制度考核考试题库及答案
- 2025主管护师(中级)题库检测试题及完整答案详解
- 2025年职业暴露测试试卷及答案
- 2025年第一届安康杯安全生产知识竞赛试题题库及答案(完整版)
- 钽碳还原火法冶炼工测试考核试卷及答案
- 黄金氰化工标准化作业考核试卷及答案
- 铝电解筑炉工工艺考核试卷及答案
- 真空制盐工设备维护与保养考核试卷及答案
- 铸铁机工新员工考核试卷及答案
- 2025至2030游乐园行业发展趋势分析与未来投资战略咨询研究报告
- 生育津贴相关管理办法
- 2023-2025年中考语文试题分类汇编:记叙文阅读(辽宁专用)解析版
- 2025年公路检测工程师《水运结构与地基》试题及答案
- 数控机加工技术知识培训课件
- 隔爆水棚替换自动隔爆装置方案及安全技术措施
- (2025年标准)菜地赔偿协议书
- 郎飞结相关性疾病
- 2025年事业单位工勤技能-广西-广西造林管护工三级(高级工)历年参考题库含答案解析(5卷套题【单选100题】)
- 2025年苏教版新教材数学二年级上册教学计划(含进度表)
- 泌尿外科规培生入科宣教
- 支气管镜入门图谱
评论
0/150
提交评论