首页 > 解决方案 > MS Access 2016 VBA 导致“输入参数值”窗口

问题描述

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

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

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

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

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

我错过了什么?

标签: ms-access

解决方案


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


推荐阅读