MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

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


3 participantes

    [Resolvido]MsAccess fecha-se quando não tem resultados ao executar o extrato

    avatar
    onfire
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 41
    Registrado : 18/09/2016

    [Resolvido]MsAccess fecha-se quando não tem resultados ao executar o extrato Empty [Resolvido]MsAccess fecha-se quando não tem resultados ao executar o extrato

    Mensagem  onfire 22/5/2022, 21:07

    Exmos
    Tenho este código para gerar extratos de conta corrente.
    No entanto se não existirem dados o Access cai e tenho de voltar a entrar o que se torna numa chatice.
    Existe alguma forma de fazer uma validação antes de iniciar?
    Se não tiver dados, mostra uma janela informativa a dizer que não tem dados para apresentar, se tiver dados executa o procedimento.
    Como posso adaptar isso no código?


    A consulta que alimenta o extrato, chama-se Tabela1

    Código:


    SELECT Movimentos.Data, Movimentos.Montante AS Valor, Movimentos.Cliente, Movimentos.Descrição, Movimentos.Tipo
    FROM Movimentos
    WHERE (((Movimentos.Descrição)<>"Saldo Abertura"));



    O código que faz o calculo do extrato é este:

    Código:

    Option Compare Database
    Dim dblAcumulado As Double


    Private Sub CabeçalhoDoRelatório_Print(Cancel As Integer, PrintCount As Integer)
    Dim strFiltro$
    strFiltro = "Cliente ='" & Forms!frmExtrato!cboTexto & "' and "
    strFiltro = strFiltro & "[data] < #" & Format(Forms!frmExtrato!dataInicial, "mm/dd/yyyy") & "#"
    Me!SaldoAnterior = Nz(DSum("Valor", "Tabela1", strFiltro), 0)
    dblAcumulado = Me!SaldoAnterior
    End Sub

    Private Sub Detalhe_Format(Cancel As Integer, FormatCount As Integer)

    End Sub

    Private Sub Detalhe_Print(Cancel As Integer, PrintCount As Integer)
    dblAcumulado = Me!Valor + dblAcumulado
    Me!saldo = dblAcumulado
    End Sub

    Private Sub PageFooterSection_Format(Cancel As Integer, FormatCount As Integer)

    End Sub

    Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer)

    End Sub

    Private Sub Report_Open(Cancel As Integer)
    Dim strFiltro$
    strFiltro = "[Cliente] ='" & Forms!frmExtrato!cboTexto & "' and "
    strFiltro = strFiltro & "([data] between #" & Format(Forms!frmExtrato!dataInicial, "mm/dd/yyyy") & "# "
    strFiltro = strFiltro & "AND #" & Format(Forms!frmExtrato!DataFinal, "mm/dd/yyyy") & "#)"
    Me.RecordSource = "SELECT * FROM Tabela1 WHERE " & strFiltro & " ORDER BY [data];"
    End Sub

    Private Sub RodapéDoRelatório_Print(Cancel As Integer, PrintCount As Integer)
    dblAcumulado = 0
    End Sub
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]MsAccess fecha-se quando não tem resultados ao executar o extrato Empty Re: [Resolvido]MsAccess fecha-se quando não tem resultados ao executar o extrato

    Mensagem  Alvaro Teixeira 9/6/2022, 11:15

    Olá Nelio,

    Tente em primeiro apertar as teclas ALT+F11 -> Debug ->Compile e verificar se tem erros, se tiver corrigir.
    Experimente fazer Compatar/Reparar.
    Se mantiver o erro, tente criar uma nova base de dados e importar todos os objetos e testar.

    Abraço
    avatar
    onfire
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 41
    Registrado : 18/09/2016

    [Resolvido]MsAccess fecha-se quando não tem resultados ao executar o extrato Empty Re: [Resolvido]MsAccess fecha-se quando não tem resultados ao executar o extrato

    Mensagem  onfire 10/6/2022, 10:34

    Obrigado pela colaboração.
    O código corre bem desde que existam dados para projetar, por isso essa não será a solução.
    O problema está quando não existem dados para projetar, e aí sim o programa fecha-se, porque se existirem valores na BD para realizar este código está tudo ok.
    A solução que vejo possível, embora não o saiba fazer será:
    Se não existirem dados para projetar mostrar uma mensagem "Não existem dados para mostrar" e faço ok para fechar a msgbox terminando o procedimento, caso existam valores a mostrar, executar o código dos extratos.
    Assim, quando não existirem dados na fonte, já não fará o MsAccess ir abaixo.
    Mas não sei como fazer essa construção no VBA.
    Abraço
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5120
    Registrado : 20/04/2011

    [Resolvido]MsAccess fecha-se quando não tem resultados ao executar o extrato Empty Re: [Resolvido]MsAccess fecha-se quando não tem resultados ao executar o extrato

    Mensagem  Silvio 10/6/2022, 13:14

    Boas, apenas um pitaco.


    Tente usar a função NZ. Abaixo em teu código, apenas um exemplo, terá que adequar a tua realidade.

    Private Sub Detalhe_Print(Cancel As Integer, PrintCount As Integer)
    NZ(dblAcumulado) = NZ(Me!Valor) + NZ(dblAcumulado)
    NZ(Me!saldo) = NZ(dblAcumulado)
    End Sub


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]MsAccess fecha-se quando não tem resultados ao executar o extrato Empty Re: [Resolvido]MsAccess fecha-se quando não tem resultados ao executar o extrato

    Mensagem  Alvaro Teixeira 10/6/2022, 16:09

    Olá a todos,

    Olá Nelio, caso a sugestão do colega Silvio não ajude.
    Eu sou da opinião que não é normal o programa fechar (a menos que tenha a instrução quando der erro sair do programa).
    Uma solução seria verificar se tem os tais ditos dados e se não tiver não executar.
    Outra seria colocar no modo parar em todos os erros e verificar qual o erro.

    Abraço a todos

    avatar
    onfire
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 41
    Registrado : 18/09/2016

    [Resolvido]MsAccess fecha-se quando não tem resultados ao executar o extrato Empty Re: [Resolvido]MsAccess fecha-se quando não tem resultados ao executar o extrato

    Mensagem  onfire 10/6/2022, 22:22

    Obrigado a todos
    avatar
    onfire
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 41
    Registrado : 18/09/2016

    [Resolvido]MsAccess fecha-se quando não tem resultados ao executar o extrato Empty Re: [Resolvido]MsAccess fecha-se quando não tem resultados ao executar o extrato

    Mensagem  onfire 14/6/2022, 21:45

    Boa Tarde
    Deixo a solução do problema.

    Código:
    Private Sub btRelatorio_Click()
    If DCount("*", "[Tabela2_val_extr]") > 0 Then
            DoCmd.OpenReport "rltMovimento", acViewPreview
    Else
            MsgBox "Não tem registos para mostrar"
        End If
    End Sub

    Assim faz uma validação pela existência de dados evitando que o MsAccess se feche por falta de dados.
    Obrigado a todos, tenho aprendido mais aqui que em muitas formações que comprei....

    Conteúdo patrocinado


    [Resolvido]MsAccess fecha-se quando não tem resultados ao executar o extrato Empty Re: [Resolvido]MsAccess fecha-se quando não tem resultados ao executar o extrato

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 20:33