基于一个查询生成多个类似的报告 - MS Access
Posted
技术标签:
【中文标题】基于一个查询生成多个类似的报告 - MS Access【英文标题】:Generating multiple similar reports based on one query - MS Access 【发布时间】:2012-08-02 21:50:03 【问题描述】:我正在尝试从 MS Access 2010 中的一个查询中生成一些相关的直方图。我有两列,一个目标大小和一个实际测量值。我需要按目标大小拆分每个直方图,以便非常清楚哪些测量值是异常值,哪些实际上是另一个目标大小分组的一部分。
我有一个表格,您可以在其中指定您有兴趣查看的目标尺寸,然后是一个查询,将其与其他表格连接起来,得出目标尺寸列表和实际测量值。
例如
+-----------+--------+ +-----------+
| tgtHeight | Height | | tgtHeight |
+-----------+--------+ +-----------+
| 900 | 984 | | 900 |
| 900 | 910 | | 1600 |
| 1600 | 1744 | +-----------+
| etc... | |
+-----------+--------+
是否可以告诉报告仅在 VBA 或 SQL 中选择 tgtHeight = 900 的第一个表中的值(以我不必为每个 tgtHeight 直方图创建新报告的方式)?
【问题讨论】:
【参考方案1】:OpenReport 方法包含一个 where 参数。
DoCmd.OpenReport "ReportName", acViewPreview,,"tgtHeight =900"
http://msdn.microsoft.com/en-us/library/office/bb238032(v=office.12).aspx
【讨论】:
谢谢 Remou,我最终使用了 open args 参数,我似乎无法让 WHERE 参数起作用。我现在的问题是多次打开同一个报告,因为默认情况下它不起作用。 使用 Where 参数会更好,多个报告会更容易。你有什么问题?你使用了什么 OpenArgs,你是如何处理它们的? 我遇到的问题是,无论我作为 WHERE 子句发送什么,处理和绘制的数据都是相同的。这是图表对象的“行源”SQL: SELECT tblBins.bin_name AS bin_name, Sum(Log.height IS NOT NULL) * -1 AS [Count] FROM tblBins LEFT JOIN qryHeightByTgtHeight ON (qryHeightByTgtHeight.height = tblBins.bin_min) 按 bin_name 分组; 我使用的 OpenArgs 只是所需的整数 tgtHeight。然后我用它来填充我的 binSize 表,虽然现在我想起来了,这还不够,我需要 WHERE 参数才能工作...... 我猜它可能不适用于图表,我没有测试过。过去,我通过修改图表所基于的查询的sql,然后运行图表来修改图表。对于多个图表,这可能是一个更简单的选择。它肯定会允许您使用正确的 where 语句。以上是关于基于一个查询生成多个类似的报告 - MS Access的主要内容,如果未能解决你的问题,请参考以下文章