的声明
我尝试使用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脚本并尝试运行程序本身创建的代码,但仍然会收到错误。
答案 0 :(得分:0)
T的资本化不足让我想知道你的项目中某处有Dim tempVars / Global tempVars / Public tempVars等。首先搜索。您可以尝试使用Application.TempVars
,但这不是必需的。
答案 1 :(得分:0)
我使用UserID
和UserName
编写的应用程序遇到了同样的问题。我将变量名称更改为其他名称并且工作正常。
我认为必须存在具有相同名称的系统变量,因此Access不允许您创建它们。
尝试将变量名称更改为MyUserID
和MyUserName
。这对我有用。