SALVANDO NUMERO LONGO COM SQL E ACESS 2003

GNCNET 20/11/2010 15:39:37
#357892
Estou com problemas ao salvar um número longo: 038037036035034033032031041042043044045046047048
Quando salvo, o banco de dados registra: 3,8037036035034E+43
Os zeros são apenas separadores. Se eu substituir os zeros por caractere como letra ocorre [Ô]erro 1, eram esperados mais parâmetros[Ô]
Se substituir os zeros por vírgula ou outro caractere como [Ô]-[Ô] ocorre erro na fórmula sql.
A formula tem salvado tudo certo, o erro ocorre apenas ao salvar este número longo.
O BD éAcess 2003, campo memorando.

Agradecido,
Gardel
GNCNET 20/11/2010 15:47:04
#357894
Se usar int(numero_longo) = 038037036035034033032031041042043044045046047048
ocorre [Ô]erro 3346 - números de valores da consulta e destino não coincidem[Ô]
Ou seja, o número interfere na fórmula (?)
MARCELO.TREZE 20/11/2010 15:55:23
#357895
Resposta escolhida
vc disse que o campo é memorando.

vc converte oos numeros para sting na hora de salvar

ou seja

campo = [ô][Ô] & CStr(numero_longo) & [Ô][ô][Ô]
LLAIA 20/11/2010 15:55:31
#357896
posta sua query aí.

mas adiantando, ao colcoar valores de campos em instruções SQL, estes valores não podem ter vírgulas. utilize a função Replace e substitua a vírgula por ponto.
GNCNET 20/11/2010 16:33:31
#357898
LLaia:
Não posso colocar caractere como ponto ou vírgula, porque ocorre erro de sintaxe.

Marcelo:
Não surtiu efeito a conversão para string, continua salvando [Ô]3,8037036035034E+43[Ô]

O código é:
bb.Execute [Ô]INSERT INTO tbl_orcamentos (data,[Ô] & _
[Ô]codigoorc,[Ô] & _
[Ô]descricao,[Ô] & _
[Ô]cod_proced,[Ô] & _
[Ô]local,[Ô] & _
[Ô]setor,[Ô] & _
[Ô]qtde,[Ô] & _
[Ô]valor_tt,[Ô] & _
[Ô]codcli,[Ô] & _
[Ô]simb_proc,[Ô] & _
[Ô]statusorc,[Ô] & _
[Ô]obs,[Ô] & [Ô] cod_tabela,[Ô] & [Ô]statusproc,[Ô] & [Ô]Preco_por_proced,[Ô] & [Ô]vendedor)[Ô] & _
[Ô]values([ô][Ô] & _
Format(datat, [Ô]dd/mm/yyyy[Ô]) & [Ô][ô],[Ô] & _
orc & [Ô],[ô][Ô] & _
proced & _
[Ô][ô],[Ô] & cod_procedimento & _
[Ô],[Ô] & local & _
[Ô],[ô][Ô] & setor & _
[Ô][ô],[Ô] & qtde & _
[Ô],[ô][Ô] & Valor & _
[Ô][ô],[Ô] & Me.Text1(0).Text & _
[Ô],[ô][Ô] & c_proced & _
[Ô][ô],[ô][Ô] & [Ô]est[Ô] & [Ô][ô], [ô][Ô] & observ & [Ô][ô], [ô][Ô] & cod_tabela & [Ô][ô], [ô][Ô] & [Ô]atr[Ô] & [Ô][ô], [ô][Ô] & Preco_por_proced & [Ô][ô], [ô][Ô] & vendedor & [Ô][ô])[Ô]
GNCNET 20/11/2010 16:35:56
#357899
Ah!
o número_longo é para o campo [Ô]local[Ô]
LLAIA 20/11/2010 22:18:59
#357911
no access local é palavra reservada. coloca local entre colchetes na sua query:

[local] = numero_longo
GNCNET 20/11/2010 22:48:07
#357912
Llaia,
ainda não resolveu
LLAIA 21/11/2010 19:17:19
#357930
experimente renomear o campo local para fazer um teste e verificar se o erro persiste
MARCELO.TREZE 22/11/2010 16:04:20
#357977
torno a insistir, qual o nome do campo, pois vc postou a query, mas não sei o nome do campo, e ele é do tipo memorando mesmo?

ALTAFIN 22/11/2010 16:50:35
#357983
Posta a estrutura da tabela tbl_orcamentos, fica mais fácil para analisar.
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas