jueves, 21 de febrero de 2013

¿Cómo evitar que un informe genere un error 2501 si no hay datos?

Es posible que si no tenemos la información suficiente para generar un reporte, se produzca un error 2501:

Run-time error 2501 - The OpenReport action was canceled

Si queremos atrapar el error para que nuestra aplicación no cancele, usamos el siguiente código:

On Error Resume Next
DoCmd.OpenReport "Nota_Componentes", acViewPreview, , "[ID Nota]=" & Me("ID")
If Err = 2501 Then Err.Clear

Si además queremos generar un mensaje específico al usuario, aclarando que no hay información suficiente, usamos el siguiente código:

Private Sub Report_NoData(Cancel As Integer)
    MsgBox "No existen datos suficientes para generar el reporte."
    Cancel = True
End Sub

Más información en: