【Access教程】 VBA变量声明中Static关键字妙用
时 间:2012-12-06 08:41:42
作 者:转载 ID:6392 城市:昆山
摘 要: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交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(12)-月度结存...(04.16)
- 仓库管理实战课程(11)-人性化操...(04.15)
- 32位的Access软件转化为64...(04.12)
- 【Access高效办公】如何让vb...(04.11)
- 仓库管理实战课程(10)-入库功能...(04.08)
- Access快速开发平台--Fun...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)