我接近于语法准确,只是一个大问题!
,我从输入框中捕获用户ID,没有被传递到报告,所以我必须要输入用户ID两次
访问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 - 很好地捕捉到这种语法错误。 –