访问 TempVars 不要编译

Access TempVars Don't Compile

我已经使用 TempVars 一段时间了,但我在 Access 2010 数据库中遇到了一些问题。

每当我尝试编译时,都会出现一个说明 "Method or data member not found" 的错误对话框,并且会突出显示术语 TempVars。

这是有问题的代码片段:

If TempVars("Connected") And TempVars("HasAccessBE") And Me.chkBackupOnExit Then MakeBackup

虽然我之前已经成功使用了 TempVars("xx"),其中 "xx" 是在别处用 TempVars.Add "xx", "yy"

定义的变量

在这种情况下,编译器以某种方式认为 TempVars 不是可行的代码。

这些也被检查过:

万一这是腐败的事情,还完成了以下任务:

我正在努力解决这个问题,以便我可以编译并继续前进。代码对用户来说运行良好,但仍然需要编译。

关于如何解决这个问题有什么想法吗?

添加到TempVars 集合时,需要定义名称和值。然后您可以通过名称检索值。

TempVars.Add(name As String, value)

工作示例:

Sub Test()
    Dim b As Boolean
        b = True

    TempVars.Add "bool", b

    Debug.Print TempVars("bool")
End Sub

'True

非常有趣的行为。

这为我编译:

If TempVars("Connected") And TempVars("HasAccessBE") Then Debug.Print "Yay!"

如果 TempVars 不存在,我将得到一个运行时错误,而不是编译错误。
其实连这个都没有,他们只是 return Null.


这不编译:

If TempVars("Connected") And TempVars("HasAccessBE") Then WrongFunction

但是: 编译器选择第一个 TempVars 并说 "Sub or Function not defined"。而不是选择问题所在的WrongFunction

=> 错误不在 TempVars 中,而是在语句的其余部分。

从错误信息来看,我认为 Me.chkBackupOnExit 不存在/拼写错误。


编辑: 要查看发生了什么,请将您的代码行更改为

If Me.chkBackupOnExit Then MakeBackup

并尝试编译它。