Jo - It may not be an elegant solution, but I've always used error trapping for this.
Err_CmdPreview_Click:
If Err = 2501 Then
Err.Clear 'If report is closed because there's no data,
'don't report an error
Else
MsgBox Err.Description
End If
Resume Exit_CmdPreview_Click
If you find a better way, please post it. Thanks.