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

    Consulta para dar o saldo de 2 colunas

    avatar
    PabloSousa1977
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 15/08/2017

    Consulta para dar o saldo de 2 colunas Empty Consulta para dar o saldo de 2 colunas

    Mensagem  PabloSousa1977 Dom 03 Set 2017, 2:17 pm

    Bom Dia Pessoal,

    Estou tendo uma dificuldade em montar uma consulta sql para dar o saldo dos valores de 2 colunas.
    Vou colocar o exemplo abaixo com a imagem para melhor entenderem, segue em anexo a imagem do formulario.
    Preciso fazer o seguinte, sempre pegar o saldo da coluna saldo e somar com a entrada ou subtrair com a saida e colocar o saldo na coluna, estou fazendo de um jeito que esta funcionando mas nao do jeito que preciso porque quando vou editar por exemplo um lançamento errado não consigo puxar o saldo, tenho que fazer estorno e outro lançamento para dar certo.
    Já procurei pela net toda, mas desse jeito que preciso fazer não encontrei nada, alguém tem um exemplo ou um link que possa me auxiliar em fazer essa consulta dar certo.
    Desde já agradeço, muito obrigado.

    Pablo Sousa.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    Consulta para dar o saldo de 2 colunas Empty Re: Consulta para dar o saldo de 2 colunas

    Mensagem  JPaulo Dom 03 Set 2017, 5:27 pm



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Consulta para dar o saldo de 2 colunas Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Consulta para dar o saldo de 2 colunas Folder_announce_new 102 Códigos VBA Gratuitos...
    Consulta para dar o saldo de 2 colunas Folder_announce_new Instruções SQL como utilizar...
    avatar
    PabloSousa1977
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 15/08/2017

    Consulta para dar o saldo de 2 colunas Empty Re: Consulta para dar o saldo de 2 colunas

    Mensagem  PabloSousa1977 Dom 03 Set 2017, 10:03 pm

    Obrigado pela força vou testar, obrigado.
    avatar
    PabloSousa1977
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 15/08/2017

    Consulta para dar o saldo de 2 colunas Empty Re: Consulta para dar o saldo de 2 colunas

    Mensagem  PabloSousa1977 Ter 05 Set 2017, 5:16 pm

    Boa Tarde Pessoal,


    Dei uma olhada nos links enviados, tem um exemplo que Claudio Maz envio, dei uma adaptada nele para meu cenário, ele puxa o saldo certinho, segue abaixo o codigo,

    Private Sub btnpuxarsaldo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnpuxarsaldo.Click
           Dim tabela As New DataTable
           Dim strsql As String

           strsql = "SELECT Código, Data, Descrição, Entrada, Saida, (SELECT Sum(Entrada - Saida) FROM(SELECT A.*, (select count(*) from TbCaixa where [A].[Data] & [A].[Código]>=[Data] & [Código]) AS Id2 FROM (SELECT Código, Data, Descrição, Entrada, Saida FROM TbCaixa ORDER BY Data, Código) AS A ORDER BY A.Data, A.Código) AS financeiro WHERE financeiro.Data <= B.Data and financeiro.id2 <= B.id2) AS Saldo FROM (SELECT A.*, (select count(*) from TbCaixa where [A].[Data] & [A].[Código]>=[Data] & [Código]) AS Id2 FROM (SELECT Código, Data, Descrição, Entrada, Saida FROM TbCaixa ORDER BY Data, Código) AS A ORDER BY A.Data, A.Código)  AS B"

           Dim con As New OleDbConnection
           Dim cmd As New OleDbCommand
           Try
               con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Servidor-King\Desktop\BdCaixa.accdb"
               con.Open()
               cmd.Connection = con
               cmd.CommandText = strsql

               Using reader As OleDbDataReader = cmd.ExecuteReader()
                   tabela.Load(reader)
                   Me.dgvcaixa.DataSource = tabela
               End Using

           Catch ex As Exception
               MessageBox.Show("Erro : " & ex.Message, "Dados Não Existe, Favor verificar Datas!!!")
           Finally
               con.Close()
           End Try

           
           Editar()


       End Sub


    Esse Código funcionou, so que depois que ele puxa o saldo preciso que grave no banco de dados o saldo nas linhas, ai tentei assim segue abaixo,


    Private Sub Editar()
           Dim tabela As New DataTable
           Dim strsql As String

           strsql = "Update(TbCaixa) SET Data = ?, Descrição = ?, Entrada = ?, Saida = ?, Saldo = ? WHERE (Código = ?) AND (? = 1 AND Data IS NULL OR Data = ?) AND (? = 1 AND Descrição IS NULL OR Descrição = ?) AND (? = 1 AND Entrada IS NULL OR Entrada = ?) AND (? = 1 AND Saida IS NULL OR Saida = ?) AND (? = 1 AND Saldo IS NULL OR Saldo = ?)"

           Dim con As New OleDbConnection
           Dim cmd As New OleDbCommand
           Try
               con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Servidor-King\Desktop\BdCaixa.accdb"
               con.Open()
               cmd.Connection = con
               cmd.CommandText = strsql

               Using reader As OleDbDataReader = cmd.ExecuteReader()
                   tabela.Load(reader)
                   Me.dgvcaixa.DataSource = tabela
               End Using

           Catch ex As Exception
               MessageBox.Show("Erro : " & ex.Message, "Dados Não Existe, Favor verificar Datas!!!")
           Finally
               con.Close()
           End Try
       End Sub

    segue bd em anexo.

    Mas não que funcionar não grava, alguem tem uma ideia de como sanar isso???

    Desde já agradeço, muito obrigado.

    Pablo Sousa.
    Anexos
    Consulta para dar o saldo de 2 colunas AttachmentBdCaixa.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (19 Kb) Baixado 9 vez(es)

    Conteúdo patrocinado


    Consulta para dar o saldo de 2 colunas Empty Re: Consulta para dar o saldo de 2 colunas

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Sex 19 Abr 2024, 12:14 pm