适用版本: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