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]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir

    Jitano
    Jitano
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Localização : Portugal
    Mensagens : 99
    Registrado : 13/06/2011

    [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir Empty Copiar campo de uma Tabela para outra Tabela se ele ainda não existir

    Mensagem  Jitano 7/7/2011, 11:45

    Olá!

    Como faço para copiar o campo1 da tabela1 para o campo1 da tabela2 se o campo1 da tabela1 não existir ainda na tabela2?

    Obrigado
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir Empty Re: [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir

    Mensagem  criquio 7/7/2011, 12:09

    Essa tabela 2 tem outros campos? Se sim, o campo 1 será adicionado a um novo registro ou será atualizado em um registro já existente?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Jitano
    Jitano
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Localização : Portugal
    Mensagens : 99
    Registrado : 13/06/2011

    [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir Empty Re: [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir

    Mensagem  Jitano 7/7/2011, 12:21

    oi criquio,

    sim, a tabela2 para onde quero copiar o campo1 têm outros campos.

    o campo1 será adicionado a um novo registo.
    mas pretendia só copiar o campo1 se ele ainda não existisse na tabela2 para não haver registos duplicados.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir Empty Re: [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir

    Mensagem  criquio 7/7/2011, 12:35

    Acho que seria mais ou menos isso:

    If DCount("Campo1", "Tabela2", "Campo1=" & Me!Campo) <= 0 Then
    CurrentDb.Execute "INSERT INTO Tabela2(Campo1) Value(" & Me.Campo1 & ");"
    Else
    Exit Sub
    End If


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Jitano
    Jitano
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Localização : Portugal
    Mensagens : 99
    Registrado : 13/06/2011

    [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir Empty Re: [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir

    Mensagem  Jitano 7/7/2011, 14:09

    criquio há algo que não estou a conseguir solucionar

    Tabela1 = Tabela origem
    Campo1Tabela1 = Campo que quero copiar
    Tabela2 = Destino
    Campo1Tabela2 = Campo para onde quero copiar


    Código:
    If DCount("Campo1Tabela1", "Tabela1", "Campo1Tabela1=" & Me!Campo1Tabela2) <= 0 Then
    CurrentDb.Execute "INSERT INTO Tabela2(Campo1Tabela2) Value(" & Me.Campo1Tabela1 & ");"
    Else
    Exit Sub
    End If


    Não funcionou deu o erro:

    Compile error:

    Method or data member not found
    em Value(" & Me.Campo1Tabela1 & ")
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir Empty Re: [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir

    Mensagem  criquio 7/7/2011, 14:26

    Eu estou supondo que o valor a ser gravado na tabela 2 está em um campo de um formulário vinculado à tabela 1. Ou você quer passar todos os campos Campo1 da Tabela1 que não estiverem no Campo1 da Tabela2 tudo de uma vez?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Jitano
    Jitano
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Localização : Portugal
    Mensagens : 99
    Registrado : 13/06/2011

    [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir Empty Re: [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir

    Mensagem  Jitano 7/7/2011, 14:37

    Sim criquio, quero passar tudo de uma vez

    Não tenho formulário

    Queria passar só de tabela para tabela usando o critério de verificar antes para não duplicar
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir Empty Re: [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir

    Mensagem  criquio 7/7/2011, 14:40

    Não dá para usar programação direto na tabela. O mais prático é criar um formulário com um botão que ao ser clicado faz essa verificação.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Jitano
    Jitano
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Localização : Portugal
    Mensagens : 99
    Registrado : 13/06/2011

    [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir Empty Re: [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir

    Mensagem  Jitano 7/7/2011, 14:50

    Ok eu percebi mal

    Eu tinha esse formulário com um botão
    Em que ao ser aberto o formulário ou clicado o botão ele executava o código que me deste

    Qual o melhor código para utilizar no botão para fazer o que eu queria?
    chsestrem
    chsestrem
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 463
    Registrado : 01/03/2010

    [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir Empty Re: [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir

    Mensagem  chsestrem 12/7/2011, 03:33

    Você pode conseguir este efeito usando

    uma consulta aninhada usando por exemplo o CPF como critério:

    INSERT INTO Tabela2 (cpf, nome)
    SELECT cpf, nome
    FROM Tabela1
    WHERE cpf Not In (select cpf from Tabela2;);

    Sds,


    .................................................................................
    Charles Sestrem
    http://www.vbabit.com.br
    Jitano
    Jitano
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Localização : Portugal
    Mensagens : 99
    Registrado : 13/06/2011

    [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir Empty Re: [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir

    Mensagem  Jitano 12/7/2011, 12:32

    Obrigado pela ajuda chsestrem,

    Explica-me só, se der, o que é uma consulta aninhada e o porquê do campo cpf?

    Abraço
    chsestrem
    chsestrem
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 463
    Registrado : 01/03/2010

    [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir Empty Re: [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir

    Mensagem  chsestrem 12/7/2011, 13:08

    O que eu quis dizer é que

    se você quer inserir registros de uma tabela para outra,

    terá que ter um campo exclusivo como critério para não haver duplicidade.

    Tirei como base um cadastro de clientes cujo o CPF é um numero exclusivo.

    Se o meu cadastro com o meu cpf estiver na Tabela2 o sistema não insere outro cadastro entendeu?

    Outro exemplo: Você tem um cadastro de produto cujo o CodProduto é 12345, se vc cadastrar um

    produto com o mesmo código ele não vai duplicar, a rotina vai inserir somente os produtos

    que não constam na tabela de destino.

    Consulta Aninhada é uma Consulta dentro de uma Consulta.

    INSERT INTO Tabela2 (cpf, nome)
    SELECT cpf, nome
    FROM Tabela1
    WHERE cpf Not In (select cpf from Tabela2;);

    Inserir na tabela2 os campos cpf e nome
    que constam na Tabela1, mas que o campo
    cpf já não esteja cadastrado na tabela2

    Sds,


    .................................................................................
    Charles Sestrem
    http://www.vbabit.com.br
    Jitano
    Jitano
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Localização : Portugal
    Mensagens : 99
    Registrado : 13/06/2011

    [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir Empty Re: [Resolvido]Copiar campo de uma Tabela para outra Tabela se ele ainda não existir

    Mensagem  Jitano 14/7/2011, 17:27

    Muito obrigado pela ajuda chsestrem! Very Happy

    Era mesmo isto que eu queria!

    1º Fiz uma consulta para os clientes em duplicado que tinha na Tabela1
    2º Copiei os clientes para a Tabela2
    3º Sempre que corro a tua consulta:

    INSERT INTO Tabela2 (cliente)
    SELECT cliente
    FROM Tabela1
    WHERE cliente NOT IN (SELECT cliente FROM Tabela2;);

    Só me adiciona clientes novos à Tabela2, não duplica!

    cheers

      Data/hora atual: 25/1/2022, 18:05