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
Alguem tem alguma sugestão??
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
Curtidas 0
Respostas
Vinicius2k
11/08/2004
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+
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+
GOSTEI 0
Rafaelunp
11/08/2004
Resolvi!!!
O problema nao estava em ser . ou ,
Eu estava passando os paramentros assim:
Apesar de estar certo, estava dando erro!! :roll:
Ai eu coloquei o insert completo na query e passei os valores por parametros
Query.ExecSQL
Assim funcionou...
Valeu pela força
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
GOSTEI 0
Vinicius2k
11/08/2004
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+
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+
GOSTEI 0
Rafaelunp
11/08/2004
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
GOSTEI 0