ERRO DE SINTAXE INSERT INTO VB6

ENGLESSON 17/05/2015 19:17:15
#446705
boa noite. To com um problema...Este codigo estava funcionando corretamente, ai inserir mais um campo na tabela (campo 5), e agora ta dando erro de sintaxe...se tirar o campo funciona normal...segue o codigo ...



sSQL = [Ô]SELECT * FROM DBF [Ô]
Set RS = Conexao.Execute(sSQL)

Conexao.Execute [Ô]INSERT INTO DBF (RESP, NDC, CODIGO, DATA, QTD, DESC, VALOR) VALUES[Ô] & _
[Ô]([ô][Ô] & MSFlexGrid1.TextMatrix(r, 0) & _
[Ô][ô],[ô][Ô] & MSFlexGrid1.TextMatrix(r, 1) & _
[Ô][ô],[ô][Ô] & MSFlexGrid1.TextMatrix(r, 2) & _
[Ô][ô],[ô][Ô] & Replace(MSFlexGrid1.TextMatrix(r, 3), [Ô][ô][Ô], [Ô][ô][ô][Ô]) & _
[Ô][ô],[ô][Ô] & MSFlexGrid1.TextMatrix(r, 4) & _
[Ô][ô],[ô][Ô] & MSFlexGrid1.TextMatrix(r, 5) & _
[Ô][ô],[ô][Ô] & MSFlexGrid1.TextMatrix(r, 6) & [Ô][ô])[Ô]

[ô]todos os campos sao numeros apenas este e data [Ô][ô],[ô][Ô] & Replace(MSFlexGrid1.TextMatrix(r, 3), [Ô][ô][Ô], [Ô][ô][ô][Ô]) & _

na tabela estao todos os campos escrits corretamente...desde ja agradeço...
KERPLUNK 18/05/2015 01:05:13
#446710
Coloque o seu sql montado em uma variável e verifique a sintaxe, vai ficar muito mais fácil. O ideal é que comece a usar parametrização nas suas chamadas SQL, isso evita uma série de aborrecimentos futuros, incluindo o famigerado SQL Injection.
RO.DRIGOSG 20/05/2015 17:41:58
#446827
ENGLESSON,

Dá um print na estrutura da tabela (campos, datatypes, tamanho...etc) e posta aqui para o pessoal poder analisar melhor.
NILSONTRES 20/05/2015 20:29:56
#446829
Esta faltando um espaço aqui:
VALUES[Ô] & _

correto: VALUES [Ô] & _

Mas, siga o conselho do KERPLUNK.
Citação:

Coloque o seu sql montado em uma variável e verifique a sintaxe



Assim fica mais facil encontrara esses erros.
OMAR2011 21/05/2015 08:26:57
#446833
Resposta escolhida
O marcado de vermelho faz parte exclusiva do programa.
Ele significa DECRESCENTE.Isto todos nos sabemos, mas não usamos com campo de tabela.
Muitos esquecem desse detalhe.
Faça a mudança do nome do campo.
No Access acusa erro.
Conexao.Execute [Ô]INSERT INTO DBF (RESP, NDC, CODIGO, DATA, QTD, [txt-color=#e80000]DESC[/txt-color], VALOR) VALUES[Ô] & _
[Ô]([ô][Ô] & MSFlexGrid1.TextMatrix(r, 0) & _
[Ô][ô],[ô][Ô] & MSFlexGrid1.TextMatrix(r, 1) & _
[Ô][ô],[ô][Ô] & MSFlexGrid1.TextMatrix(r, 2) & _
[Ô][ô],[ô][Ô] & Replace(MSFlexGrid1.TextMatrix(r, 3), [Ô][ô][Ô], [Ô][ô][ô][Ô]) & _
[Ô][ô],[ô][Ô] & MSFlexGrid1.TextMatrix(r, 4) & _
[Ô][ô],[ô][Ô] & MSFlexGrid1.TextMatrix(r, 5) & _
[Ô][ô],[ô][Ô] & MSFlexGrid1.TextMatrix(r, 6) & [Ô][ô])[Ô]
FFCOUTO 21/05/2015 12:29:34
#446846
Só complementando o que o OMAR disse sobre o campos com nomes de palavras reservadas. é possível utilizar sim, desde que se ponha entre [ ].
No comando assim ficaria
INSERT INTO DBF (RESP, NDC, CODIGO, DATA, QTD, [txt-color=#e80000][DESC][/txt-color], VALOR) [Ô] & _
[Ô]([ô][Ô] & MSFlexGrid1.TextMatrix(r, 0) & _
[Ô][ô],[ô][Ô] & MSFlexGrid1.TextMatrix(r, 1) & _
[Ô][ô],[ô][Ô] & MSFlexGrid1.TextMatrix(r, 2) & _
[Ô][ô],[ô][Ô] & Replace(MSFlexGrid1.TextMatrix(r, 3), [Ô][ô][Ô], [Ô][ô][ô][Ô]) & _
[Ô][ô],[ô][Ô] & MSFlexGrid1.TextMatrix(r, 4) & _
[Ô][ô],[ô][Ô] & MSFlexGrid1.TextMatrix(r, 5) & _
[Ô][ô],[ô][Ô] & MSFlexGrid1.TextMatrix(r, 6) & [Ô][ô])[Ô]

OMAR2011 21/05/2015 15:17:49
#446858
Muito bom FFCOUTO, é vivendo e aprendendo.
Vou fazer um teste agora.
Depois posto o resultado.
Valeu.
ENGLESSON 29/05/2015 15:38:47
#447183
Pessoal desculpe a demora em responder, tive problema aqui...o erro e o que o OMAR disse, fiz o que o ffcouto falou e deu certo, muito obrigado pessoal....
OMAR2011 29/05/2015 17:27:38
#447196
Também testei.Positivo
Agora feche o tópico.
Tópico encerrado , respostas não são mais permitidas