访问2010 vba TempVars创建编译错误

时间:2014-07-15 15:12:45

标签: access-vba ms-access-2010

  

声明

     

我尝试使用Access 2010的主页副本使用相同的语法,它按照预期的方式工作,一旦我确认当前版本的Access 2010在我的身上使用,将在未来几天编辑问题工作场所。

     

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

     

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

     

首页版本为:14.0.4734.1000

     

家庭版本有效,工作版本没有。还在试图找出原因。

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

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

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

根据访问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

更新

我已经开始使用宏构建器创建宏来设置tempvars,将其转换为VBA脚本并尝试运行程序本身创建的代码,但仍然会收到错误。

2 个答案:

答案 0 :(得分:0)

T的资本化不足让我想知道你的项目中某处有Dim tempVars / Global tempVars / Public tempVars等。首先搜索。您可以尝试使用Application.TempVars,但这不是必需的。

答案 1 :(得分:0)

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

我认为必须存在具有相同名称的系统变量,因此Access不允许您创建它们。

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