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

    [Resolvido]Atualizar campos de um registro com dados de outra tabela

    avatar
    pbbsb
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 56
    Registrado : 22/08/2013

    [Resolvido]Atualizar campos de um registro com dados de outra tabela Empty [Resolvido]Atualizar campos de um registro com dados de outra tabela

    Mensagem  pbbsb 23/2/2020, 05:10

    Boa noite mestres. Tenho uma tabela tblReceitas e uma tabela temporária que tem a mesma estrutura, TmptblReceitas. Utilizo este recurso para gravar um registro somente quando eu decidir. Esta TmptblReceitas é a fonte de dados do formulário. Através deste formulário eu posso listar todos os registros, consultar um registro, adicionar novo registro ou alterar um registro. O problema está em alterar um registro já lançado. O procedimento que quero usar é localizar o registro que desejo, alterar os campos (esta parte está ok), efetuar as alterações nos campos e atualizar na tabela. Enfim, quero pegar todos os campos do registro selecionado e alterado, que está na tabela temporária (TmptblReceitas) e atualizar na tabela principal (tblReceitas). A instrução, eu acredito, deve ser UPDATE. Fiz um teste criando uma consulta Atualização e o SQL ficou enorme porque descreve todos os campos das duas tabelas. Não teria uma instrução UPDATE com um SELECT* de forma a compactar esta instrução? Eu usei a rotina a seguir, mas informa que tem erro de sintaxe. Ela esta assim:
    DoCmd.RunSQL "UPDATE tblReceitas (IDReceita,DataLançamento,TipoReceita,Origem,NomePagador,NumeroNF, " _
    & "NumeroVenda,TotalReceita,TarifaVenda,TarifaGestao,TarifaEnvio,Observaçao) " _
    & "SELECT * FROM TmptblReceitas WHERE IDReceita= '" & Me.IDReceita & "'"
    onde me.IDReceita está no formulário.
    Produz: Erro de sintaxe na instrução UPDATE.
    Agradeço a todos.
    cleverson_manaus
    cleverson_manaus
    VIP
    VIP

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1010
    Registrado : 23/09/2011

    [Resolvido]Atualizar campos de um registro com dados de outra tabela Empty Re: [Resolvido]Atualizar campos de um registro com dados de outra tabela

    Mensagem  cleverson_manaus 28/2/2020, 12:13

    Bom dia amigo,

    Posta tuas tabelas envolvidas, fica mais fácil ajudar!!!

    Abraços,


    .................................................................................
    afro

    "É fazendo que se aprende a fazer aquilo que se deve aprender a fazer."(Aristóteles)
    - Dúvida resolvida!!! Marcar o tópico como resolvido!!!
    avatar
    pbbsb
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 56
    Registrado : 22/08/2013

    [Resolvido]Atualizar campos de um registro com dados de outra tabela Empty Atualizar campos de um registro com dados de outra tabela

    Mensagem  pbbsb 29/2/2020, 21:43

    Obrigado pela atenção Cleverson. Estive fora uns dias e não pude responder. Resolvi o problema pela situação trivial da função Update. Racionalizei os campos que precisariam ser atualizados e fiz a atualização.
    Ficou assim para uma das tabelas:

    DoCmd.RunSQL "INSERT INTO TmptblReceitas(IDReceita,DataLan?amento,TipoReceita,Origem,NomePagador,NumeroNF, " _
    & "NumeroVenda,TotalReceita,TarifaVenda,TarifaGest?o,TarifaEnvio,Observa?ao) SELECT * FROM tblReceitas"

    Funcionou. Assim vou dar como encerrado o assunto.

      Data/hora atual: 13/6/2021, 01:29