Try this:
...
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 "
Instead of:
"[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.
HTH
mmcdonal
Look it up at:
http://wrox.books24x7.com