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

    Insert no ACCESS com problema

    avatar
    Marcio2501
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 24/10/2016

    Insert no ACCESS com problema Empty Insert no ACCESS com problema

    Mensagem  Marcio2501 30/3/2017, 19:25

    Pessoal, boa tarde !

    Tudo bem?

    Estou tentanto fazer um inserte de uma tabela "temp" chamada ("mailing_temp") para uma tabela principal chamada ("BD_2017") de apenas dados que não existe na tabela principal usando o método NOT IN. Entretanto com muitos dados na tabela principal o inserte não esta acontecendo. Fiz alguns testes, o código para pouco linhas na tabela principal faz o comando, com muito dados ele dispara mas não acontece nada. Gostaria que alguém pudesse me ajudar ou com uma solução diferente ou identificar algo no código abaixo:

    "INSERT INTO BD_2017 (CODIGO,CONTATO,CNPJ,CPF,RAZAO_SOCIAL,TEL,TEL_CONTATO, TEL_CONTATO2,TEL_2,TEL_3,ER,PORTE,GUID_ID,MUNICIPIO,PROTOCOLO,E_MAIL,OFERTA_1,OFERTA_2,OFERTA_3,CF_Date, CF_Hour,CF_AgentId,CF_AgentName,CF_Group,CF_Code,CF_Detail,CF_Text,CF_TextDetail,CF_TextDetail1,STATUS_1,STATUS_2)

    SELECT CODIGO,CONTATO,CNPJ,CPF,RAZAO_SOCIAL,TEL,TEL_CONTATO, TEL_CONTATO2,TEL_2,TEL_3,ER,PORTE,GUID_ID,MUNICIPIO,PROTOCOLO,E_MAIL,OFERTA_1,OFERTA_2,OFERTA_3,CF_Date, CF_Hour,CF_AgentId,CF_AgentName,CF_Group,CF_Code,CF_Detail,CF_Text,CF_TextDetail,CF_TextDetail1,STATUS_1,STATUS_2

    FROM MAILING_TEMP

    WHERE (((MAILING_TEMP.CPF) NOT IN (SELECT CPF FROM BD_2017)));"


    Obrigado.
    avatar
    misaelsp
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 97
    Registrado : 20/02/2013

    Insert no ACCESS com problema Empty Re: Insert no ACCESS com problema

    Mensagem  misaelsp 3/4/2017, 17:09

    A instrução Select tem que estar antes da InsertInto


    .................................................................................
    É fazendo que se aprende a fazer aquilo que se deve aprender a fazer Very Happy
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Insert no ACCESS com problema Empty Re: Insert no ACCESS com problema

    Mensagem  Alexandre Neves 4/4/2017, 19:58

    Boa tarde,
    Crie cópia da tabela e teste
    1 - crie código cpf em falta para ver se funciona
    "INSERT INTO BD_2017 (Codigo) SELECT Codigo FROM Mailing_Temp WHERE Mailing_Temp.CPF) NOT IN (SELECT CPF FROM BD_2017);"

    2 - actualize restantes dados
    "UPDATE BD_2017 LEFT JOIN Mailing_Temp ON BD_2017.CPF=Mailing_Temp.CPF SET BD_2017.CODIGO=Mailing_Temp.CODIGO,BD_2017.CONTATO=Mailing_Temp.CONTATO,BD_2017.CNPJ=Mailing_Temp.CNPJ,BD_2017.RAZAO_SOCIAL=Mailing_Temp.RAZAO_SOCIAL,BD_2017.TEL=Mailing_Temp.TEL,BD_2017.TEL_CONTATO=Mailing_Temp.TEL_CONTATO, BD_2017.TEL_CONTATO2=Mailing_Temp.TEL_CONTATO2,BD_2017.TEL_2=Mailing_Temp.TEL_2,BD_2017.TEL_3=Mailing_Temp.TEL_3,BD_2017.ER=Mailing_Temp.ER,BD_2017.PORTE=Mailing_Temp.PORTE,BD_2017.GUID_ID=Mailing_Temp.GUID_ID,BD_2017.MUNICIPIO=Mailing_Temp.MUNICIPIO,BD_2017.PROTOCOLO=Mailing_Temp.PROTOCOLO,BD_2017.E_MAIL=Mailing_Temp.E_MAIL,BD_2017.OFERTA_1=Mailing_Temp.OFERTA_1,BD_2017.OFERTA_2=Mailing_Temp.OFERTA_2,BD_2017.OFERTA_3=Mailing_Temp.OFERTA_3,BD_2017.CF_Date=Mailing_Temp.CF_Date, BD_2017.CF_Hour=Mailing_Temp.CF_Hour,BD_2017.CF_AgentId=Mailing_Temp.CF_AgentId,BD_2017.CF_AgentName=Mailing_Temp.CF_AgentName,BD_2017.CF_Group=Mailing_Temp.CF_Group,BD_2017.CF_Code=Mailing_Temp.CF_Code,BD_2017.CF_Detail=Mailing_Temp.CF_Detail,BD_2017.CF_Text=Mailing_Temp.CF_Text,BD_2017.CF_TextDetail=Mailing_Temp.CF_TextDetail,BD_2017.CF_TextDetail1=Mailing_Temp.CF_TextDetail1,BD_2017.STATUS_1=Mailing_Temp.STATUS_1,BD_2017.STATUS_2=Mailing_Temp.STATUS_2 WHERE NOT IsNull(Mailing_Temp.CPF)


    .................................................................................
    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
    avatar
    Marcio2501
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 24/10/2016

    Insert no ACCESS com problema Empty Re: Insert no ACCESS com problema

    Mensagem  Marcio2501 6/4/2017, 20:18

    Alexandre, blz?

    Como eu criaria um indice para que os códigos da tabela Mailing_temp respeitasse a hierarquia dos ID´s criado na tabela BD_2017?

    Acho  q só assim funcionaria usando esse update... pois a tabela temp seria temporária então quando eu apagasse a tabela e colocasse novos registros pode ser q o código =1 na temp não seja "o registro" do código =1 na tabela BD_2017, mas ele comparando não faria o inserte por questão do ID.

    obrigado.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Insert no ACCESS com problema Empty Re: Insert no ACCESS com problema

    Mensagem  Alexandre Neves 6/4/2017, 22:20

    Boa noite
    Na 1ª instrução que lhe passei, ele só adiciona registos que ainda não existam CPF na tabela BD_2017

    Na 2ª instrução, ele só vai actualizar esses registos, pois só esses registos existem na tabela Mailing_Temp

    Veja se funciona ou quais os problemas ocorridos


    .................................................................................
    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
    avatar
    Marcio2501
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 24/10/2016

    Insert no ACCESS com problema Empty Re: Insert no ACCESS com problema

    Mensagem  Marcio2501 10/4/2017, 16:14

    Aconteceu a mesma coisa... pra quantidade de registros (50.000 vs 50.000) na primeira rotina ele já não roda o procedimento.

    Vou ter q pensar alguma coisa como delimitador ou fazer por VBA o que tbm acredito que vai demorar uma eternidade.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Insert no ACCESS com problema Empty Re: Insert no ACCESS com problema

    Mensagem  Alexandre Neves 21/4/2017, 19:58

    Boa tarde,
    Dê retorno sobre a dúvida


    .................................................................................
    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
    avatar
    Marcio2501
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 24/10/2016

    Insert no ACCESS com problema Empty Re: Insert no ACCESS com problema

    Mensagem  Marcio2501 24/4/2017, 18:01

    solução não deu certo conforme citado acima
    [...]´s

    Conteúdo patrocinado


    Insert no ACCESS com problema Empty Re: Insert no ACCESS com problema

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 16:50