INSTRUCAO SQL

AZORSCA 03/10/2012 10:35:20
#411140
Bom dia.

Estou com um problema em uma instrução SQL, e não estou conseguindo resolver.

Antes estava com o erro Unclosed Quotation near string

agora está dando erro de syntax

A instrução Sql é esta abaixo:

oConCadC.Execute ([Ô] Insert into ger025 (codigo, valor, tipo, data, historico, unidade, custo) Values ([ô][Ô] & .TextMatrix(i, 0) & [Ô][ô], [ô][Ô] & Replace(Replace(.TextMatrix(i, 3), [Ô],[Ô], [Ô].[Ô]), [Ô]R$[Ô], [Ô][Ô]) & [Ô][ô], [ô] C [ô] , [ô][Ô] & Format(Date, [Ô]YYYY-MM-DD[Ô]) & [Ô][ô], [ô][Ô] & [Ô]Compra de Equipamentos Nº: [Ô] & txtNumControle.Text & [Ô][ô], [Ô] & [Ô]0001[Ô] & [Ô], [ô][Ô] & Replace(Replace(.TextMatrix(i, 2), [Ô],[Ô], [Ô].[Ô]), [Ô]R$[Ô], [Ô][Ô]) & [Ô][ô] [Ô])


A estrutura da Tabela está na imagem anexada.

Quem puder ajudar eu agradeço muito.
AZORSCA 03/10/2012 10:37:28
#411141
o erro de syntax aponta próximo a esta instrução

.... Replace(Replace(.TextMatrix(i, 2), [Ô],[Ô], [Ô].[Ô]), [Ô]R$[Ô], [Ô][Ô]) & [Ô][ô] [Ô])
KERPLUNK 03/10/2012 13:32:27
#411153
Resposta escolhida
Coloque os valores em variáveis e concatene as variáveis no SQL:
dim codigo as string
dim valor as string
codigo = .TextMatrix(i,0)
valor = Replace(Replace(.TextMatrix(i, 3), [Ô],[Ô], [Ô].[Ô]), [Ô]R$[Ô], [Ô][Ô])

oconcad.execute [Ô]insert into TABELA (Codigo, valor) values ([ô][Ô] & codigo & [Ô][ô],[ô][Ô] & valor & [Ô][ô])[Ô]


Apesar de eu recomendar fortemente que use PARÂMETROS ao invés de concatenar string...
AZORSCA 03/10/2012 13:56:50
#411156
Entendi Kerplunk, é possível fazer desta maneira mesmo dentro de um FOR (laço de repetição, pois eu estou utilizando um laço que fará os insert enquanto houver itens na GRid. é possível?
KERPLUNK 03/10/2012 15:01:37
#411166
Com certeza sim! Desde que você declare as variáveis ANTES do for...
Tópico encerrado , respostas não são mais permitidas