Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 将查询参数传递给子报表_Ms Access_Ms Access 2007_Vba - Fatal编程技术网

Ms access 将查询参数传递给子报表

Ms access 将查询参数传递给子报表,ms-access,ms-access-2007,vba,Ms Access,Ms Access 2007,Vba,我已经有很长一段时间没有使用MS Access了,我不确定我是否做对了 我有一个绑定到单个用户名列表查询的报告。报告按用户名分组,并在详细信息中有一个子报告,即图表 子报表/图表基于接受用户名参数的查询。由于子报表没有绑定,我需要将用户名参数从主报表detailonload事件传递到子报表,从而传递到基础查询中 我不知道如何做到这一点,甚至我的方法是否合理 (顺便说一句,我最初是在“超级用户”网站上发布的,但没有多少人使用该网站。) 感谢您的帮助要充分利用子报表,应将它们绑定到记录源(表或查询)

我已经有很长一段时间没有使用MS Access了,我不确定我是否做对了

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

子报表/图表基于接受用户名参数的查询。由于子报表没有绑定,我需要将用户名参数从主报表detailonload事件传递到子报表,从而传递到基础查询中

我不知道如何做到这一点,甚至我的方法是否合理

(顺便说一句,我最初是在“超级用户”网站上发布的,但没有多少人使用该网站。)


感谢您的帮助

要充分利用子报表,应将它们绑定到记录源(表或查询),并使用子窗体/子报表控件的
链接主字段
链接子字段
属性将子报表数据与父记录“同步”

假设您有一个[用户]表

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

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

…确保设置
链接主字段
链接子字段
属性

…所以你的报告会是这样的:

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

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

SELECT DISTINCT trafficDate FROM UserTraffic ORDER BY trafficDate;
报表使用图表控件而不是子窗体/子报表控件

…图表控件的属性是

生成的报告如下所示


当您说子报表“未绑定”时,您的意思是子表单/子报表控件没有
链接主字段
链接子字段
的值吗?是的,它未绑定。这些字段不能在属性窗口中设置。这是一个极好的响应,非常感谢。我的情况是,我正在努力以图表作为子报告。图表向导抛出我,因为它需要行源信息。最后,我想要一份包含Gord、Tim和您示例中用户表中任何人的图表的报告。我仍然无法配置此选项。再次感谢Gord!您的报告和我的报告之间的唯一区别是,我使用交叉表查询作为图表的源。图表的源查询有一个用户名参数。该用户名不显示在查询中,因此在报表设计器中链接主/子项不可用。主报表具有用户的数据源,因此报表的每条记录都是一个用户。用户名需要以某种方式转到报告,以便显示正确的图表。再一次。。。不确定我是否正确地处理了这个问题。非常感谢您的耐心和帮助。我想我需要动态更改每条记录上的rowsource SQL语句。可能是在onprint&onpaint事件上。@查询参数的唯一目的是为单个用户隔离记录吗?如果是这样,您可以修改查询,使其返回所有用户的结果,并将用户名作为附加列包含在内,以便建立主/子关系。是的,这是正确的。查询的参数将数据隔离给用户。更改图形的rowsource属性be event时,我运气不太好。代码似乎在运行,但每条记录上的图形都是相同的。我看看能不能按你的方式做。