2011-06-21 76 views
3

我在一个大型MS Access(2007)数据库中有大约35个查询,我希望在报告中使用它。但是,我不想为每个查询创建报告,而是希望在一个报告中包含多个查询。与此有关的其他问题似乎与桌面有关,但我主要关心查询。MS Access - 在一个报告中使用多个查询

我已经在几种解决方案看起来到目前为止,还没有这没什么帮助:

1)使用DLookup - 返回一个值。我需要用每个查询中的许多值填充报表。 2)子报表 - 我试图创建文本框来链接我的查询数据,但由于它们是解除绑定,它不会让我。

3)大喊大叫。我一直对Access大喊大叫,似乎没有帮助。

4)一个巨大的查询从所有较小的查询中获取值 - 它无法识别我在较小的查询中构建的表达式。示例:CustomerCount = DCount(“[Customer_ID]”,“[Customers]”)。错误:'CustomerCount'无法识别。

任何想法将不胜感激。

感谢,

+0

当您创建巨型查询时是否有您创建的值列出?它是否说CustomerCount?您可以使用CustomerCount值发布较小的查询吗? – Taryn

+2

+1可能的解决方案#3。当我使用Access时,我一直认为这应该有所帮助。 –

+0

我不明白这个问题。这些查询中要将哪些类型的数据合并到单个报表中?请提供一些示例SQL。否则,我不知道任何人甚至可以开始提供有用的建议。 –

回答

3

如果要创建从一个查询是由多个子查询的报告,您可以通过填充文本框做到这一点。如果查看报告>数据选项卡>控制源上的属性,则应从巨型查询中放置子查询的名称,然后输入您想要的值。

例如:

Master query 

    SELECT 
     [Deb<30].CountOfACCT_ID, [Deb<30].SumOfB001, 
     [Deb<60].CountOfACCT_ID, [Deb<60].SumOfB001, 
     [Deb<90].CountOfACCT_ID, [Deb<90].SumOfB001, 
     [Deb>90].CountOfACCT_ID, [Deb>90].SumOfB001, 
     TodaysHD.CountOfACCT_ID, TodaysHD.SumOfB001, 
     TodaysLD.CountOfACCT_ID, TodaysLD.SumOfB001, 
     Part.CountOfACCT_ID, Part.SumOfB001, 
    FROM [Deb<30], [Deb<60], [Deb<90], [Deb>90], TodaysHD, TodaysLD, Part; 

每个在FROM部分项目是子查询被拉入主查询。然后在您的报告中,您将使用[Deb<30].CountOfACCT_ID或您需要从主查询中获得的任何值填充控制源。我在我的应用程序的多个报告中有这个设置,所以它应该可以工作。

0

为2),你应该能够绑定您的控件,您的报表应该有一个记录源。

否则,尝试列表框,它们的图形外观不完全灵活,但他们可能会完成工作。

问候, //牛逼