Share via


Evento Report.NoData (Access)

O evento NoData ocorre depois que o Microsoft Access formata um relatório para impressão que não contém dados (o relatório está acoplado a um recordset vazio), mas antes do relatório é impresso. Use esse evento para cancelar a impressão de um relatório em branco.

Sintaxe

expressão. NoData (Cancelar)

Expressão Uma variável que representa um objeto Report .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Cancel Obrigatório Integer A configuração determina se o relatório deve ser impresso. Definir o argumento Cancelar como True (1) impede a impressão do relatório. Também é possível usar o método CancelEvent do objeto DoCmd para cancelar a impressão do relatório.

Comentários

Para executar uma macro ou procedimento de evento quando esse evento ocorrer, defina a propriedade OnNoData como o nome da macro ou como [Procedimento de Evento].

Se o relatório não estiver vinculado a uma tabela ou consulta (usando a propriedade RecordSource do relatório), o evento NoData não ocorrerá.

Esse evento ocorre após os eventos Format para o relatório, mas antes do primeiro evento Imprimir .

Esse evento não ocorrerá para sub-relatórios. Se você quiser ocultar controles em um sub-relatório quando o sub-relatório não tiver dados, para que os controles não imprimam nesse caso, você pode usar a propriedade HasData em um procedimento de macro ou evento que é executado quando o evento Format ou Print ocorrer.

O evento NoData ocorre antes do primeiro evento page do relatório.

Exemplo

O exemplo a seguir mostra como cancelar a impressão de um relatório quando ele não contiver dados. Uma caixa de mensagem também é exibida informando ao usuário que a impressão foi cancelada.

Para testar esse exemplo, adicione o seguinte procedimento de evento a um relatório. Tente executar o relatório quando ele não contiver dados.

Private Sub Report_NoData(Cancel As Integer) 
    MsgBox "The report has no data." & _ 
         chr(13) & "Printing is canceled. " & _ 
         chr(13) & "Check the data source for the " & _ 
         chr(13) & "report. Make sure you entered " & _ 
         chr(13) & "the correct criteria (for " & _ 
         chr(13) & "example, a valid range of " & _ 
         chr(13) & "dates),." vbOKOnly + vbInformation 
    Cancel = True 
End Sub 

O exemplo a seguir mostra como usar o evento NoData de um relatório para impedir que o relatório seja aberto quando não há dados a serem exibidos.

Private Sub Report_NoData(Cancel As Integer)

    'Add code here that will be executed if no data
    'was returned by the Report's RecordSource
    MsgBox "No customers ordered this product this month. " & _
        "The report will now close."
    Cancel = True

End Sub

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.