MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]UPDATE com critérios

    Compartilhe

    Dimasblima
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 31/01/2013

    [Resolvido]UPDATE com critérios

    Mensagem  Dimasblima em 15/8/2017, 15:25

    Bom dia prezados

    Por gentileza, como ficaria esse código com dois critérios? Uma para ID e outro para codigo_produ ambos na tabela [DETALHE MOVIMENTO]

    CurrentDb.Execute "UPDATE [DETALHE MOVIMENTO]SET Prec_sug ='" & Me!Nov_pre & "';"

    Tente esse, mas apresenta erro.

    CurrentDb.Execute "UPDATE [DETALHE MOVIMENTO]SET Prec_sug = Me!Nov_pre  WHERE [DETALHE MOVIMENTO].codigo_prod =  Me.codigo_prod & [DETALHE MOVIMENTO].ID = Me.ID"


    Tenho um formulário de nome [Con_Pre_sug], ele abre e filtra o orçamento [DETALHE MOVIMENTO] usando como filtro o ID e o código do produto, acontece que o mesmo produto pode aparecer repetido no mesmo ID em função de grupos estabelecidos, preciso alterar o preço desses itens na tabela [DETALHE MOVIMENTO] que visualizo no formulário.
    Agradeço antecipadamente!
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1248
    Registrado : 05/02/2010

    UPDATE com critérios

    Mensagem  good guy em 15/8/2017, 16:40

    Olá Dimas,

    Tente trocar o "&" por And:

    CurrentDb.Execute "UPDATE [DETALHE MOVIMENTO]SET Prec_sug = Me!Nov_pre WHERE [DETALHE MOVIMENTO].codigo_prod = Me.codigo_prod And [DETALHE MOVIMENTO].ID = Me.ID"
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]UPDATE com critérios

    Mensagem  Alexandre Neves em 15/8/2017, 16:42

    Boa tarde,
    CurrentDb.Execute "UPDATE [DETALHE MOVIMENTO] SET Prec_sug =" & Me!Nov_pre & " WHERE codigo_prod =" & Me.codigo_prod & " and ID =" & Me.ID

    Se os critérios foram do tipo número, se forem texto acrescenta pelicas
    Temos bastantes exemplos semelhantes abordados


    .................................................................................
    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

    Dimasblima
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 31/01/2013

    UPDATE com critérios

    Mensagem  Dimasblima em 15/8/2017, 18:00

    Caro good guy, obrigado eu tentei e o erro persiste

    Prezados muito obrigado pela rapidez

    Ainda apresenta erro caro Alexandre Neves

    O ID é um campo auto-numérico;
    O codigo_prod é um campo texto curto ou seja strings
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1248
    Registrado : 05/02/2010

    UPDATE com critérios

    Mensagem  good guy em 15/8/2017, 18:22

    Olá Dimas,

    Então vamos fazer o seguinte ou você muda o tipo de dados do teu campo codigo_prod para Número ou faça o seguinte, fazendo a conversão com a função CInt e veja se funfa agora:

    CurrentDb.Execute "UPDATE [DETALHE MOVIMENTO]SET Prec_sug = Me!Nov_pre WHERE [DETALHE MOVIMENTO].codigo_prod = CInt(Me.codigo_prod) And [DETALHE MOVIMENTO].ID = Me.ID"

    Dimasblima
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 31/01/2013

    UPDATE com critérios

    Mensagem  Dimasblima em 15/8/2017, 18:57

    Valeu mesmo, obrigado a todos, com ajuda de vocês e do Avelino foi possível resolver e ficou dessa forma

    Sugerido por Avelino, em outro canal:

    CurrentDb.Execute "UPDATE [DETALHE MOVIMENTO] SET Prec_sug ='" & Me!Nov_pre & "' WHERE codigo_prod = '" & Me.codigo_prod  & "' And ID =" & Me.ID & ";"

    Dimasblima
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 31/01/2013

    UPDATE com critérios

    Mensagem  Dimasblima em 15/8/2017, 18:58

    Show, mais vez obrigado!
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1248
    Registrado : 05/02/2010

    UPDATE com critérios

    Mensagem  good guy em 15/8/2017, 20:00

    Olá Dimas,

    Apesar de ter encontrado uma solução com atribuição de dados do tipo String para o seu campo codigo_prod, assim mesmo não deixa de ser um campo numérico. Se não existe letras em meio a número neste campo (alfanumérico) e sim só números você deveria modelar na tabela este campo como do tipo número que é o certo a fazer. Muitos erros de programas na sua compilação e principalmente quando são modificados ou ampliados ocorrem por erros de modelagem de dados.

      Data/hora atual: 16/12/2018, 17:55