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


2 participantes

    [Resolvido]Calculo SQL

    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Calculo SQL Empty [Resolvido]Calculo SQL

    Mensagem  PauloMaia 2/4/2017, 00:26

    Olá.......

    Como posso fazer para chamar este procedimento de calculo ;

    Código:
    Private Sub CalculaSubTotal()
        'DÉBITO
        strSQL = ""
        strSQL = "SELECT Sum(tbl_FluxoCaixa.ccDébito) AS DEBITO From tbl_FluxoCaixa"
        strSQL = strSQL & " WHERE cdData Between Format$('" & Me![txtDatIni] & "', 'dd/mm/yyyy') AND Format('" & Me![txtDatFim] & "', 'dd/mm/yyyy')"
        Set dbs = CurrentDb()
        Set rst = dbs.OpenRecordset(strSQL)
      
        If rst.RecordCount > 0 Then
            Me.TotalDébito = rst("DEBITO")
        Else
            Me.TotalDébito = 0
        End If
        rst.Close
        
        'CRÉDITO
        strSQL = "SELECT Sum(tbl_FluxoCaixa.ccCrédito) AS CREDITO From tbl_FluxoCaixa"
        strSQL = strSQL & " WHERE cdData Between Format$('" & Me![txtDatIni] & "', 'dd/mm/yyyy') AND Format('" & Me![txtDatFim] & "', 'dd/mm/yyyy')"
        Set dbs = CurrentDb()
        Set rst = dbs.OpenRecordset(strSQL)
      
        If rst.RecordCount > 0 Then
            Me.TotalCrédito = rst("CREDITO")
        Else
            Me.TotalCrédito = 0
        End If
        Me.Saldo = Me.TotalCrédito - Me.TotalDébito
        If Me.Saldo < 0 Then
            Me.Saldo.ForeColor = 255
        Else
            Me.Saldo.ForeColor = 0
        End If
        rst.Close
    End Sub

    Nesta Consulta ;

    Código:
    strSQL = "SELECT * FROM tbl_FluxoCaixa WHERE cdData Between #" & Format(txtDatIni, "dd/mm/yyyy") & "# And #" & Format(txtDatFim, "dd/mm/yyyy") & "# AND ccHistórico like '*VENDA, À VISTA*'"


    ou seja, inserir esse critério  " procedimento - CalculaSubTotal " , de calculo na linha de consulta - para filtrar e ja efetuar o calculo .


    Grato !


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Calculo SQL Empty Re: [Resolvido]Calculo SQL

    Mensagem  Alexandre Neves 2/4/2017, 15:35

    Boa tarde,
    teste
    strSQL = "SELECT (SELECT Sum(ccDébito) From tbl_FluxoCaixa WHERE cdData Between Format$('" & Me![txtDatIni] & "', 'dd/mm/yyyy') AND Format('" & Me![txtDatFim] & "', 'dd/mm/yyyy'))as Debito, (SELECT Sum(ccCrédito) From tbl_FluxoCaixa WHERE cdData Between Format$('" & Me![txtDatIni] & "', 'dd/mm/yyyy') AND Format('" & Me![txtDatFim] & "', 'dd/mm/yyyy'))as Credito, * FROM tbl_FluxoCaixa WHERE cdData Between #" & Format(txtDatIni, "dd/mm/yyyy") & "# And #" & Format(txtDatFim, "dd/mm/yyyy") & "# AND ccHistórico like '*VENDA, À VISTA*'"


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Calculo SQL Empty Re: [Resolvido]Calculo SQL

    Mensagem  PauloMaia 3/4/2017, 01:27

    olá , Alexandre Neves

    Esta Filtrando , mas não calculando

    os campos que devem receber os resultados são

    TotalCrédito
    TotalDébito
    Saldo

    não estão recebendo nada, !


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Calculo SQL Empty Re: [Resolvido]Calculo SQL

    Mensagem  Alexandre Neves 3/4/2017, 11:15

    Bom dia,
    Não abri a bd mas os nomes dos campos estavam como Debito e Credito e tinha-me esquecido do Saldo
    sendo TotalDébito e TotalCrédito e Saldo, coloque
    strSQL = "SELECT *, TotalCrédito-TotalDébito as Saldo FROM (SELECT (SELECT Sum(ccDébito) From tbl_FluxoCaixa WHERE cdData Between Format$('" & Me![txtDatIni] & "', 'dd/mm/yyyy') AND Format('" & Me![txtDatFim] & "', 'dd/mm/yyyy')) as TotalDébito, (SELECT Sum(ccCrédito) From tbl_FluxoCaixa WHERE cdData Between Format$('" & Me![txtDatIni] & "', 'dd/mm/yyyy') AND Format('" & Me![txtDatFim] & "', 'dd/mm/yyyy')) as TotalCrédito, * FROM tbl_FluxoCaixa WHERE cdData Between #" & Format(txtDatIni, "dd/mm/yyyy") & "# And #" & Format(txtDatFim, "dd/mm/yyyy") & "# AND ccHistórico like '*VENDA, À VISTA*')"


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Calculo SQL Empty Re: [Resolvido]Calculo SQL

    Mensagem  PauloMaia 3/4/2017, 19:31

    olá , Alexandre Neves

    Continua filtrando SIM , porem sem mostrar o resultado de calculos nos campos , fica tudo R$ 0,00





    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Calculo SQL Empty Re: [Resolvido]Calculo SQL

    Mensagem  Alexandre Neves 4/4/2017, 20:17

    Boa noite,
    Não pode utilizar assim
    Ou utiliza como estava, gerar e recordset e atribuir valores aos controlos, ou utilizar a expressão como recordsource


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Calculo SQL Empty Re: [Resolvido]Calculo SQL

    Mensagem  PauloMaia 4/4/2017, 21:23

    Desculpe, mas não compreendi ! Question

    O que devo fazer ?

    Pensei em chamar a função sub na consulta ,


    strSQL = "SELECT * FROM tbl_FluxoCaixa WHERE cdData Between #" & Format(txtDatIni, "dd/mm/yyyy") & "# And #" & Format(txtDatFim, "dd/mm/yyyy") & "# AND ccHistórico like '*VENDA, À VISTA*' AND & CalculaSubTotal"

    Mas não esta dando certo !


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Calculo SQL Empty Re: [Resolvido]Calculo SQL

    Mensagem  Alexandre Neves 4/4/2017, 22:15

    o recordset que tinha na função atribuía apenas valores aos controlos do rodapé, não geravam registos no formulário
    Pode fazer dessa forma, como já estava, ou gerar os registos do formulário através da instrução SQL (recordsource)


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Calculo SQL Empty Re: [Resolvido]Calculo SQL

    Mensagem  PauloMaia 5/4/2017, 12:25

    OK, entendi ! Obrigado ,

    pode me dar uma força aqui tbm ?

    https://www.maximoaccess.com/t29818-erro-em-lancamento-de-registros-parcelados#207288




    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Calculo SQL Empty Re: [Resolvido]Calculo SQL

    Mensagem  PauloMaia 5/4/2017, 16:32

    Alexandre Neves,
    Como posso fazer uma dessa duas saídas  ?

    = gerar os registos do formulário através da instrução SQL (recordsource)


    = Pode fazer dessa forma, como já estava


    Pode me ajudar .......

    Question


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Calculo SQL Empty Re: [Resolvido]Calculo SQL

    Mensagem  Alexandre Neves 5/4/2017, 21:41

    Boa noite,
    A mais fácil para si, deve ser a que já estava encaminhada

    Coloque rótulos RtlSaldo, RtlDebito, RtlCredito no rodapé

    Private Sub CalculaSubTotal()
    Dim rst As DAO.Recordset
    strsql = "SELECT *, TotalCredito-TotalDebito as Saldo FROM (SELECT (SELECT Sum(ccDébito) From tbl_FluxoCaixa WHERE cdData Between Format$('" & Me![txtDatIni] & "', 'dd/mm/yyyy') AND Format('" & Me![txtDatFim] & "', 'dd/mm/yyyy')) as TotalDebito, (SELECT Sum(ccCrédito) From tbl_FluxoCaixa WHERE cdData Between Format$('" & Me![txtDatIni] & "', 'dd/mm/yyyy') AND Format('" & Me![txtDatFim] & "', 'dd/mm/yyyy')) as TotalCredito, * FROM tbl_FluxoCaixa WHERE cdData Between #" & Format(txtDatIni, "dd/mm/yyyy") & "# And #" & Format(txtDatFim, "dd/mm/yyyy") & "# AND ccHistórico like '*VENDA, À VISTA*')"
    Set rst = CurrentDb.OpenRecordset(strsql)
    RtlCredito.Caption = "Crédito: " & rst("TotalCredito")
    RtlDebito.Caption = "Débito: " & rst("TotalDebito")
    RtlSaldo.Caption = "Saldo: " & rst("Saldo")
    Set rst = Nothing
    End Sub


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Calculo SQL Empty Re: [Resolvido]Calculo SQL

    Mensagem  PauloMaia 5/4/2017, 22:07

    ok !

    vou fazer as alterações e testar, qualquer coisa te aviso  ! Mto Obrigado .

    -----------------------------------------------

    de uma olhada neste tópico -
    https://www.maximoaccess.com/t29818-erro-em-lancamento-de-registros-parcelados#207264


    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"
    PauloMaia
    PauloMaia
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 164
    Registrado : 02/05/2014

    [Resolvido]Calculo SQL Empty Re: [Resolvido]Calculo SQL

    Mensagem  PauloMaia 6/4/2017, 19:43


    OK, Resolvido !






    -----------
    Considerações e Agradecimentos á ;

    Alexandre Neves



    .................................................................................
    O Conhecimento é uma Bagagem que não pesa, porem sempre que saimos para uma nova viagem... lembramos que podiamos ter levado algo a mais conosco.......
    "Não critique quem cair, ajude-o a erguer-se, tal como você gostaria que fizessem com você se estivesse no mesmo caso"
    "A vaidade é o pior dos defeitos porque engana a nós mesmos pois por mais que seja sábio, há sempre alguém mais sábio que você"

    Conteúdo patrocinado


    [Resolvido]Calculo SQL Empty Re: [Resolvido]Calculo SQL

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 22:28