VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > Access数据库 >
  • 【Access教程】 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

 

 

相关教程