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]Comparar duas Tabelas

    avatar
    NADIRONUNES
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 571
    Registrado : 30/08/2010

    [Resolvido]Comparar duas Tabelas Empty [Resolvido]Comparar duas Tabelas

    Mensagem  NADIRONUNES 5/7/2023, 19:44

    boa tarde a todos

    Como que comparo uma tabela com outra, via sql

    exemplo

    tabela lanccar     > Tabela Lanccielo

    100,00                    100,00
    125,00                    100,00
    189,00

    então o resultado entre a duas seria o valor de 189,00 que nao tem nas duas, nao e soma de valores e sim relacao de itens faltando na tabela Lanccar em relacao a tabela Lanccielo ou vise versa
    Anexos
    [Resolvido]Comparar duas Tabelas AttachmentDesktop.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (16 Kb) Baixado 4 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Comparar duas Tabelas Empty Re: [Resolvido]Comparar duas Tabelas

    Mensagem  JPaulo 6/7/2023, 11:44

    Suponho que ambas as tabela tenham um ID, então pode usar o NOT IN por exemplo;

    Código:
    SELECT * FROM SuaTabela1 WHERE ID NOT IN (SELECT ID FROM SuaTabela2 WHERE SuaTabela2.QualquerCampo2 = SuaTabela1.QualquerCampo1;


    .................................................................................
    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

    [Resolvido]Comparar duas Tabelas Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Comparar duas Tabelas Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Comparar duas Tabelas Folder_announce_new Instruções SQL como utilizar...
    avatar
    NADIRONUNES
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 571
    Registrado : 30/08/2010

    [Resolvido]Comparar duas Tabelas Empty Re: [Resolvido]Comparar duas Tabelas

    Mensagem  NADIRONUNES 6/7/2023, 11:56

    Bom dia JPaulo


    mas o filtro seria pelo valor

    exemplo

    tabela A  
    100,00
    100,00
    100,00
    100,00
    105,25

    tabela B
    100,00
    100,00
    105,25
    entao o resultado seria

    100,00
    100,00

    e nesse select ainda preciso filtrar por periodo mensal
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Comparar duas Tabelas Empty Re: [Resolvido]Comparar duas Tabelas

    Mensagem  JPaulo 6/7/2023, 14:10

    Só lhe dei a cana, ainda não lhe ensinei a pescar rsrsrs

    O campo do valor em causa é o VLRLC ???

    Veja se é isto usando o LEFT JOIN;
    Anexos
    [Resolvido]Comparar duas Tabelas AttachmentNADIRONUNES.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (61 Kb) Baixado 6 vez(es)


    .................................................................................
    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

    [Resolvido]Comparar duas Tabelas Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Comparar duas Tabelas Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Comparar duas Tabelas Folder_announce_new Instruções SQL como utilizar...
    avatar
    NADIRONUNES
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 571
    Registrado : 30/08/2010

    [Resolvido]Comparar duas Tabelas Empty Re: [Resolvido]Comparar duas Tabelas

    Mensagem  NADIRONUNES 6/7/2023, 19:20

    boa tarde JPaulo

    to tentando fazer em sql mas o porem q nao aceita NZ e nem VAL

    Código:
    Public Function ComparaTabelas()
    Parametros_de_SysConectDate "SysConectData.Jas"
    Dim MesAno As String
    MesAno = "06/2023"
    MA_I = DateSerial(Year(Format(MesAno, "mm/yyyy")), Month(Format(MesAno, "mm/yyyy")), 1)
    MA_F = DateSerial(Year(Format(MesAno, "mm/yyyy")), Month(Format(MesAno, "mm/yyyy")) + 1, 0)
    Filtro = Format(MA_I, "mm/dd/yyyy") & "' AND '" & Format(MA_F, "mm/dd/yyyy")
    Call Conectar
    strSQL = "SELECT Lanccar.DATALANC, Lanccar.VLRLC, Lanccielo.VLRLC, Lanccar.IDC, Lanccar.DESCRICAO " & vbCrLf & _
    "FROM Lanccar LEFT JOIN Lanccielo ON Lanccar.VLRLC = Lanccielo.VLRLC " & vbCrLf & _
    "WHERE (Lanccar.DATALANC Between '" & Filtro & "')" & vbCrLf & _
    "ORDER BY Lanccar.DATALANC;"
    Set rs = Conexao.Execute(strSQL, 4)
        Do While Not rs.EOF
     MsgBox rs!VLRLC
     rs.MoveNext
     Loop
    Call Desconectar
    End Function

    so que ta demorando demas e nao filtra so os que nao falta entre as tabela
    avatar
    NADIRONUNES
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 571
    Registrado : 30/08/2010

    [Resolvido]Comparar duas Tabelas Empty Re: [Resolvido]Comparar duas Tabelas

    Mensagem  NADIRONUNES 7/7/2023, 18:52

    up
    avatar
    NADIRONUNES
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 571
    Registrado : 30/08/2010

    [Resolvido]Comparar duas Tabelas Empty Re: [Resolvido]Comparar duas Tabelas

    Mensagem  NADIRONUNES 10/7/2023, 20:05

    boa tarde Jpaulo, consegue me ajudar, eu uso o banco de dados firebird e ele nao aceita val e nem nz em consulta
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Comparar duas Tabelas Empty Re: [Resolvido]Comparar duas Tabelas

    Mensagem  JPaulo 11/7/2023, 10:27

    Amigão lamento, aqui só tratamos de Ms Access.

    No entanto se não aceita, retire o NZ (tratamento de nulos) e o VAL (transforma texto em numerico).


    .................................................................................
    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

    [Resolvido]Comparar duas Tabelas Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Comparar duas Tabelas Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Comparar duas Tabelas Folder_announce_new Instruções SQL como utilizar...
    Carvalho
    Carvalho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 245
    Registrado : 19/01/2013

    [Resolvido]Comparar duas Tabelas Empty Re: [Resolvido]Comparar duas Tabelas

    Mensagem  Carvalho 16/7/2023, 19:58

    Boa tarde,

    só um pitaco de leve, kkkk

    Ao trabalhar com o Firebird, algumas funções do Access, como NZ e VAL, não estão disponíveis. No entanto, você pode usar funções equivalentes do Firebird para alcançar o mesmo resultado.

    Em vez de NZ, você pode usar a função COALESCE para fornecer um valor padrão caso um campo seja nulo. Por exemplo, em vez de NZ(Campo, ValorPadrao), você pode usar COALESCE(Campo, ValorPadrao).

    Em vez de VAL, você pode usar a função CAST para converter uma string em um número. Por exemplo, em vez de VAL(Campo), você pode usar CAST(Campo AS INTEGER) para converter para um número inteiro. Certifique-se de ajustar o tipo de dados (INTEGER, FLOAT, etc.) conforme necessário.

    Aqui está o seu código atualizado para usar as funções equivalentes no Firebird, veja se ajuda

    Código:

    Public Function ComparaTabelas()
        Parametros_de_SysConectDate "SysConectData.Jas"
        Dim MesAno As String
        MesAno = "06/2023"
        MA_I = DateSerial(Year(Format(MesAno, "mm/yyyy")), Month(Format(MesAno, "mm/yyyy")), 1)
        MA_F = DateSerial(Year(Format(MesAno, "mm/yyyy")), Month(Format(MesAno, "mm/yyyy")) + 1, 0)
        Filtro = Format(MA_I, "mm/dd/yyyy") & "' AND '" & Format(MA_F, "mm/dd/yyyy")
        Call Conectar
        strSQL = "SELECT Lanccar.DATALANC, Lanccar.VLRLC, Lanccielo.VLRLC, Lanccar.IDC, Lanccar.DESCRICAO " & vbCrLf & _
                "FROM Lanccar LEFT JOIN Lanccielo ON Lanccar.VLRLC = Lanccielo.VLRLC " & vbCrLf & _
                "WHERE (Lanccar.DATALANC Between '" & Filtro & "')" & vbCrLf & _
                "ORDER BY Lanccar.DATALANC;"
        Set rs = Conexao.Execute(strSQL, 4)
        Do While Not rs.EOF
            MsgBox rs.Fields("VLRLC").Value
            rs.MoveNext
        Loop
        Call Desconectar
    End Function

    avatar
    NADIRONUNES
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 571
    Registrado : 30/08/2010

    [Resolvido]Comparar duas Tabelas Empty Re: [Resolvido]Comparar duas Tabelas

    Mensagem  NADIRONUNES 17/7/2023, 12:08

    bom dia Carvalho


    mas o codigo continua o mesmo, to tentando imprementar o cast e o coalesce, mas ainda nao tive sucesso
    Carvalho
    Carvalho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 245
    Registrado : 19/01/2013

    [Resolvido]Comparar duas Tabelas Empty Re: [Resolvido]Comparar duas Tabelas

    Mensagem  Carvalho 17/7/2023, 12:19

    onde você pretende colcoar o NZ ou Val no código ?
    avatar
    NADIRONUNES
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 571
    Registrado : 30/08/2010

    [Resolvido]Comparar duas Tabelas Empty Re: [Resolvido]Comparar duas Tabelas

    Mensagem  NADIRONUNES 17/7/2023, 15:34

    Código:
    strSql = "SELECT Lancacar.DATALANC, [Lancacar]![VLRLC] AS Lancacar_VLRLC, Val(Nz([Lanccielo]![VLRLC],0)) AS Lanccielo_VLRLC, Month([Lancacar]![DATALANC]) AS MesRef, Year([Lancacar]![DATALANC]) AS AnoRef " & vbCrLf & _
    "FROM Lancacar LEFT JOIN Lanccielo ON (Lancacar.VLRLC = Lanccielo.VLRLC) AND (Lancacar.DATALANC = Lanccielo.DATALANC) " & vbCrLf & _
    "GROUP BY Lancacar.DATALANC, [Lancacar]![VLRLC], Val(Nz([Lanccielo]![VLRLC],0)), Month([Lancacar]![DATALANC]), Year([Lancacar]![DATALANC]) " & vbCrLf & _
    "HAVING (((Val(Nz(Lanccielo!VLRLC,0)))=0) And ((Month(Lancacar!DATALANC))=[Qual o mês ? Exemplo: 6 ou 7 ou 8]) And ((Year(Lancacar!DATALANC))=Year(Date()))) " & vbCrLf & _
    "ORDER BY Lancacar.DATALANC;"
    Carvalho
    Carvalho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 245
    Registrado : 19/01/2013

    [Resolvido]Comparar duas Tabelas Empty Re: [Resolvido]Comparar duas Tabelas

    Mensagem  Carvalho 17/7/2023, 15:45

    tente assim

    Código:

    SELECT Lancacar.DATALANC,
          Lancacar.VLRLC AS Lancacar_VLRLC,
          CAST(COALESCE(Lanccielo.VLRLC, 0) AS NUMERIC) AS Lanccielo_VLRLC,
          EXTRACT(MONTH FROM Lancacar.DATALANC) AS MesRef,
          EXTRACT(YEAR FROM Lancacar.DATALANC) AS AnoRef
    FROM Lancacar
    LEFT JOIN Lanccielo ON Lancacar.VLRLC = Lanccielo.VLRLC AND Lancacar.DATALANC = Lanccielo.DATALANC
    GROUP BY Lancacar.DATALANC, Lancacar.VLRLC, CAST(COALESCE(Lanccielo.VLRLC, 0) AS NUMERIC), EXTRACT(MONTH FROM Lancacar.DATALANC), EXTRACT(YEAR FROM Lancacar.DATALANC)
    HAVING COALESCE(Lanccielo.VLRLC, 0) = 0 AND EXTRACT(MONTH FROM Lancacar.DATALANC) = [Qual o mês ? Exemplo: 6 ou 7 ou 8] AND EXTRACT(YEAR FROM Lancacar.DATALANC) = EXTRACT(YEAR FROM CURRENT_DATE)
    ORDER BY Lancacar.DATALANC;

    avatar
    NADIRONUNES
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 571
    Registrado : 30/08/2010

    [Resolvido]Comparar duas Tabelas Empty Re: [Resolvido]Comparar duas Tabelas

    Mensagem  NADIRONUNES 17/7/2023, 18:09

    boa tarde Carvalho


    consegui resolver obridado


    tem algum site que tem esses

    CAST.COALESCE e demais e sua funcoes
    Carvalho
    Carvalho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 245
    Registrado : 19/01/2013

    [Resolvido]Comparar duas Tabelas Empty Re: [Resolvido]Comparar duas Tabelas

    Mensagem  Carvalho 17/7/2023, 18:20

    que bom resolveu, eu fui pesquisando veja se le atende em algum desses sites.


    Documentação oficial do PostgreSQL (funções de manipulação de dados):
    Link: https://www.postgresql.org/docs/current/functions.html
    Descrição: A documentação oficial do PostgreSQL oferece uma lista completa de funções disponíveis, incluindo a função COALESCE e outras funções relacionadas. Você pode encontrar exemplos de uso e detalhes sobre a sintaxe dessas funções.

    Documentação oficial do MySQL (funções e operadores):
    Link: https://dev.mysql.com/doc/refman/8.0/en/functions.html
    Descrição: A documentação oficial do MySQL fornece informações detalhadas sobre as funções disponíveis no MySQL, incluindo a função COALESCE e outras funções relacionadas. É possível encontrar exemplos de uso e detalhes sobre a sintaxe.

    W3Schools (SQL Functions):
    Link: https://www.w3schools.com/sql/sql_ref_functions.asp
    Descrição: O W3Schools é um recurso popular para aprender linguagens de programação, incluindo SQL. A seção sobre funções SQL oferece informações sobre a função COALESCE e outras funções comuns, com exemplos de uso e explicações.

    Oracle Documentation (Functions):
    Link: https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/SQL-Functions.html
    Descrição: A documentação oficial da Oracle contém informações abrangentes sobre funções disponíveis no Oracle Database, incluindo a função COALESCE e outras funções relacionadas. Você pode encontrar exemplos e detalhes sobre a sintaxe dessas funções.

    Conteúdo patrocinado


    [Resolvido]Comparar duas Tabelas Empty Re: [Resolvido]Comparar duas Tabelas

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/4/2024, 10:38