I have used recordset in detail print event for some fields in report which shows records in preview but not print
Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset(vstr, dbOpenSnapshot)
With rs...