Dim sLink As String
sLink = "[PDate] Between #" & Format(Me.PVCStartDate, "mm\/dd\/yyyy") & "# And #" & Format(Me.PVCEndDate, "mm\/dd\/yyyy") & "#" And [Shift]='A'"
DoCmd.OpenReport "rptPVCProd", acViewPreview, , sLink
Please note that you had an extra " before the [Shift] entry, which closed the string and left out the [Shift] parameter, so your string would have been passed something like:
"[PDate] Between #01/01/2008# And #02/01/2008# And "
"[PDate] Between #01/01/2008# And #02/01/2008# And [Shift]='A'"
Generally it is not a good idea to pass parameters at runtime, so I added a string called sLink, packaged your criteria in sLink, and then put the finished string in the WHERE clause of the DoCmd. line. This is better practice since Access can get funky when you start to build a string in runtime given the order of operations.
Look it up at: http://wrox.books24x7.com