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

    [Resolvido]Consulta atualizar com função SE

    avatar
    Nocte
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 10/01/2012

    [Resolvido]Consulta atualizar com função SE Empty [Resolvido]Consulta atualizar com função SE

    Mensagem  Nocte 11/1/2012, 19:40

    Boa tarde!

    Existe alguma forma de realizar uma atualização de banco de dados caso a chave primaria seja igual, e caso não exista incluir todos os dados da importação na tabela.

    Exemplo:

    Tenho uma tabela tab_clientes, nela estão os dados de todos meus clientes e para cada um eu tenho um codigo(chave primaria).

    No meu trabalho muitas pessoas nem sabem que existe Access, então realizam todo o cadastro em excel.

    Assim eu realizaria a importação de excel para o access. Até aqui facil.

    Mas queria realizar uma consulta atualização, onde:

    Se o valor da chave primaria existir, atualizar todos os dados da importação na tabela X, exceto chave primaria.
    Se o valor da chave primaria não existir inserir todos os campos, inclusive a chave primaria.

    No meu caso a minha chave primaria é um numero de cliente de 7 digitos. Ex 0200694.


    Obrigado pela ajuda
    avatar
    Nocte
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 10/01/2012

    [Resolvido]Consulta atualizar com função SE Empty Re: [Resolvido]Consulta atualizar com função SE

    Mensagem  Nocte 13/1/2012, 13:34

    Observação:

    Uso Windows 7
    Access: 2007

    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

    [Resolvido]Consulta atualizar com função SE Empty Re: [Resolvido]Consulta atualizar com função SE

    Mensagem  Alexandre Neves 13/1/2012, 20:26

    Estou a utilizar o Access 2003,
    Depois de importar os dados para tabela auxiliar, execute código para:
    1- actualizar os dados de registos já existentes
    Currentdb.execute "UPDATE Tabela1 LEFT JOIN Tabela2 ON Tabela1.campoX=Tabela2.CampoY SET Tabela1.CampoA=Tabela2.CampoB, ..."
    2 - acrescentar os dados de registos não existentes
    Currentdb.execute "INSERT INTO Tabela1 SELECT * FROM Tabela2 WHERE CampoX NOT IN(SELECT CampoX FROM Tabela1);"
    avatar
    Nocte
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 10/01/2012

    [Resolvido]Consulta atualizar com função SE Empty Re: [Resolvido]Consulta atualizar com função SE

    Mensagem  Nocte 16/1/2012, 16:24

    Obrigado Neves,

    Irei fazer uns testes aqui e lhe mando um feedback.
    Obrigado!
    avatar
    Nocte
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 10/01/2012

    [Resolvido]Consulta atualizar com função SE Empty Re: [Resolvido]Consulta atualizar com função SE

    Mensagem  Nocte 17/1/2012, 15:20

    É não deu certo, preciso que atualize somente os campos com chaves primarias iguais.
    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

    [Resolvido]Consulta atualizar com função SE Empty Re: [Resolvido]Consulta atualizar com função SE

    Mensagem  Alexandre Neves 17/1/2012, 22:38

    Não conheço as tabelas nem o código que utilizou, mas se adequar o código que lhe indiquei funcionará:
    1- actualizar os dados de registos já existentes
    Currentdb.execute "UPDATE Tabela1 LEFT JOIN Tabela2 ON Tabela1.campoX=Tabela2.CampoY SET Tabela1.CampoA=Tabela2.CampoB, ..."
    avatar
    Nocte
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 10/01/2012

    [Resolvido]Consulta atualizar com função SE Empty RESOLVIDO

    Mensagem  Nocte 18/1/2012, 17:11

    Ok alexandre, deu certo!!

    Bom o codigo ficou assim:

    CurrentDb.Execute "UPDATE tbl_DB LEFT JOIN tbl_Update ON tbl_DB.Obra = tbl_Update.Obra SET tbl_DB.Obra = tbl_Update.Obra,tbl_DB.Aberto = tbl_Update.Aberto,tbl_DB.QntSegmento = tbl_Update.QntSegmento,tbl_DB.Estimada = tbl_Update.Estimada,tbl_DB.Abertura = tbl_Update.Abertura,tbl_DB.Orcamento = tbl_Update.Orcamento,tbl_DB.Negociacao = tbl_Update.Negociacao,tbl_DB.Aprovacao = tbl_Update.Aprovacao,tbl_DB.Prometida = tbl_Update.Prometida,tbl_DB.Conclusao = tbl_Update.Conclusao,tbl_DB.Total = tbl_Update.Total,tbl_DB.CodCliente = tbl_Update.CodCliente,tbl_DB.NomeCliente = tbl_Update.NomeCliente,tbl_DB.Modelo = tbl_Update.Modelo,tbl_DB.Serie = tbl_Update.Serie,tbl_DB.Setor = tbl_Update.Setor,tbl_DB.Carteira = tbl_Update.Carteira,tbl_DB.Responsavel = tbl_Update.Responsavel,tbl_DB.Status = tbl_Update.Status,tbl_DB.Tipo = tbl_Update.Tipo,tbl_DB.Observacao = tbl_Update.Observacao"

    Moderador pode fechar este tópico.

    Conteúdo patrocinado


    [Resolvido]Consulta atualizar com função SE Empty Re: [Resolvido]Consulta atualizar com função SE

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 03:40