Я пытаюсь перебрать запрос параметров в Access 2016. В настоящее время параметры передаются в запрос с использованием формы.Эта часть все работает хорошо.Я могу установить rs=CurrentDB.OpenRecordset("Select distinct [User_ID]
from PQData ", dbOpenSnapshot, и отчет будет создавать все отчеты независимо от того, какую команду я выберу в параметрах. Если я использую Set rs=qdf.OpenRecordset()
, код не перемещается к следующему UserID
.Мне нужно, чтобы код проходил через запрос параметров и создавал PDF только для UserID
s, которые соответствуют параметру команды.
Private Sub Command36_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim MyFileName As String
Dim mypath As String
Dim temp As String
Dim prm As DAO.Parameter
'Dim SSQL As String
mypath = "S:\Other\ClaimantSurveyDatabase\DB\Leave and Life Audits\Life Audit Tool.accdb"
Set db = CurrentDb()
Set qdf = CurrentDb.QueryDefs("PQData Query")
qdf("Forms!frmCriteria!Month") = Forms!frmCriteria!Month
qdf("Forms!frmCriteria!EnterTeam") = Forms!frmCriteria!EnterTeam
Set rs = qdf.OpenRecordset()
'Set rs = CurrentDb.OpenRecordset("SELECT DISTINCT [USER_ID] FROM [PQData]", dbOpenSnapshot)
With rs
.MoveFirst
Do While Not .EOF
temp = rs("USER_ID")
MyFileName = rs("USER_ID") & ".PDF"
DoCmd.OpenReport "LifeAuditSheets2019", acViewReport, , "[USER_ID]='" & temp & "'"
DoCmd.OutputTo acOutputReport, "", acFormatPDF, mypath & MyFileName
DoEvents
rs.MoveNext
Loop
rs.Close
End With
Set rs = Nothing
Set db = Nothing
DoCmd.Close acReport, "LifeAuditSheets2019"
End Sub