MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Relatório sem dados

    avatar
    Convidad
    Convidado

    Relatório sem dados Empty Relatório sem dados

    Mensagem  Convidad em 26/3/2012, 02:03


    Relatório sem dados

    Uma maneira prática de impedir a abertura de um relatório sem dados é fazer uma verificação prévia, utilizando a função DCount.
    Considerando que usamos um botão para abrir o relatório:


    Private Sub NomeBotão_Click()
    If DCount("*", "NomeTabela/Consulta") < 1 Then
    MsgBox "O relatório não tem dados a exibir."
    Exit Sub
    Else
    DoCmd.OpenReport "NomeRelatório", acPreview
    End If
    End Sub


    Mas a função DCount sabidamente causa perda significatica de desempenho no BD, então devemos evitar seu uso sempre que possível.

    Como alternativa podemos usar o evento Se nenhum dado do relatório:


    Private Sub Report_NoData(Cancel As Integer)
    Cancel = True
    MsgBox "O relatório não tem dados a exibir."
    End Sub


    Um inconveniente neste caso é que o Access exibe a mensagem de ação cancelada:
    "A ação OpenReport foi cancelada."

    Para inibir esta mensagem, o código do botão que abre o relatório seria assim:


    Private Sub NomeBotão_Click()
    On Error GoTo Trato
    DoCmd.OpenReport "NomeRelatório", acViewPreview
    Exit Sub
    Trato:
    If Err.Number = 2501 Then
    Exit Sub
    Else
    MsgBox Err.Description
    End If
    End Sub


      Data/hora atual: 24/11/2020, 09:23