2

我有一份可多次使用的报告,但有时查询不包括报告中的所有字段。发生这种情况时,报告会在弹出窗口中询问缺少的字段值。我想隐藏这些窗口并默认设置“”或不设置。

我该怎么做?

4

1 回答 1

1

我建议重组报告以考虑多个记录源,而不是隐藏您当前看到的错误。有几种方法可以做到这一点。

在不了解您的报告的情况下很难提供太多细节,但您可以考虑以下几点:

1) 使用未绑定报表并根据查询记录集根据需要动态填充字段。您可以根据用作数据源的查询来改变填充哪些字段,而其他字段将留空和/或隐藏。但是,如果您需要将此数据库分发给其他用户或将数据库编译为可执行版本,这可能会导致问题。

2) 创建一个动态创建或修改报表对象的 VBA 例程。在这种情况下,您将根据多个报告配置文件动态创建新的报告对象(以及其中的控件)(无需重新创建现有报告)。您可以指定控制位置、定义等,并且仅根据需要进行更改。根据您的报告,这可能很容易通过使用所有字段从头开始创建报告,然后只需删除您在给定报告中未使用的字段所需的步骤。

3) 继续使用绑定到一个查询的报表,但根据需要修改查询定义,通过在 VBA 中动态构建 SQL 字符串,根据需要删除字段值。因此查询将始终包含所有报告字段,但在某些情况下会返回真实数据,而在其他情况下会返回虚拟结果,即“”。您还可以更改哪些字段具有 GROUP BY 或 WHERE 子句。

我希望这会有所帮助——祝你好运!

于 2013-02-28T18:48:35.343 回答