1

我有一个包含报告的 Access 2010 数据库。该报告从表单中获取两个值来过滤结果。报告由主报告和子报告组成。

然而,我遇到了一个问题,如果主报告没有返回任何记录,即使确实包含记录,子报告也不会显示。我已将输入变量的内容放到子报表中,因此我可以看到子报表正在获取正确的输入变量。唉,如果主报告是空白的,它什么都不显示?

如果主报告为空,是否总是显示子报告?

4

1 回答 1

0

如果您报告依赖于子表单控件的链接子字段和主字段,则可以通过将链接主字段设置为控件的名称而不是字段的名称来完成此工作。例如,假设您有一个名为 的字段AText,它绑定到一个控件AText,子表单具有链接子字段和主字段:

  Link Master Fields: AText
  Link Child Fields:  AText

这对于使用向导创建的表单是正常的。现在开始篡改。将控件重命名为AtexttxtAtext更改链接主字段:

  Link Master Fields: txtAText
  Link Child Fields:  AText

并添加一点代码:

Private Sub Report_NoData(Cancel As Integer)
    Me.txtAText.ControlSource = "=""abc"""
End Sub

其中值“abc”是出现在子表单的记录源中的值,因此子表单将填充所有“abc”记录。显然,您必须更改上述内容以适合您的特定数据。

于 2013-01-12T19:07:52.167 回答