4

自从我使用 MS Access 以来已经有很长时间了,我不确定我是否做对了。

我有一个绑定到单个用户名列表查询的报告。该报告按用户名分组,并在详细信息中包含一个子报告,即图表。

子报告/图表基于接受用户名参数的查询。由于子报告未绑定,我需要将用户名参数从主报告详细信息 onload 事件传递到子报告,从而传递到底层查询。

我不明白如何做到这一点,即使我的方法是合理的。

(ps 我最初发布在“超级用户”上,但看到使用该网站的人并不多。)

谢谢您的帮助

4

1 回答 1

10

为了充分利用子报表,它们应该绑定到记录源(表或查询),并使用子窗体/子报表控件的Link Master FieldsLink Child Fields属性将子报表数据与父记录“同步”。

假设您有一个 [Users] 表

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] 的子报表控件

子报表1.png

当您在主窗体上的子窗体/子报表控件中使用该报表时...

主报告.png

...一定要设置Link Master FieldsLink Child Fields属性...

属性.png

...因此您的报告将如下所示:

预览.png

请注意,此示例根本不需要 VBA 代码。

编辑

将图表添加到报表时,同样的原则也适用。以下报表按日期显示用户流量,因此主报表的记录源为

SELECT DISTINCT trafficDate FROM UserTraffic ORDER BY trafficDate;

报表使用图表控件而不是子窗体/子报表控件...

设计.png

...和图表控件的属性是...

属性.png

生成的报告如下所示

预览.png

于 2013-04-27T11:11:35.480 回答