第8章+Access的编程工具VBA+.ppt

  1. 1、本文档共147页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Public Sub swap(x As Integer, y As Integer) Dim t As Integer t = x: x = y: y = t End Sub Public Sub swap1(ByVal x As Integer, ByVal y As Integer) Dim t As Integer t = x: x = y: y = t End Sub 按钮的单击事件如下: Private Sub Command0_Click() Dim x As Integer, y As Integer x = InputBox(x=) y = InputBox(y=) Debug.Print x, y swap x, y swap1 x, y Debug.Print x, y End Sub 如果输入5和7,程序的结果? 8.5.5 局部变量、全局变量和静态变量 变量的有效范围,即作用域。按照作用域不同,VBA有局部变量、模块级局部变量和全局变量 1.过程内局部变量 在过程和函数内用关键字Dim定义,有效范围是定义该变量的过程或函数。 形参也属于过程内局部变量 2.模块级局部变量 在模块的通用声明段用关键字Dim或Private定义,有效范围是定义该变量的模块。 例8-12 创建名为“排序”的窗体。运行时自动产生并在左面的列表框中输出10个0~99之间的随机数,单击“排序”按钮后将这10个数按降序排序,并在右边的列表框中输出排序的结果 解题思路: (1)用数组存放10个随机数。 (2)在窗体的Load事件中生成数组中的10个随机数,然后在“排序”按钮的Click事件中将数组排序,因此该数组应定义为模块级数组。 关于该题涉及的生成随机数和排序算法,可参考例8-6和例8-8。 使用AddItem方法动态向列表框中添加项目 控件名.AddItem(Item,Index) Dim a(1 To 10) As Integer ‘定义模块级数组 Private Sub Form_Load() Dim i As Integer 生成并输出数组 For i = 1 To 10 a(i) = Int(Rnd() * 100) Me.lst左.AddItem a(i) Next i End Sub Private Sub cmd排序_Click() Dim i As Integer, j As Integer, imax As Integer, t As Integer For i = 1 To 10 排序 寻找最大值的位置 imax = i For j = i To 10 If a(imax) a(j) Then imax = j Next j 交换 t = a(i): a(i) = a(imax): a(imax) = t Next i For i = 1 To 10 输出排序结果 Me.lst右.AddItem a(i) Next i End Sub 3.全局变量 是可在整个应用程序使用的变量。定义的方法是在模块的通用声明段用Public关键字定义变量。 引用全局变量时,如果是在标准模块中定义的全局变量,可在应用程序的任何地方直接用变量名引用该变量。如果是在类模块(如窗体模块)中定义的全局变量,可在应用程序的任何地方引用该变量,但在变量名的前面应加模块名限定,形式为“模块名.变量名”。 4.静态变量 静态变量决定了变量的生存期。 对于过程内的局部变量,它的生存期从进入过程(Sub)开始,到退出过程(End Sub)时结束。如果要改变过程内局部变量的生存期,可以将它定义为静态变量。 定义的方法是在定义过程内局部变量时加关键字Static。 例8-13 制作一个“记时器”窗体。 要求,该窗体运行后首先单击“设置”按钮,然后在输入框中输入计时的秒数,单击“开始”按钮则开始计时,同时计时的秒数显示在文本框中。当计时时间到,停止计时并响铃,同时将文本框清零。 基本思路: (1)本题中计时由窗体的Timer事件完成。 该事件按照预先定义好的时间间隔自动触发,这个时间间隔由窗体的TimerInterval属性决定。为1000,则每隔1秒触发1次。为0,不触发。 (2)由于在“设置”按钮的单击事件和“开始”按钮的单击事件中都要用到计时范围f,所以将变量f定义成全局变量。 (3)变量s的作用是计时,即每次Tim

文档评论(0)

微微 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档