Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access Access 2010 vba临时变量创建编译错误 免责声明_Ms Access_Vba_Ms Access 2010 - Fatal编程技术网

Ms access Access 2010 vba临时变量创建编译错误 免责声明

Ms access Access 2010 vba临时变量创建编译错误 免责声明,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,我已经尝试过在我的家庭版Access 2010中使用相同的语法,它的工作方式与预期的相同。一旦我能够确认我的工作场所正在使用当前版本的Access 2010,问题将在未来几天内进行编辑 问题似乎与访问相关,而与代码无关 更新:我的Access工作版本为:14.0.7128.5000 主版本为:14.0.4734.1000 主版本有效,工作版本无效。仍在试图找出原因 我试图在启动数据库时创建一些临时变量,无论我把它们放在哪里,都会得到一个编译错误:“找不到方法或数据成员”,调试器会在临时变量调用之

我已经尝试过在我的家庭版Access 2010中使用相同的语法,它的工作方式与预期的相同。一旦我能够确认我的工作场所正在使用当前版本的Access 2010,问题将在未来几天内进行编辑

问题似乎与访问相关,而与代码无关

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

主版本为:14.0.4734.1000

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

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

类似这样的内容: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脚本,并尝试运行由程序本身创建的代码,但仍然出现错误。

T的大小写不足让我怀疑您的项目中是否有暗临时变量/全局临时变量/公共临时变量等。首先搜索那个。您可以尝试使用
Application.TempVars
,但这不是必需的。

我使用
UserID
UserName
编写的应用程序也有同样的问题。我将变量名更改为其他名称,效果很好

我认为一定有同名的系统变量,所以Access不允许您创建它们


尝试将变量名更改为类似于
MyUserID
MyUserName
的名称。这对我来说很有用。

谢谢你的提示,我搜索了所有东西,没有任何乐趣。我一直在玩弄
应用程序.TempVars
,因为它似乎是让它工作的唯一方法,但是引用它们太长了,这很好地挫败了使用它们的初衷。