我想要在包含六个子报告的单个报告中汇总数据:
其中每个都显示一列中的“by”(部门,区域,关联)和第二列中的销售值。报告本身是未绑定的,但是我还使用一种表格来调用详细报告,显示每个单独销售的数据。我希望能够在用于过滤详细信息的摘要表单中使用许多相同的过滤器(例如部门,办公地点,销售日期范围等)。
因为子报表使用GROUP BY,所以不可能以这样的方式查询它们,即我可以在Filter属性中包含过滤器值。我必须将它们包含在Record Source属性中。
我目前的尝试是将表单中的值传递给报表中的字段,我可以在子报表的查询中引用这些值,但这似乎不起作用。我还尝试将过滤字符串传递给报表,我以编程方式将其传递给子报表底层的查询,但报表不会采用过滤字符串,而且我当前正在使用OpenArgs为报表的标题传递自定义值。
我不相信这是解决我问题的最佳方法,所以只要它能让我获得相同的最终产品,我就会接受替代解决方案。
答案 0 :(得分:0)
您可以创建PassThruQuery(ptq_mySummary)作为模板,并在运行时替换。
我使用ptq,因为保存后显示不会被包装成不可读性。我也可以放入可替换的参数,例如@geoLevel后来通过
检索它sSQL = QueryDefs(ptq_mySummary).SQL
sSQL = Replace(sSQL,"@geoLevel", me.arg...)
Me.RecordSource = sSQL
可重复参数可以是任何参数,例如
Where ( nz(Wait.WaitResultAction, '') ='@Res'
And Wait.WaitPriority IN ('@Prty')
我也用它来改变产品/测试服务器,以及DST12 / DST13 / DST14年度数据库
From [ODBC;Driver=SQL Server;Server=@aServer;Database=@aDatabase;].dbo.STU
试一试。