access 2010找不到我的VBA函数?

Posted

技术标签:

【中文标题】access 2010找不到我的VBA函数?【英文标题】:access 2010 can't find my VBA function? 【发布时间】:2014-03-20 14:30:30 【问题描述】:

我正在尝试创建一个 AutoExec 宏,它将在加载时运行一个函数。

我在一个名为 checkUser 的宏中声明并编写了函数

我创建了一个 AutoExec 宏,它的代码设置为“RunCode”命令,当我输入“checkUser()”函数名称时,它会自动填充,所以很明显它可以看到。

但是,一旦我运行 AutoExec 宏,我就会收到此错误:

您输入的表达式具有 Microsoft Access 找不到的函数名称

我也尝试将 Autoexec 转换为 VBA,然后手动输入代码,当我这样做时,我要么什么都没有发生,要么我收到一个错误,指出它不能重复超过 19 次。

我只是把函数放在了错误的位置吗?

【问题讨论】:

转到“即时”窗口(Ctrl+g 将带您到那里),输入 ? checkUser() 并按 Enter。会发生什么? checkUser 是宏还是函数? checUser 是一个函数,它被保存在一个同名的宏中。我只是将宏的名称更改为 loginCheck,并保持函数名称相同,现在它可以工作了!我猜它对我想运行什么感到困惑? 【参考方案1】:

正如您在 cmets 中所暗示的那样,您似乎遇到了名称解析问题。如果您的模块名称与函数名称相同,则需要进一步限定函数名称,例如 checkUser.CheckUser()

【讨论】:

以上是关于access 2010找不到我的VBA函数?的主要内容,如果未能解决你的问题,请参考以下文章

VBA IDE Access 2010。尝试打开即时窗口时找不到文件

Access 2016 VBA .FindFirst 在记录集中找不到记录

奇怪的情况,使用 ADO 在 Excel VBA 中定义连接到 Access .accdb 数据库的文件路径,但是它告诉我找不到 .mdb 文件

使用 Microsoft Access 2010 在子查询中找不到表

急,access找不到存在的数据表

IF FIND 函数在 vba 中找不到任何内容