Ms access 基于调用表单筛选MS Access子报表
我想在一份包含六个子报告的报告中总结数据:Ms access 基于调用表单筛选MS Access子报表,ms-access,ms-access-2007,vba,Ms Access,Ms Access 2007,Vba,我想在一份包含六个子报告的报告中总结数据: 按部门列出的潜在销售额 按部门分列的实际销售额 按地区划分的潜在销售额 按地区划分的实际销售额 销售助理的潜在销售额 按销售助理列出的实际销售额 每一项都在一列中显示“依据”(部门、地区、员工),在第二列中显示销售价值。报告本身是未绑定的,但由一个表单调用,我也使用该表单调用一个显示每个单独销售数据的详细报告。我希望能够在摘要表单上使用许多相同的过滤器(例如部门、办公室位置、销售日期范围等),我使用这些过滤器过滤详细信息 因为子报表使用GROUP
- 按部门列出的潜在销售额
- 按部门分列的实际销售额
- 按地区划分的潜在销售额
- 按地区划分的实际销售额
- 销售助理的潜在销售额
- 按销售助理列出的实际销售额
我不相信这是解决我的问题的最佳方法,所以我愿意接受其他解决方案,只要它能让我得到相同的最终产品。您可以创建一个PassThruQuery(ptq\u 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
试试看。听起来好像记录源属性是在设计时设置的,您想在运行时设置它。我的Ken Getz sez的旧副本,“在为报表提供数据的查询之前运行报表的打开事件”。我相信我已经在以前的项目中修改了记录源,并且能够在运行时设置它。你的想法是什么?我不确定这是否是你所指的,但它确实让我意识到我应该将代码放在子报表的Report_Open事件中,而不是试图从父报表的Report_Open事件中操作(仍然卸载)子表单。正如您所指出的,Report_Load(报告加载)为时已晚,无法执行任何操作,并且您无法在加载子报告之前对其进行操作,因此唯一有效的事件是子报告的Report_Open(报告打开)。