【发布时间】:2019-01-27 17:21:13
【问题描述】:
我正在尝试生成类似于交叉表的报告。数据来自过滤后的表单(Dates 和 WorkerID (String))。
- 表格:frmReg
- 数据表:tReg
- 报告:reportReg
在下面一行:
Set qdf = dbsReport.QueryDefs(Me.RecordSource)
我收到了错误:
错误 3265 在此集合中找不到项目
我做错了什么?
Private Sub Report_Open(Cancel As Integer)
' Create underlying recordset for report using criteria
Dim intX As Integer
Dim qdf As QueryDef
Dim frm As Form
' Don't open report if frmReg form isn't loaded.
If Not (IsLoaded("frmReg")) Then
Cancel = True
MsgBox "To preview or print this report, you must open " _
& "frmReg in Form view.", vbExclamation, _
"Must Open Dialog Box"
Exit Sub
End If
' Set database variable to current database.
Set dbsReport = CurrentDb
Set frm = Forms!frmReg
' Open QueryDef object.
' Set qdf = dbsReport.QueryDefs("ReportReg")
Me.RecordSource = "SELECT * FROM [tReg]"
Set qdf = dbsReport.QueryDefs(Me.RecordSource)
' Open Recordset object.
Set rstReport = qdf.OpenRecordset()
' Set a variable to hold number of columns in crosstab query.
intColumnCount = rstReport.Fields.Count
End Sub
【问题讨论】:
-
您的驱动器在做什么?请将任何代码发布到您的主题中。您的驱动器需要访问权限,这对用户不友好。
-
我的错误。我添加了报告的代码“打开”事件。
标签: sql vba forms ms-access filter