view1
带有参数[年](当我打开薄视图访问时,请要求我一年)。a视图
视图2
从View1a报告Report1
使用View2作为源form1带有野外年
打开形式
enter值年报告将自动从字段中获取值,并将参数传递给数据源视图2
select a, b, c from tab where y=[Form1]![YEAR]
Private Sub Report_Open(Cancel As Integer)
Set db = CurrentDb
Set qdf = db.QueryDefs("Anlage1_ken3")
qdf.Parameters("[PARAM_YEAR]") = 2016
qdf.Parameters("[PARAM_FIRMA]") = 1
Set rst = qdf.OpenRecordset
Me.RecordSource = rst 'I have an exception here
End Sub
没有人知道一种将此记录集用作报告的记录集的方法?
将视图1作为参数查询 - 类似的内容。
Set db = CurrentDb
Set qdf = db.QueryDefs("View1")
qdf.Parameters("[Year]") =2017
Set rst = qdf.OpenRecordset
请参阅此链接的方法,以使用报告中的记录集Http://access.mvps.org/access/reports/rpt0014.htm
明显您可以这样做
yes,您可以通过在调用OpenReport.之前设置参数(通过DOCMD.SETPARAMETER)。
这里是一个演示:
Sub RUNReportWithParams()
'Start report with previous set query parameters
Dim AReportName As String
AReportName = "REPORT1"
'Setting the parameters
DoCmd.SetParameter "[PARAM_YEAR]", 2016
DoCmd.SetParameter "[PARAM_FIRMA]", 1
'Open report (the set params are recognized!)
DoCmd.OpenReport AReportName, acViewPreview
End Sub
Https://learn.microsoft.com/en-us/office/vba/api/access.docmd.setparameter
请注意,这必须发生在report_open处理程序中添加setParameter做
not
工作。