【问题标题】:Generating multiple similar reports based on one query - MS Access基于一个查询生成多个类似的报告 - 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 直方图创建新报告的方式)?

【问题讨论】:

    标签: sql ms-access vba ms-access-2010


    【解决方案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 语句。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多