【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)
- 【Access高效办公】按日期...(06.12)
- 合并列数据到一个文本框的示例;...(05.06)
- 通过命令按钮让Access列表...(04.24)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)

学习心得
最新文章
- Access快速开发平台--Acc...(06.16)
- 【Access高效办公】按日期区间...(06.12)
- Access快速开发平台--生成复...(06.07)
- 仓库管理实战课程(25)-导航菜单...(06.06)
- 仓库管理实战课程(24)-库存月结...(06.05)
- 分享一个简单的X氏家谱小示例(06.04)
- 仓库管理实战课程(23)-先入先出(06.02)
- 仓库管理实战课程(22)-代理商库...(05.30)
- 仓库管理实战课程(21)-安全库存...(05.28)
- Access快速开发平台--如何添...(05.26)