Impedir um relatório de abrir se não houver dados para mostrar

Podemos impedir que um relatório abra se não houver dados para mostrar, e para isso podemos utilizar duas formas dependendo da versão do Access:

1- Todas as versões do ACCESS
Colocar o código abaixo nas propriedades do relatório, no evento ‘Ao ativar’

Utilize o evento Ao ativar (Activate) do Relatório:

Private Sub Report_Activate()

If DCount(“*”, Me.RecordSource) = 0 Then

MsgBox “Não existem registos para mostrar”, vbDefaultButton1, “Erro!”

DoCmd.Close acReport, “nome do relatório”

End If

End Sub

2- A partir da versão 7 (Access 95) foi incluido o evento ‘se nenhum dado’, então podemos urilizar o seguinte código:

Private Sub Report_NoData(Cancel As Integer)

MsgBox “Não existem dados no relatório.”, vbInformation, “Erro!!!”

Cancel = True

End Sub

Para ver em funcionamento faça o download do exemplo: Impedir relatório de abrir