11/08/2004

Valor Numerico no Access

Amigos,

Estou dedsenvolvendo um pequeno programa que recebe um arquivo txt, e insere os dados banco access.
No access ha um campo ´Valor´ do tipo Número (Simples /2 casas decimais). No arquivo txt, esse numero vem sem formatação, por exemplo o numero 154,00 vem no txt assim: 000000000015400
Antes do valor é preenchido com zeros e as ultimas duas casas são os valores decimais...
Antes de inserir esse valor no access eu formato, deixando ´154,00´
Eu já conferi e o valor está indo corretamente, mas está dando erro na hora de inserir...
Eu já peguei a string do ADOQuery antes de executar e copiei pro access como consulta de inclusão e lá funciona normal. não dá nenhum erro... mas na aplicação...

A string é essa e no access funciona
INSERT INTO MOVIMENTO (Data, Posto, FormaPgto, Valor, Observacao) VALUES (´2004-08-10´, ´100001´, ´DINHEIRO´, ´0000000154,00´, ´?????????????????????????????????????????´)


Alguem tem alguma sugestão??


Rafaelunp

Respostas

11/08/2004

Vinicius2k

Rafael,

Creio que o problema está no separador de decimais... não me recordo no caso do Access, mas na maioria, senão em todos, os bancos o separador de decimais é ´.´ e não ´,´... a vírgula, normalmente é usada como separador de milhar e não é obrigatória...

Tente formatar para ´154.00´...

Espero ter ajudado...
T+


Responder Citar

11/08/2004

Rafaelunp

Resolvi!!!

O problema nao estava em ser . ou ,

Eu estava passando os paramentros assim:

Sql := ´INSERT INTO ...´

Apesar de estar certo, estava dando erro!! :roll:

Ai eu coloquei o insert completo na query e passei os valores por parametros

Query.Parameters.ParamByName(´Data´).Value := Data;

Query.ExecSQL

Assim funcionou...

Valeu pela força


Responder Citar

11/08/2004

Vinicius2k

Blz. O importante é que resolveu ! :wink:

Acho que o Access está ´entendendo´ que vc quer o separador de decimais com a ´,´ pq , teoricamente, o correto seria o ´.´. Aliás vc pode fazer o teste com o ´.´ q vc deve ter o mesmo resultado (eu acho)...

T+


Responder Citar

11/08/2004

Rafaelunp

Blz. O importante é que resolveu ! :wink: Acho que o Access está ´entendendo´ que vc quer o separador de decimais com a ´,´ pq , teoricamente, o correto seria o ´.´. Aliás vc pode fazer o teste com o ´.´ q vc deve ter o mesmo resultado (eu acho)... T+


Eu ja havia testado . ao inves da ,

Nao dava cecrto, mas se eu executasse direto no access ele transformava 154.00 em 15400,00 no banco

Neste caso, estava mais errado ainda...
:D


Responder Citar