Monthly Archives: Maio 2009
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
Como evitar que um formulário abra se não houver registos para mostrar?
Por vezes torna-se necessário evitar que um formulário abra se não houver registos para mostrar, por exemplo quando fazemos uma consulta e não se encontra nenhum registo pretendido, não precisamos de estar a abrir o formulário uma vez que não temos dados para mostrar. Então o que temos que verificar é se existem registos a mostrar e caso não haja nenhum mostramos uma mensagem e impedimos o formulário de abrir. Como?
É fácil basta colocarmos o código abaixo nas propriedades do formulário no evento ‘ao abrir’:
If Form.RecordsetClone.RecordCount = 0 Then
MsgBox “Não encontrei registos.”, vbExclamation, “Erro!!!”
DoCmd.Close acForm, “localizar dados”
Exit Sub
End If
Para ver um exemplo faça o download: Impedir Formulário de Abrir