0

我在 MS Access 2016 中有一个报告,其中Record Source设置为我创建的查询。

我已绑定文本框以正确显示来自查询的数据。

当我尝试使用未绑定的文本框时,问题就出现了。我有一个未绑定的文本框,我想在其中输入自定义值,比如名称。当我在文本框中输入时,文本会正确显示。但是,一旦焦点离开文本框,文本就会消失。

为什么会发生这种情况,我该如何做到这一点,以便文本将一直保留到我关闭/重置报告?

4

1 回答 1

2

与表单不同,报告并不意味着是交互式的。在 ReportView 中可以进行一些有限的交互(按钮单击、右键单击过滤器菜单),并且在 PrintPreview 中可以使用右键单击菜单进行导出选项。

在表单上的未绑定文本框中输入文本。在报表文本框中有表达式 ControlSource 引用表单上的文本框。

=Forms!formname.textboxname

然后打开报告。

或者可以通过引用表单文本框的 OpenReport(或 OpenForm)的 OpenArgs 参数传递数据。
DoCmd.OpenReport "reportname", acViewPreview, , , , Me.textbox
然后报表文本框中的表达式可以从 OpenArgs 属性中提取值。
=[OpenArgs]

无论哪种方式,输入都是通过对表单的控制。

另一种方法是在查询中使用弹出输入作为报告 RecordSource。
SELECT table.*, [enter name] AS F1 FROM table;
将文本框绑定到字段 F1。当报告打开时,将出现输入弹出窗口,此输入将显示在文本框中。

于 2020-07-10T17:46:39.350 回答