全局变量丢失

Sam*_*Sam 1 ms-access vba

我有一个全局变量,它只是一个字符串。我在通过 AutoExec 打开 Access 时设置了它。此变量基于 bool 是真还是假,这也是全局变量。

设置全局变量很好。但是我有一个错误,这意味着我需要停止我的代码并重新启动它来修复它。这然后导致全局变量被设置为空。

这是正常行为吗?我只是注意到它在哪里丢失了。但是,这意味着如果确实出现任何错误,我需要停止我的代码来修复它。每次都会迷路。并且需要关闭并再次打开它。

无论如何,在我仅关闭 Access 之前是否要保持设置?

kis*_*ert 5

听起来像 TempVars 有你想要的行为。

这些内置于 Access 2007 及更高版本。

示例(在立即窗口中):

Application.TempVars("abc") = 123
? Application.TempVars("abc") 
 123 
? TempVars![abc]
 123
Run Code Online (Sandbox Code Playgroud)

这些将持续到应用程序关闭,并在程序重置后继续存在。

SetTempVar可以在 AutoExec 宏中使用该操作来设置 TempVar 值。