Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

什么是 TempVars ?

时 间:2021-07-13 09:38:42
作 者:金宇   ID:43  城市:江阴
摘 要:一般可以在系统登录后,设置TempVars获取一些系统的公共参数,方便系统在后续运行过程中调用。
正 文:

适用版本:Access2007+

TempVars 有点像全局变量,是Access特有的,word,Excel等都不含此对象,TempVars代表 TempVar对象的集合,此集合可以存储最多 255 个 TempVar 对象。 如果不删除 TempVar 对象,它将保留在内存中,直到关闭数据库为止。 最好在完成使用它们时删除 TempVar 对象变量。


那么为什么要使用它们,您可能会问,为什么不使用传统的全局变量?
好问题!TempVars 提供了几个好处,主要是:
1.它们本质上是全局性的
2.它们不受 VBA 运行时未处理错误的影响和重置(传统的vba全局变量如果未加错误处理,但运行时一旦出现错误会引起全局变量的值重置,也就是变量值丢失。)
3.它们可以直接在查询、表单、VBA 中使用
4.可以使用宏和 VBA 等创建/修改它们
5.可以自动接受不同的变量类型

如何使用TempVars?
它们非常容易使用,并且有几种方法可以使用它们。
1、通过VBA设置TempVar
TempVars![UserName]="John"    或者TempVars.Add "UserName", "John"
TempVars![RoleID]=2
TempVars![Department]="Sales"

2、调用TempVars中的TempVar
msgbox TempVars![Department]

3、删除TempVars中的TempVar
TempVars.Remove("Department")
也可以在一个命令中删除/清除所有的临时变量
TempVars.RemoveAll

4、如何测试临时变量的存在?
If IsNull(TempVars!Department) = True Then 
    TempVars!Department = "Sales"
End If

5、检查 TempVars 变量类型
VarType(TempVars!RoleID)

6、 TempVars 集合中获取 TempVar 对象的数目
msgbox TempVars.Count

7、如果您想获得现有 TempVars 的列表
    Dim i As Long 
    For i = 0 To TempVars.Count - 1 
        Debug.Print TempVars(i).Name, TempVars(i).Value, VarType(TempVars(i)) 
    Next i


Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助