【Access教程】 VBA变量声明中Static关键字妙用-漏蛧尐魚℡
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


【Access教程】 VBA变量声明中Static关键字妙用

发表时间:2012/12/6 8:41:42 评论(0) 浏览(12724)  评论 | 加入收藏 | 复制
   
摘 要:VBA变量声明中Static关键字妙用
正 文:

我们在写VBA程序的时候都需对变量进行声明,这是因为ACCESS的默认模式是“显式声明”,也就是在新增的模块最前面加上“Option Explicit”,这一行,也就是要求在使用变量前一定要先声明,如果你不进行事先声明,则执行时会出现编译错误。 
     当然我们也可以删除“Option Explicit”,也就是允许变量不必经过声明就可以直接在程序使用。我们把这叫“隐式声明”,这种方式使用时非常方便,但是因为不知何处会突然冒出新的变量,对日后的程序查错及维护会产生不少困扰.因此我们还是养成"声明变量"的好习惯。 
     我们在声明变量的时候必须用到关键字,如“Dim”、“Private”、“Public”,使用“Dim”关键字就是“Private”,两 个关键字声明的变量,称之为局部变量,表示变量只能在同一模块内使用或是声明的模块内使用,“Public”的关键字声明的 变量,称之为全局变量,则表示变量在整个VBA工程(或是数据库)中都可以使用。 

     以上所说的这些变量声明是我们常用的,下面我所要说的是声明变量“Static”关键字。我们把用“Static”关键字声明的变量称之为静态变量,之所以称为静态变量,是因为其值不会因为程序的结束而消失,即会一直保留其变量,直到程序完全结束后才会消失。

例程试验一:如果用“Dim”声明变量,无论此过程执行多少次,你会发现“mCounter”变量值不会发生变化。

Sub Counter() 
    Dim mCounter as integer 
    mCounter= mCounter+1 
    Msgbox  mCounter 
End sub 
例程试验二:当我们用“Static”关键字时,“mCounter”变量值会随着程序执行次数进行累加。

Sub Counter() 
    Static mCounter as integer 
    mCounter= mCounter+1 
    Msgbox  mCounter 
End sub 
利用“Static”关键字声明变量的这一特性,我们可以用来实现对数据库系统登陆次数限制,如三次登陆错误则退出系统。 

例程如下:

Static intCounter as integer 
If  txtPass <> “密码” then 
    intCounter =intCounter+1 
Else 
    DoCmd.OpenForm “主窗体” 
End if 

If  intCounter > 3  then 
    Msgbox "你已三次输错密码,系统将退出!" 
    DoCmd.Quit 
End if  
转自:http://accesshome.5d6d.net/thread-3186-1-1.html


Access软件网交流QQ群(群号:198465573)
 
 相关文章
ByRef与ByVal关键字用法解析  【江羽  2010/3/2】
access关键字  【竹笛  2010/6/19】
简述IN关键字在Acccess中的用法  【红尘如烟  2011/5/12】
常见问答
技术分类
相关资源
文章搜索
关于作者

漏蛧尐魚℡

文章分类

文章存档

友情链接