Я близка к точной синтаксисе, только одна большая проблема!
Идентификатор пользователя, который я захватывая из поля ввода, не передается в отчет, так что я должен ввести идентификатор пользователя дважды
Доступ к VBA для передачи параметра для отчета по запросу
Что нужно изменить для того, чтобы достичь этого?
Public Function userProd() As Integer
Dim userID As String, saveloc As String, filename As String, reportname As String
'Report Name
reportname = "rpt_UserProduction"
'Setting Save location
saveloc = "C:\Test\"
'Setting filename
filename = "userProd "
'Getting User ID To Process
userID = InputBox("Enter User ID:", "VBA InputBox Function")
'Putting together full save location
saveloc = saveloc + filename + userID + ".pdf"
If userID = "" Then
'Do Nothing and Stop Processing
Exit Function
Else
If IsNumeric(userID) Then
'Preview Report
DoCmd.OpenReport reportname, acViewPreview, , "User_ID=" & userID
'Save As PDF
DoCmd.OutputTo acOutputReport, reportname, acFormatPDF, saveloc, True
'Close Report
DoCmd.Close acReport, reportname
End If
End If
End Function
Операция 'Return' предназначена для использования с [' GoSub'] (https://msdn.microsoft.com/en-us/library/office/gg251648.aspx), вероятно, вы хотите использовать 'Exit Function' , – ThunderFrame
@ThunderFrame - хорошая ошибка при синтаксической ошибке. –