自从我使用MS Access已经很长时间了,我不确定我是否正确这样做。
我有一个报告绑定到单个用户名列表的查询。该报告对用户名进行分组,并在详细信息中包含一个子报告。
子报告/图表基于接受用户名参数的查询。由于子报表未绑定,我需要将用户名参数从主报表详细信息onload事件传递到子报表,从而传递到基础查询。
我不理解如何实现这一点,或者即使我的方法合理。
(p.s。我最初发布在“超级用户”上,但看到没有多少人使用该网站。)
感谢您的帮助
答案 0 :(得分:10)
为了充分利用子报表,应将它们绑定到记录源(表或查询),并使用Subform / Subreport控件的Link Master Fields
和Link Child Fields
属性来“同步”子报表数据与父记录。
假设您有[用户]表
userID
------
Gord
Tim
和[UserTraffic]表
userID trafficDate downloadMB
------ ----------- ----------
Gord 2013-04-26 366
Gord 2013-04-25 442
Tim 2013-04-26 890
Tim 2013-04-25 212
您的主报告[UserReport]绑定到[Users]并包含基于报告的子报告控件[UserTraffic_subreport]
在主窗体上的子窗体/子报表控件中使用该报表时...
...务必设置Link Master Fields
和Link Child Fields
属性...
...所以你的报告将会是这样的:
请注意,此示例根本不需要任何VBA代码。
向报表添加图表时适用相同的原则。以下报告按日期显示用户流量,因此主报告的记录源为
SELECT DISTINCT trafficDate FROM UserTraffic ORDER BY trafficDate;
报告使用Chart控件而不是Subform / Subreport控件...
...而Chart控件的属性是......
结果报告如下所示