|
Postada em 11/05/2007 10:51 hs
Pessoal, quebrei a cabeça por dois dias, até encontrar o que causava esse problema: Criei um form onde eram preenchidas informações sobre um determinado produto. A instrução para gravar os dados desse form no BD em access esta toda correta, a tabela do BD também esta totalmente correta. Neste form tem um campo onde é digitado um percentual relativo ao produto, em número decimal, no formato "00,00". Quando insiro um valor decimal não-redondo, como p. ex. "23,25", gravo no BD como um novo registro (Comando SQL INSERT) e o registro fica OK. Porém, se eu vou regravar o registro (Com o comando UPDATE), o VB arredonda as casas decimais desse número e grava no BD como "23,00". A única solução que achei até agora, e diga-se de passagem, uma gambiarra, foi substituir a instrução UPDATE, por uma instrução DELETE (deletando o registro), seguida de uma instrução INSERT(e o regravando novamente). Alguém sabe o que pode estar acontecendo? Agradeço desde já.!
|
|
|
|
|
Postada em 11/05/2007 11:19 hs
como vc trata o número?? Vc usa "val" ?? VAL(valor)
|
|
|
|
Postada em 11/05/2007 11:40 hs
Já experimentei converter como Val(Expressão); convertem como CCur(Expressão), mas nenhum dos dois dá certo. Quando eu uso o comando UPDATE ele arredondad, mas se eu excluo o registro e regravo ele grava certo..
|
|
|
JSFF
|
SÃO PAULO SP - BRASIL
|
|
Postada em 11/05/2007 11:56 hs
Everton, Tente atualizar o campo dessa maneira: Replace(<NOVO VALOR>, ",", ".") JSFF
|
|
|
|
Postada em 11/05/2007 12:04 hs
Mas uso essa função dentro do comando SQL? p. ex.: .CommandText = "UPDATE Produtos SET " & "MargemProduto = '" & Replace(txtMargemProduto.Text,",",".") & "' ... Valeu pela ajuda!
|
|
|
JSFF
|
SÃO PAULO SP - BRASIL
|
|
Postada em 11/05/2007 12:09 hs
Everton, Sim, você usa do jeito que escreveu no seu exemplo. Mas tenho uma pergunta: qual é o tipo de dado desse campo? JSFF
|
|
|
|