变量和常量的作用域

来源:岁月联盟 编辑:zhu 时间:2009-02-23
变量或常量的作用域决定了这个变量或常量是只能在一个过程中使用,在一个模块中的所有过程中使用;还是可以在数据库的所有过程中使用。如果希望一个变量能被数据库中的所有过程(包括其他模块中的过程)访问(公共作用域),则需要在声明时加上Public语句。也可以用Private语句显式地将一个变量的适用范围声明为在模块内(私有作用域),但这不是必需的,因为Dim和Static所声明的变量默认为在模块内私有。例如,语句
Public Dim MyName As StrIng
所声明的变量MyName-可以在整个程序中引用。语句
I)ira MyName As String
所声明的变量MyName-只能被变量所在的模块使用。同样,语句
P1ablic Const PI一3.1415926
所声明的常量PI可以在所有模块中使用。语句
xC(rest PI一3.1415926
所声明的常量P1只能在该模块中使用,要在其他模块中使用只能重新声明。
在过程结束之前,Dim语句一直保存着变量的值(存储空间)。也就是说,使用Dim语句声明的变量在过程之间调用时会丢失数据;而用Static语句声明的变量则在模块内一直保留其值,直到模块被复位或重新启动。在非静态过程中,用Static语句来显式声明只在过程中可见的变量,但其存活期与定义了该过程的模块一样长。
在过程中,对在过程的调用之间保留其值的变量,可用static语句来声明它的数据类型。例如,语句
Static X As New Worksheet
声明了一个工作表中新实例的变量x。语句
Static EmployeeNumbeR (200)As Integer。
声明了一个包含200个元素的整型数组EmployeeNumbei’。
清除过程中静态变量的方法是:选择“运行”菜单的“重新设置”命令。
<注:>也可以用Static关键字来声明函数和子程序,以便在模块的生存期内保留函数和子程序内的所有局部变量。新客网 www.xker.com

图片内容