版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Access基础教程(第4版)、长春师范高等院校计算机科学技术学院、9.1计程仪程序流控制9.2文件9.3过程调用9.4定时器Timer 9.5 ADO数据库编程实例、第9章VBA应用实例、本章以实际应用的角度扩展了第8章涉及的部分基础内容。 掌握VBA的语法结构和应用技术与掌握高级语言的方法基本一致,最重要的一点是计程仪方案的分析和设计能力,即对于给定的计程仪方案我们可以理解其功能的给定应用题,我们必须用掌握的知识来实现。 本章将VBA的应用题分为项目群流程控制、文件、过程调用、计时器Timer和ADO数据库编程5个部分,从分析和设计两方面阐述了具体实例,主要介绍了分析的重点和设计思维方法,
2、希望读者能有助于Access数据库的复杂应用、第9章VBA的应用例、第9.1.1构造例的选择1 :表单中有Command1这样的指令按钮,其喀呖声上通告的顺序如下,打算喀呖声该指令按钮后分析信息框中表示的内容。 私人命令1 _ click () a=7.5定if a 60天=1小时if sa 70天=2小时if sa 80天=3小时if sa 9.0定=4小时boxksendsub, 9.1 plume计程仪程序流控制此示例应用bug if语句,按条件出现的顺序确定每个条件,在发现第一个成立的条件后立即执行与该条件相对应的语句组,跳出其条件句,执行End If后的第一个语句的过程。 因为a=7
3、5,并且满足a60的条件,所以k=1,End If之后的第一条语句是MsgBox k,并且结果显示为1。 示例2 :窗体中有一个名为Command1的命令按钮,喀呖声上通告的过程如下所示: 喀呖声命令按钮后,尝试分析信息框中出现的内容。 私钥命令1 _ click () a=7.5 if a60 theni=1IFA 70th Eni=2IFA 80th Eni=3IFA 9.0 theni=4msgboxisendsub,9.1普计程仪程序流控制,在本例中是4行的if语句的CEE 与标准的IfThenEnd If行政许可相比,虽然缺少End If,但由于在VBA中构成,因此判断的过程也按顺序
4、进行,执行过程为A=75,a比6.0大,因此应I=1的a比7.0大,因此I=2; 因为a小于或等于8.0,所以I的值不变。因为a的值小于或等于9.0,所以I的值不变的最后一个讯息方块中出现的结果必须是I的最后一个值2。 示例3 :分析以下表单以喀呖声上通告过程的显示结果: 隐私子弹() a=1fori=3to1step-1 selectcasecaseicase 1,3 a=a1case 2,4 a=a2endselectnextimsgboxaendsub, 9.1柱形计程仪流控制本例是Select Case选择结构和For循环结构的应用集合,分析的重点是Select Case的选择分支,分
5、支1case1、3,即I值为1或3时执行的操作是a=a 1的分支2 case 2、4,即I值为2或4时a的初始值是1,循环变量I的变化过程是从3到1,因此在整个循环中执行2次a=a 1的操作和a=a 2的操作,因此在最终消息框中显示5的结果。 例如,尝试IfThenEnd If的选择结构,按照3个个数从大到小的顺序排列。 在图9.1所示的“排序”表单中,在名为“text1”、“text2”、“text3”的3个字符框中输入3个数字,喀呖声“排序”(Command1)按钮后,3个数字按从大到小的顺序排序。“重新输入”(command ) 喀呖声“排序”按钮的结果如图9.2所示。 解题的思维方法:
6、为了对三个个数进行排序,首先,比较三个个数中的任意两个个数,在比较的过程中,如果比多数较少的数靠前,就不需要改变它们的顺序,否则就需要交换两个个数的位置。 对3个个数的位次进行(32)/(21 )次的比较。 排序(参见样本数据库),9.1计程仪程序流控制,例如,尝试Select Case选择结构,实现接收货物运输费的程序计程仪。要求:固定两地间,收取货物运输费的原则是1.0吨以内(不含1.0吨)的货物,每吨收取运输费100元来自1.0吨的5.0吨(不含5.0吨)的货物,每吨收取运输费70元以上的货物,每吨收取运费50元在图9.3所示的“计算运输费”表单的“重量”字符框(相关标签条为“货物重量”
7、)中键入货物重量后,如果喀呖声Command1(标题为“计算”)按钮,则如图9.4所示,在“成本”字符框(相关标签条为“运输费”)上运输费。 解题思路:这是最简单的多分支选择结构的例子,根据货物重量选择不同的运输费计算公式即可。 运输费计算(见样本数据库),9.1计程仪程序流控制,9.1.2循环结构6 :在表格中有命令按钮Command1,其喀呖声上通告的程序如下,且分析了在喀呖声该命令按钮后的sum值。 private sub command1_ click () dimsumasdouble,jaasdoublesum=0n=0f ori=1to5j=n/inon=n1sum=sumjne
8、xtisendsub,9.1普拉姆流控制器特罗尔,在此当I的值是1时,x的值是0,n的值是1,并且sum的值是0 (注意代入语句的顺序结构)。当I的值是2时,x的值是1/2,n的值是2,并且sum的值是1/2 示例7 :窗体中有一个名为Command1的命令按钮,喀呖声上通告的过程如下所示: 喀呖声命令按钮后,尝试分析对话框中出现的内容。 隐藏子命令1 _ cl click () DIMM (1.0定) as integer fork=1to 1.0 m (k )=1.2-kcnextkx=6msgboxm (2m (x ) )结束子,9.1普拉姆流控制,在本示例中,是对for循环语句和数组的
9、在本示例中,For循环的角色被分配给数据m的元素,并且下标k的元素是12-k,从而M(1)的值表示1.1,而M(10 )的值表示2。 留言框中显示的留言是M(2 M(x ) ),首先计算M(x )的值。 因为x=6,所以M(x)=6; 因此,M(2 M(x ) )实际上是M(8),所以最终消息框的显示结果变为4。 例8 :试着解析如下所示的普通堆计程仪程序执行结束后的变量k的值。 privatesubfun () dimjassaintegerj=1.0 DOJ=j3loopwhij 1.9 end sub,9.1柱计程仪流控制,本例是DoLoop While环结构的应用,分析的重点在于条件等
10、式j19及其位置。 除了在J19时执行整个循环的语句外,请注意,条件等式确定是否在Loop之后执行至少一次循环并返回循环的开头。 循环体中的语句为J=J 3,即每次执行循环j的值时加3。 在执行两次循环体操作后,由于J=16,满足J19的条件,因此还执行第3次循环,另一方面,若第3次循环结束,则J=19,由于不满足J19的条件,因此循环结束。 最终的j值是1.9。 例9 :试析内层n循环的执行次数。 form=0to7step3forn=m-2 to m2 nextnnextm,9.1计程仪柱流控制,本例是for循环的嵌套,解析的重点是内层环变量n的初始值和结束值。 与m的值无关,内层循环变量
11、n的值只有m-2、m-1、m、m 1、m 2这5个,也就是说,每次执行m循环时执行5次n循环。 另一方面,在m=0to 7步骤3中,执行3次外层m循环,因此内层n循环的次数成为1.5。 例1.0 :下面分析一下执行完计程仪程序后变量k的值。 k=0f ori=1to3forj=1tokik=kjoynexti,9.1计程仪柱流控制,本例是for循环的嵌套,解析的重点是内层j环的结束值为I,由于外层环变量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=1
12、0。 因此,在普通计程仪程序的执行完成之后k的值变为1.0。 (注意k值的累计过程)、示例1.1 :分析如下所示的计程仪程序执行结束后的变量x的值。x=1y=1z=1fork=1to3ifj=1thenx=x y zselseifj=2thenx=2* x2* y2* zselsex=3* x3* y3* zendifnextk,9.1普通堆计程仪流控制,在此示例中为for循环结构和子摇滾乐if语句在K=2的情况下,关早午餐字2可以是x=2*x 2*y 2*z; 在K=3的情况下,分支点3的x=3*x 3*y 3*z。 与选择结构的例子3相比,在本例中,代入语句的右端的变化在变量参加运算后被代
13、入。 循环总共执行三次,在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。 因此,普计程仪方案的执行结束后的x的值成为3.6。 示例1.2 :窗体中有一个名为Command1的命令按钮,喀呖声上通告的过程如下所示: 喀呖声命令按钮后,尝试分析信息框中出现的内容。 private sub command1_ click () fori=1to4x=3forj=1to3x=4fork=1to2x=x5nextknextjmsgboxxdendsub,9.1普通堆计程仪流控制,本示例是嵌套的for循环,
14、分析的重点是I 它们在进入I循环时,x的值为3,并且在进入j循环时,x再次被代入4。 因此,当x=4 For k=1 To 2 x=x 5 Next k个堆计程仪柱的执行结束时,最终结果由x的值为1.4的语句确定。 例1.3 :下面分析一下执行完计程仪程序后变量k的值。 Dim i,j,ksasaintegeri=1doForj=1toiistep 2k=kjoyni=I2 loopuntili 8,9.1柱计程仪流控制,本例是DoLoop Until环结构和for循环的嵌套,解析的重点是变量I值的变化过程I值的变化在DoLoop Until循环中用i=i 2代入语句进行,由于在i8中普计程仪
15、柱的执行结束,因此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值3.0。 示例1.4 :执行完下一个普通程序后,尝试分析消息框中显示的内容. Dim str1,str2asstringdimiasintegerstr1=“abcdef”fori=1tolen (str1) step2str2=u I1) str2nextimsgboxstr 2,9.1普计程仪程序流控制,在本例中使用了字符串函数Len (
16、)、Mid ()、大小写转换函数Ucase ()。 字符串str1的值保持不变,因此Len(str1)的值固定为6。 因此,For循环变量I的值是1、3和5 (步骤是2 ),Ucase(Mid(str1,I,1 ) )实际取str1的第I个字符并在变换为大写字符,其中,在i=1时str2=A; 在i=3的情况下,str2=CA; 在i=5的情况下,str2=ECA。 执行完计程仪程序后,在信息框中会显示ECA的内容。 示例1.5 :窗体中有一个名为Command1的命令按钮,喀呖声上通告的过程如下所示,尝试分析喀呖声命令按钮时在消息框中显示的内容。 私人命令1 _命令() dima (1.0定
17、,1.0定) form=2to4forn=4to5a (m,n )=m * nextnextmnmsgboxa (2,5 ) a (3,4 ) a (4,5 )终端子,9.1类型由于For循环的作用是将a(m,n)=m*n代入数组元素,所以在循环过程中必须考虑是否将数组元素a (2,5 )、a (3,4 )和a (4,5 )代入数组元素,因为m是2.4,n是4.5,三个在范围内,所以a (2,5 )=m=n 执行完计程仪程序后,信息框中显示的内容4.2。 例1.6 :计算要求:在图9.5所示的“计算”表格中有Text1(相关的标签条为“请输入n值”)的字符框和Command1(标题为“计算”)的命令按钮,在字符框中输入正整数,喀呖声Comman1,则如图9.6所示解决问题的思维方法:这个公式的各项是要求的多项式。 每个多项式都有相同的特征:从1到某个数。 (或者,分母从1累计到一定数量)公式的每个项目在同一评
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 办公用房监督制度
- 养老院财会制度
- 创建卫生县区监督制度
- 事务监督制度
- 2026年养护公路基础测试题及答案
- 办案监督制度
- 公司一把手自我监督制度
- 乡镇项目工程监督制度
- 健全人大对政府监督制度
- 加强企业会计监督制度
- 2024年湖南省高考历史试卷真题(含答案解析)
- 临时用电应急预案方案
- 13J104蒸压加气混凝土砌块板材构造
- 住房按揭借款合同
- 四年级四年级下册阅读理解20篇(附带答案解析)经典
- GB/T 17846-2024小艇电动舱底泵
- 2024地面用晶体硅光伏组件环境适应性测试要求第1部分:一般气候条件
- 洼田饮水试验评定量表
- 《煤气安全作业》培训教材
- 概率论与数理统计期末考试卷附答案
- 穴位注射水针专题宣讲
评论
0/150
提交评论