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

    Insert Into Tb1 com critério Between entre Tb2 e Tb3

    asimoes
    asimoes
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 30/04/2013

    Insert Into Tb1 com critério Between entre Tb2 e Tb3 Empty Insert Into Tb1 com critério Between entre Tb2 e Tb3

    Mensagem  asimoes 17/12/2014, 10:47

    Ola Pessoal,
    Alguém poderia por gentileza me ajudar com problema abaixo?

    Como faço um INSET INTO que insere na Tab_Pendencia, o que ñ está cadastrado na Tab_CadAnaliseLiberada ex:
    Tab_CadAnaliseHistórico tenho a Enc 15000 Unid 1, 2 e 3 (Considerando como Enc 15000 unid 1 à 3).

    Enc
    15000
    15000
    15000
    15001
    15002
    15003
    Unid
    1
    2
    3
    1
    1
    1

    E na Tab_CadAnaliseLiberada eu Tenho a Enc 15000 Unid Inicio 1, Unid Fim 2.

    Encomenda
    15000
    15001
    15002
    Unid Inicio
    1
    1
    2
    Unid Fim
    2
    1
    3

    Então tenho cadastrado a Enc 15500 Unid 1 à 2, faltando a Unid 3 (Posteriormente quando eu cadastrar ficara na tabela assim:

    Encomenda
    15000
    Unid Inicio
    3
    Unid Fim
    3

    O que eu preciso é um INSERT INTO na tabela Tab_Pendencia inserindo pendências da Tab_CadAnaliseLiberada com base na Tab_CadAnaliseHistórico que ficaria assim:

    Enc
    15000
    15002
    15003
    Unid
    3
    1
    1

    A 15503 entrou porque ela não consta na Tab_CadAnaliseLiberada.


    Tentei de varias maneiras, o que se aproxima mais é o SQL abaixo, mais ainda ñ antendeu!


    Código:
     CurrentDb.Execute "INSERT INTO [Pendências] ( Enc, Unid )" _
     & "SELECT [Programação histórico].Enc, [Programação histórico].Unid " _
     & "FROM [Programação histórico], CadAnaliseLiberada " _
     & "WHERE ((([Programação histórico].Unid) not Between [CadAnaliseLiberada].[Unid Inicio] And [CadAnaliseLiberada].[Unid Fim]));"


    .................................................................................
    Não tenho medo de compartilhar conhecimento.
    Essa é a unica coisa que as pessoas não poderão roubar de mim, pois ninguém nunca sabe igual, mesmo que saiba a mesma coisa.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Insert Into Tb1 com critério Between entre Tb2 e Tb3 Empty Re: Insert Into Tb1 com critério Between entre Tb2 e Tb3

    Mensagem  Alexandre Neves 17/12/2014, 19:19

    Boa noite,
    Parece-me que devia ter as tabelas melhor estruturadas. No entanto e contando que as unidades já registadas estão em ordem sequencial, o código seguinte funcionará.
    CurrentDb.Execute "INSERT INTO [Pendências] (Enc, Unid )" _
    & "SELECT [Programação histórico].Enc, [Programação histórico].Unid " _
    & "FROM [Programação histórico] LEFT JOIN CadAnaliseLiberada ON [Programação histórico].Enc=CadAnaliseLiberada.Encomenda " _
    & "WHERE [Programação histórico].Unid not Between [CadAnaliseLiberada].[Unid Inicio] And [CadAnaliseLiberada].[Unid Fim];"

    Se não funcionar, informe em que situações isso acontece


    .................................................................................
    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
    asimoes
    asimoes
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 30/04/2013

    Insert Into Tb1 com critério Between entre Tb2 e Tb3 Empty Re: Insert Into Tb1 com critério Between entre Tb2 e Tb3

    Mensagem  asimoes 18/12/2014, 08:02

    Ola, Alexandre!


    Então, ainda não deu certo! pra você ver melhor o que está ocorrendo segue abaixo,

    Se colocar as informações na tabela histórico como abaixo:

    Enc
    15002
    15002
    15002
    15003
    Unid
    1
    3
    2
    1

    e na tabela cadastro de analise como abaixo:

    Encomenda
    15002
    15002
    Unid Inicio
    1
    2
    Unid Fim
    1
    3

    o código a insere as informações na tabela Pendencias conforme abaixo:

    Enc
    15002
    15002
    15002
    Unid
    1
    3
    2
    e também a Enc 15003 está no histórico e não está na Tabela de analise liberada, porem não foi incluída na tabela de Pendências!


    "detalhe nem sempre as unidades já registadas estão em ordem sequencial, mas se for necessário, coloco um "order by" antes de executar o procedimento."


    Alexandre, muito obrigado a ajuda!


    .................................................................................
    Não tenho medo de compartilhar conhecimento.
    Essa é a unica coisa que as pessoas não poderão roubar de mim, pois ninguém nunca sabe igual, mesmo que saiba a mesma coisa.

    Conteúdo patrocinado


    Insert Into Tb1 com critério Between entre Tb2 e Tb3 Empty Re: Insert Into Tb1 com critério Between entre Tb2 e Tb3

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 24/11/2024, 17:15