【问题标题】:Access 2010 vba TempVars creation compile errorAccess 2010 vba TempVars创建编译错误
【发布时间】:2014-07-15 15:12:44
【问题描述】:

免责声明

我已经尝试使用我的 Access 2010 的家庭副本使用相同的语法,它的工作方式应该是这样,一旦我可以确认当前版本的 Access 2010 正在我的家庭中使用,问题将在接下来的几天内进行编辑工作场所。

问题似乎与 Access 相关而非代码相关

更新:我的 Access 工作版本是:14.0.7128.5000

家庭版是:14.0.4734.1000

家庭版有效,工作版无效。仍在试图找出原因。

我试图在启动我的数据库时创建一些 TempVar,无论我把它们放在哪里,我都会收到一个编译错误:“找不到方法或数据成员”,然后调试器会突出显示“.Add”方法在 tempVars 调用之后。

类似这样的东西:tempVars.Add(斜体是调试器突出显示的部分)。

我在几个不同的函数中尝试过,我把它们放在他们自己的公共子中,我还尝试在代码顶部添加“Option Explicit”,无论如何它都会抛出相同的错误。

根据 access 2010 帮助文件,我的语法应该是正确的。是否有一些我应该首先设置的数据库选项?

我的代码:

Option Compare Database


'AutoExec

Function AutoExec()

    tempVars.Add "userID", ""
    tempVars.Add "userPermissions", ""
    tempVars.Add "userName", ""

On Error GoTo AutoExec_Err

    If (CurrentProject.IsTrusted = False) Then
    Beep
    MsgBox "Please enable Macros for the database to work", vbQuestion, "Please Enable Macros"
Else
    checkUser
End If



AutoExec_Exit:
    Exit Sub

AutoExec_Err:
    MsgBox Error$
    Resume AutoExec_Exit
End Sub

更新:

我已经使用宏生成器创建宏来设置临时变量,将其转换为 VBA 脚本并尝试运行程序本身创建的代码,但我仍然收到错误。

【问题讨论】:

    标签: ms-access vba ms-access-2010


    【解决方案1】:

    T 缺少大写字母让我想知道您的项目中有 Dim tempVars / Global tempVars / Public tempVars 等。先搜索那个。您可以尝试使用Application.TempVars,但这不是必需的。

    【讨论】:

    • 感谢您的提示,我搜索了所有内容,但没有任何乐趣。我一直在玩Application.TempVars,因为它似乎是让它工作的唯一方法,但是引用它们的时间太长了,它很好地违背了首先使用它们的目的。
    【解决方案2】:

    我在使用UserIDUserName 编写的应用程序中遇到了同样的问题。我将变量名称更改为其他名称,它工作正常。

    我认为必须有同名的系统变量,因此 Access 不会让您创建它们。

    尝试将变量名称更改为 MyUserIDMyUserName 之类的名称。这对我有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多