使用导航子表单控件访问查询参数

时间:2016-12-08 22:27:39

标签: ms-access subform

我构建了一个包含导航表单的Access数据库。其中一个表单包括一个组合框和一个命令按钮,单击该按钮时,将打开一个基于组合框中的值进行过滤的报表。以下是有问题的查询的略微简化版本:

const $ = require('jquery');

$('#target').html('hello world!');

直到今天它工作正常。现在,当单击该按钮时,会出现一个输入框,要求为上述参数提供一个值([Forms]![NavigationForm]![NavigationSubform]。[Form]![comboBox])。实际上我正在分割数据库的前端工作,并且数据库的副本仍然可以正常工作并且具有完全相同的条件。组合框的名称未更改。我实际上遇到了任何导航子窗体上的所有控件的问题。当VBA代码出现问题时,我可以将其更改为Me.comboBox,但这在查询参数中不起作用。

由于这是在处理数据库的副本(但是我没有对其他形式进行其他更改但我没有重新创建)但是没有在这个上,我不确定问题可能是什么,除非事情是根本的这个副本错了。有没有办法找出可能出错的地方?或者以任何方式解决这个问题?

2 个答案:

答案 0 :(得分:0)

好的,所以你使用的是宏,在这种情况下你的开场参考有点过了 就你所描述的而言,你得到了一个导航表格,其中显然有一个导航表格,其中包含一个没有正确链接其值的组合框。
正确的意思是你必须自己输入一个值,因为控件不存在或找不到 在我的测试中,我能够使用openreport通过这个宏引用 enter image description here
您可以使用Text来获取它在组合中编写的内容,如果使用隐藏列,则使用value来获取底层代码。

编辑:

在where语句中有一个额外的表单子类。

SELECT *
FROM tbl
WHERE site Like "*" & [Forms]![NavigationForm]![NavigationSubform]![comboBox].Text & "*";

答案 1 :(得分:0)

我更改了导航表单的名称,现在一切正常。我仍然不明白为什么会有所不同,因为旧的表格名称在上周工作正常,但只要它有效,我很高兴。

相关问题