MS Access 2016 VBA 导致“输入参数值”窗口

Posted

技术标签:

【中文标题】MS Access 2016 VBA 导致“输入参数值”窗口【英文标题】:MS Access 2016 VBA causes "Enter parameter value" window 【发布时间】:2018-10-13 06:44:35 【问题描述】:

我有一个带有过滤器文本框的表单。过滤器用作宏命令“ApplyFilter”,具有以下过滤器字符串:

[fullname] & [phoneNumber] Like '*' & [Forms]![frmTest]![frmFilter] & '*'

在我尝试将 VBA 代码添加到表单之前,它一直有效。即使 VBA 模块中没有代码,当我尝试应用过滤器时,我也会收到“输入参数值:[Forms]![frmTest]![frmFilter]”弹出窗口。

如果我将表单的“HasModule”属性设置为“否”,过滤器将再次起作用。

这不仅仅是关于过滤器或宏命令。这与在 [Forms]![frmTest]![frmFilter] 等 SQL 查询中引用表单值相同。它在没有 VBA 模块的情况下工作。如果表单有 VBA 模块则不起作用 - 出现“输入参数值”窗口。

我错过了什么?

【问题讨论】:

【参考方案1】:

似乎这是表单控件名称中的非拉丁字符的问题。此类控件显示为“???????”在 VBA 模块中。我制作了一个新表单并用拉丁字符重命名了所有控件,并且一切都适用于启用的 VBA 模块。一旦我添加了一个非拉丁名称的按钮,一切都会中断并在删除它后开始工作。

【讨论】:

以上是关于MS Access 2016 VBA 导致“输入参数值”窗口的主要内容,如果未能解决你的问题,请参考以下文章

从 MS Access 2016 VBA 启动 Outlook 2016 触发“另一个程序正在使用 Outlook”并死掉

如何使用 MS Access 2016 在 VBA 表达式中编写数字字段?

MS Access/ VBA:将 if 条件添加到 vba 代码

MS Access:导入规范无法通过 VBA

MS Access - 在 VBA 中编写 SQL

MS Outlook 干扰 Access vba 程序