Voce elabora um relatório, com base em uma consulta, e a consulta pede um parâmetro:
"Informe o ano" - voce digita o ano, por exemplo 2.009, e o evento "Se nenhum dado", na lingua mãe "OnNoData", previamente programado conforme abaixo, manda a sua mensagem "Nada para imprimir. Cancelando o relatório...".
Private Sub Report_NoData(Cancel As Integer)
MsgBox "Nada para imprimir. Cancelando o relatório...", vbnformation, "Sistema Contábil"
Cancel = True
End Sub
Até aqui tudo bem, voce tecla enter e aí vem aquela mensagem: "A ação OpenReport foi cancelada." Como se livrar dessa mensagem: "A ação OpenReport foi cancelada."?
Duas maneiras:
- Antes de mandar imprimir o relatório faça o teste da consulta e se o recordset estiver vazio, desvie a ação para uma mensagem de aviso e fim.
- Se isso não for possível (muitas vezes a pré execução da consulta com solicitação de parâmetro é muito complexa) preste atenção no código gerado para abrir o relatório:
Private Sub AbreRelatorio_Click()
On Error GoTo Err_AbreRelatorio_Click
Dim stDocName As String
stDocName = "rptReg_inventario"
DoCmd.OpenReport stDocName, acPreview
Exit_AbreRelatorio_Click:
Exit Sub
Err_AbreRelatorio_Click:
'MsgBox Err.Description - Iniba essa linha. Ela é que provoca a mensagem.
Resume Exit_AbreRelatorio_Click
End Sub
|