电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Access基础教程(第四版)-电子教案-于繁华 Access2010第九章

47页
  • 卖家[上传人]:E****
  • 文档编号:89445979
  • 上传时间:2019-05-25
  • 文档格式:PPTX
  • 文档大小:162.66KB
  • / 47 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、Access基础教程(第四版),长春师范大学计算机科学与技术学院,9.1 程序流程控制 9.2 文件 9.3 过程调用 9.4 计时器Timer 9.5 ADO数据库编程实例,第9章 VBA应用实例,本章是对第8章所涉及到的部分基础内容在实际应用角度的延伸。把握VBA的语法结构和应用技巧与掌握高级语言的方法大体一致,最重要的一点就是具备程序的分析和设计能力,也就是说针对给定的程序我们要能够读懂其功能;而针对给定的应用问题我们要能够运用所掌握的知识予以实现。 本章将VBA的应用问题分为了程序流程控制、文件、过程调用、计时器Timer和ADO数据库编程实例五个部分,从分析和设计两个方面针对具体的实例加以阐述,主要介绍分析的重点和设计的思路,希望能够对读者在Access数据库较为复杂的应用方面给予帮助。,第9章 VBA应用实例,9.1.1 选择结构 例1:窗体中有一名为Command1的命令按钮,其单击事件过程如下所示,试分析单击该命令按钮后消息框中的显示内容。 Private Sub Command1_Click() a=75 If a60 Then k=1 Else If a70 The

      2、n k=2 Else If a80 Then k=3 Else If a90 Then k=4 End If MsgBox k End Sub,9.1 程序流程控制,本例是块If语句的应用,执行的过程是:按条件出现的顺序依次判断每一个条件,发现第一个成立的条件后,则立即执行与该条件相对应的语句组,然后跳出该条件语句,去执行End If后的第一条语句。因为a=75,满足a60的条件,所以k=1,End If后的第一条语句为MsgBox k,所以消息框中显示的结果为1。,例2:窗体中有一名为Command1的命令按钮,其单击事件过程如下所示,试分析单击该命令按钮后消息框中的显示内容。 Private Sub Command1_Click() A=75 If A60 Then I=1 If A70 Then I=2 If A80 Then I=3 If A90 Then I=4 MsgBox I End Sub,9.1 程序流程控制,本例是四个行If语句的顺序结构。与标准的IfThenEnd If结构相比较,缺少了End If,但这在VBA中是允许的,所以判断的过程也应该是顺序的,执行过程应

      3、该是A=75,A大于60所以I=1;A大于70所以I=2;A不大于80,所以I值不发生变化;A值不大于90,所以I值不发生变化;最终消息框中显示的结果应为I的最后值2。,例3:分析如下窗体单击事件过程的显示结果。 Private Sub Form_Click() a=1 For i=3 To 1 Step -1 Select Case i Case 1,3 a=a+1 Case 2,4 a=a+2 End Select Next i MsgBox a End Sub,9.1 程序流程控制,本例是Select Case选择结构和For循环结构的应用集合,分析的重点在于Select Case的选择分支,分支一Case 1,3,也就是说当i值为1或3时执行的操作为a=a+1;分支二Case 2,4,也就是说当i值为2或4时执行的操作为a=a+2。a的初值为1,循环变量i的变化过程是由3到1,那么在整个循环过程中,要执行两次a=a+1的操作和一次a=a+2的操作,所以最终消息框显示的结果为5。,例4:试用IfThenEnd If选择结构实现三个数由大到小的顺序排列。要求在如图9.1所示的“排序

      4、”窗体中名为“text1”、“text2”和“text3”的三个文本框中输入三个数,单击“排序”(名为Command1)按钮后,三个数按由大到小的顺序排列;单击“重新输入”(名为Command2)按钮后,清空文本框,以便于重新输入。 单击“排序”按钮后的结果如图9.2所示。 解题思路:要想将三个数进行排序,首先要将这三个数中任意两个数进行比较,如果比较过程中较大数在较小数之前,则不需要改变它们的顺序,否则需要将两个数的位置进行交换。对于三个数排序要进行(32)/(21)次比较。 排序(见示例数据库),9.1 程序流程控制,例5:试用Select Case选择结构实现一个收取货物运费的程序。要求:在固定两地之间,收取货物运费的原则是:10吨以内(不含10吨)的货物,每吨收取运费100元;10吨至50吨(不含50吨)的货物,每吨收取运费70元;50吨以上的货物,每吨收取运费50元。在如图9.3所示的“计算运输费用”窗体中“Weight”文本框(关联标签为“货物重量”)内输入货物重量后,单击Command1(标题为“计算”)按钮,在“Cost”文本框(关联标签为“运输费用”)中显示出运输费用

      5、,如图9.4所示;单击Command2(标题为“清除”)按钮,清空两个文本框。 解题思路:这是一个最为简单的多路分支选择结构实例,只需要根据货物重量的不同,选择不同运费计算公式即可。 计算运输费用(见示例数据库),9.1 程序流程控制,9.1.2 循环结构 例6:窗体中有一名为Command1的命令按钮,其单击事件过程如下所示,试分析单击该命令按钮后sum的值。 Private Sub Command1_Click() Dim sum As Double,j As Double sum=0 n=0 For i=1 To 5 j=n/i n=n+1 sum=sum+j Next i End Sub,9.1 程序流程控制,本例是For循环语句的应用,循环变量i的取值为1到5。当i值为1时,x的值为0,n值1,sum值为0(注意赋值语句的顺序结构);当i值为2时,x值为1/2,n值为2,sum值为1/2;当i值为3时,x值为2/3,n值为3,sum值为1/2+2/3;以此类推,当循环结束之后sum的值为1/2+2/3+3/4+4/5。,例7:窗体中有一名为Command1的命令按钮,其单击事

      6、件过程如下所示,试分析单击该命令按钮后消息框中的显示内容。 Private Sub Command1_Cllick() Dim M(10) As Integer For k=1 to 10 M(k)=12-k Next k x=6 MsgBox M(2+M(x) End Sub,9.1 程序流程控制,本例是For循环语句和数组的集合应用,一维数组M的下限为0、上限为10,循环变量k的取值为1到10。For循环的作用在本例中是为数据M中的元素赋值,下标为k的元素其值为12-k,如:M(1)值为11,M(10)值为2。消息框中显示的消息为M(2+M(x),首先要计算出M(x)的值,x=6,所以M(x)=6;因此M(2+M(x)实际上是M(8),所以最终消息框的显示结果为4。,例8:试分析如下程序运行结束之后变量K的值。 Private Sub Fun() Dim J As Integer J=10 Do J=J+3 Loop While J19 End Sub,9.1 程序流程控制,本例是DoLoop While循环结构的应用,分析的重点在于条件式J19和其位置。当J19时执行循环体中的语

      7、句;另外需要注意的是条件式在Loop后,循环体至少要执行一次,它决定了是否回到循环体起始处。循环体中的语句为J=J+3,也就是说每执行一次循环J的值要加3。当执行两次循环体操作后J=16,仍然满足J19的条件,所以还要执行第三次循环;而当第三次循环结束后J=19,已经不满足J19的条件,所以循环终止。最终J的值为19。,例9:试分析内层n循环的执行次数。 For m=0 To 7 Step 3 For n=m-2 To m+2 Next n Next m,9.1 程序流程控制,本例是For循环的嵌套,分析的重点在于内层循环变量n的初始值和终止值。无论m的值为多少,内层循环变量n的值都只有五个m-2、m-1、m、m+1和m+2,也就是说每执行一次m循环就要执行五次n循环。而m=0 To 7 Step 3,外层m循环要执行3次,所以内层n循环的次数为15。,例10:试分析如下程序运行结束之后变量K的值。 K=0 For I=1 To 3 For J=1 To I K=K+J Next J Next I,9.1 程序流程控制,本例是For循环的嵌套,分析的重点在于内层J循环的终止值为I,由于

      8、外层循环变量I值的变化,使得内层J循环的次数是不固定。当I=1时,J=1 To 1,K=K+1=1;当I=2时,J=1 To 2,K=K+1+2=4;当I=3时,J=1 To 3,K=K+1+2+3=10。所以当程序运行结束之后K的值为10。(注意K值的累加过程),例11:试分析如下程序运行结束之后变量x的值。 x=1 y=1 z=1 For k=1 To 3 If j=1 Then x=x+y+z Else If j=2 Then x=2*x+2*y+2*z Else x=3*x+3*y+3*z End If Next k,9.1 程序流程控制,本例是For循环结构和块If语句的应用集合,分析的重点在于块If的选择分支,分支一为当K=1时,x=x+y+z;分支二为当K=2时,x=2*x+2*y+2*z;分支三为当K=3时,x=3*x+3*y+3*z。与选择结构的例3相比较,本例中赋值语句右端的变化是在变量参与运算后才进行赋值的。 循环共执行3次,当K=1时,x=1+1+1=3;当K=2时,x=2*3+2*1+2*1=10;当K=3时,x=3*10+3*1+3*1=36。所以当程序运行

      9、结束之后x的值为36。,例12:窗体中有一名为Command1的命令按钮,其单击事件过程如下所示,试分析单击该命令按钮后消息框中的显示内容。 Private sub Command1_Click() For i=1 To 4 x=3 For j=1 To 3 x=4 For k=1 To 2 x=x+5 Next k Next j Next i MsgBox x End Sub,9.1 程序流程控制,本例是For循环的嵌套,分析的重点在于i循环中的赋值语句x=3和j循环中的赋值语句x=4。它们的位置决定了,只要进入i循环,那么x的值就为3;而进入j循环后,x又被重新赋值为4。所以最终的结果由以下语句决定: x=4 For k=1 To 2 x=x+5 Next k 当程序运行结束之后,x的值为14。,例13:试分析如下程序运行结束之后变量k的值。 Dim i,j,k As Integer i=1 Do For j=1 To i Step 2 k=k+j Next j i=i+2 Loop Until i8,9.1 程序流程控制,本例是DoLoop Until循环结构和For循环的嵌套,分析的重点在于变量i值的变化过程,它即是For循环的终止值,又控制了DoLoop Until循环的条件。i值的变化在DoLoop Until循环中由i=i+2赋值语句来进行,当i8时程序运行结束,所以i可能的值为1、3、5、7。For循环中步长为2,当i=1时,k=k+1=1;当i=3时,k=k+1+3=5;当i=5时,k=k+1+3+5=14;当i=7时,k=k+1+3+5+7=30。当循环结束之后k的值为30。,例14:试分析如下程序运行结束之后消息框中显示的内容. Dim str1,str2 As String Dim I As Integer str1=”abcdef” For i=1 To Len(str1) Step 2 str2=UCase(Mid(str1,i,1)+str2 Next i MsgBox str2,9.1 程序流程控制,本例中使用了字符串函数Len()、Mid()和大小写转换函数Ucase()。由于字符串str1的值不发生变化,所以Len(str1)的值固定为6。因此For循环变量i的取值为1、3和5(步长为2),Ucase(

      《Access基础教程(第四版)-电子教案-于繁华 Access2010第九章》由会员E****分享,可在线阅读,更多相关《Access基础教程(第四版)-电子教案-于繁华 Access2010第九章》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.