什么是 TempVars ?-金宇
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


什么是 TempVars ?

发表时间:2021/7/13 9:38:42 评论(0) 浏览(5081)  评论 | 加入收藏 | 复制
   
摘 要:一般可以在系统登录后,设置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群(群号:198465573)
 
 相关文章
检查对象是否存在的函数  【月皓星隐  2015/1/22】
Module 对象  【微软  2016/9/7】
Access VBA教程:Control对象  【杨雪  2016/11/22】
Wscript.Shell 对象详细介绍  【易勋  2017/4/30】
WScript.Shell对象SpecialFolders属性  【易勋  2017/4/30】
常见问答
技术分类
相关资源
文章搜索
关于作者

金宇

文章分类

文章存档

友情链接