Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 综合其它

编码提示与优化技巧

时 间:2008-08-02 08:17:02
作 者:UMVsoft整理   ID:43  城市:江阴
摘 要:编码提示与优化技巧
正 文:


      1. 使用Option Explicit

          一定要使用Option Explicit。Option Explicit
      要求确定所有变量的大小,要不然VBA就会用最大、最灵活的数据类型来保存变量。通常来讲,规模很大、灵活性很强的应用也是最慢的。

      2.  慎重选择变量大小
             在确定变量大小时,使用尽可能最小的变量尺寸。在整型就可以时不要使用双精度型,可能情况下使用固定长度字符串而不要使用可变长度字符串。

      3.  使用字符串变量以节省堆栈空间

           字符串变量是代码中最常用的一种数据类型,它们可以被分解成三种类型:
           . 局部固定长度(长度不超过64个字符)——这些字符串每个字符仅用两个字节,而且不使用堆空间。
           .
      局部固定长度(长度超过65个字符)——这些字符串每个字符仍然使用两个字节,但是在堆内存中。同时,它们还要求堆栈中的四个字节来指向堆中的变量。
           .局部可变量长度(长度一限)——堆空间的数量依存字符串长度而定。四字节的堆栈内存被用指向堆中变量的指针。
        
      在处理字符串时,目标就应该是减少正在使用的堆栈内存。尝试着把字符串转换成局部可变长度或静态固定长度字符串。下面的代码段举说明为了节省堆栈内存而把内存而把可变长度字符串重新声明为静态固定长度字符串。

            Dim strstring as string

            Static strstring as string*30

           提示:用表的字段大小来决定固定宽度文本字符串的长度

      4.特写的对象类型声明

         
      在声明对象变量时要精确。如果代码将要运行经过窗体的文本框控件,声明对象变量为文本框,而不要仅仅声明为控件。这样,VBA不必确定到底说的是哪种控件。例如:可以用

               Sub CycleControls (cntl as TextBox)

            代替

               Sub CycleControls (cntl as control)

            来节省运行时间。

      5.切换True 和 False

          在把一个标志位从True 翻转到 False
      时,没有必要用一个IF…Then…Else结构来完成检查值标志的任务。可以用NOT操作符把值翻转,从而节省时间和代码。通过设定一个布尔变量为该变量的非,就可以翻转它。

             可以用

                 bFlag=Not bFlag

             代替

                 If bFlag=False then

                    bFlag=True

                 Else

                    bFlag=False

                 End IF

             运行一行代码比运行几行计算要节省许多时间。

      6.用Len()的函数代替空字符串

          为了测试一个字符串变量中是否含有字符,应该使用Len函数而不是把字符串变量和空字符串(””
      “”)进行比较。用Len计算比将变量和空字符串进行比较更快。

             Sub CheckString (strString as string)

               &n

Access软件网QQ交流群 (群号:54525238)       Access源码网店


常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助