ERRO DE SITAXE NA INSTRUCAO INSERT INTO

FRAZAO 30/09/2013 21:28:12
#429433
Boa Noite galera eu me deparei com errinho cahato aqui no meu sistema...

( Erro de Sintaxe na Instrução Insert Into )

Alguem sabe como resolver isso :
esta [e a parte do codigo onde se encontra os Insert..


strSQL = [Ô]INSERT INTO Clientes([Ô] & _
[Ô]Codigo,[Ô] & _
[Ô]Nome,[Ô] & _
[Ô]TipoDoc,[Ô] & _
[Ô]NumeroDoc,[Ô] & _
[Ô]DtCadastro,[Ô] & _
[Ô]DtUltimoFat,[Ô] & _
[Ô]DtNascimento,[Ô] & _
[Ô]Status,[Ô] & _
[Ô]Obs,[Ô] & _
[Ô]CEP,[Ô] & _
[Ô]TipoVia,[Ô] & _
[Ô]Logradouro,[Ô]

strSQL = strSQL & _
[Ô]Municipio,[Ô] & _
[Ô]Numero,[Ô] & _
[Ô]Bairro,[Ô] & _
[Ô]Complemento,[Ô] & _
[Ô]UF,[Ô] & _
[Ô]Pais,[Ô] & _
[Ô]Telefone1,[Ô] & _
[Ô]Telefone2,[Ô] & _
[Ô]Fax,[Ô] & _
[Ô]Site,[Ô] & _
[Ô]Email,[Ô] & _
[Ô]Contato)VALUES([Ô] & _
[Ô][ô][Ô] & Trim(atxtCodigo.Text) & [Ô][ô],[Ô] & _
[Ô][ô][Ô] & Trim(atxtCliente.Text) & [Ô][ô],[Ô]

strSQL = strSQL & _
IIf(cboDoc.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & cboDoc.Text & [Ô][ô],[Ô]) & _
IIf(atxtNumeroDoc.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & LimparNumero(Trim(atxtNumeroDoc.Text)) & [Ô][ô],[Ô]) & _
IIf(atxtDtCadastro.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & Trim(atxtDtCadastro.Text) & [Ô][ô],[Ô]) & _
IIf(atxtDtUltimoOS.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & Trim(atxtDtUltimoOS.Text) & [Ô][ô],[Ô]) & _
IIf(atxtDtNascimento.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & Trim(atxtDtNascimento.Text) & [Ô][ô],[Ô]) & _
IIf(cboAtivo.Text = [Ô]SIM[Ô], [Ô]True,[Ô], [Ô]True,[Ô]) & _
IIf(atxtObservacao.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtObservacao.Text)) & [Ô][ô],[Ô]) & _
IIf(atxtCep.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & Trim(atxtCep.Text) & [Ô][ô],[Ô]) & _
IIf(cboVia.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & cboVia.Text & [Ô][ô],[Ô]) & _
IIf(atxtLogradouro.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtLogradouro.Text)) & [Ô][ô],[Ô]) & _
IIf(atxtMunicipio.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtMunicipio.Text)) & [Ô][ô],[Ô]) & _
IIf(atxtNumero.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtNumero.Text)) & [Ô][ô],[Ô]) & _
IIf(atxtBairro.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtBairro.Text)) & [Ô][ô],[Ô]) & _
IIf(atxtComplemento.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtComplemento.Text)) & [Ô][ô],[Ô]) & _
IIf(atxtUF.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtUF.Text)) & [Ô][ô],[Ô]) & _
IIf(atxtPais.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtPais.Text)) & [Ô][ô],[Ô]) & _
IIf(atxtTelefone1.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & Trim(atxtTelefone1.Text) & [Ô][ô],[Ô]) & _
IIf(atxtTelefone2.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & Trim(atxtTelefone2.Text) & [Ô][ô],[Ô]) & _
IIf(atxtFax.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & Trim(atxtFax.Text) & [Ô][ô],[Ô]) & _
IIf(atxtSite.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtSite.Text)) & [Ô][ô],[Ô]) & _
IIf(atxtEmail.Text = [Ô][Ô], [Ô]Null,[Ô], [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtEmail.Text)) & [Ô][ô],[Ô]) & _
IIf(atxtContato.Text = [Ô][Ô], [Ô]Null)[Ô], [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtContato.Text)) & [Ô][ô])[Ô])

cn.Execute (strSQL)


strSQL = [Ô]INSERT INTO Limites([Ô] & _
[Ô]CodigoCliente,[Ô] & _
[Ô]LimiteCredito,[Ô] & _
[Ô]LimiteDisponivel,[Ô] & _
[Ô]SenhaCompra,[Ô] & _
[Ô]CreditoBloqueado,[Ô] & _
[Ô])VALUES([Ô]

strSQL = strSQL & _
[Ô][ô][Ô] & Trim(atxtCodigo.Text) & [Ô][ô],[Ô] & _
IIf(atxtLimiteCredito.Text = [Ô][Ô], [Ô][ô]0,00[ô],[Ô], [Ô][ô][Ô] & Trim(atxtLimiteCredito.Text)) & [Ô][ô],[Ô] & _
IIf(atxtLimiteDisponivel.Text = [Ô][Ô], [Ô][ô]0,00[ô],[Ô], [Ô][ô][Ô] & Trim(atxtLimiteDisponivel.Text)) & [Ô][ô],[Ô] & _
IIf(atxtSenhaCompra1.Text = [Ô][Ô], [Ô]Null[Ô], [Ô][ô][Ô] & Trim(atxtSenhaCompra1.Text)) & [Ô][ô],[Ô] & _
IIf(chkCreditoBloqueado.Value = True, [Ô]True)[Ô], [Ô]False[Ô])




Vamos ve se agente descobri este danado......

MARCELO.TREZE 30/09/2013 22:17:00
#429434
Resposta escolhida
vamos lá qual é o banco de dados?

todos ps campos são do tipo texto?

FRAZAO 30/09/2013 22:37:50
#429435
Citação:

:
vamos lá qual é o banco de dados?

todos ps campos são do tipo texto?



sim todos e o banco que uso [e o acess
MARCELO.TREZE 30/09/2013 23:04:32
#429436
Jean acredito que vc não precise tratar todos os campos com IIF, pois vc tratando todos os campos como texto o que não é correto principalmente quando o campo for armazenar uma data, o null teria de ser tratado como [ô]Null[ô]

então tente o seguinte

strSQL = [Ô]INSERT INTO Clientes(Codigo,Nome,TipoDoc,NumeroDoc,DtCadastro,DtUltimoFat,DtNascimento,Status,Obs,CEP,TipoVia,Logradouro,[Ô]
strSQL = strSQL & [Ô]Municipio,Numero,Bairro,Complemento,UF,Pais,Telefone1,Telefone2,Fax,Site,Email,Contato)VALUES([Ô] & _
strSQL = strSQL & [Ô][ô][Ô] & Trim(atxtCodigo.Text) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & Trim(atxtCliente.Text) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & cboDoc.Text & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & LimparNumero(Trim(atxtNumeroDoc.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & Trim(atxtDtCadastro.Text) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & Trim(atxtDtUltimoOS.Text) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & Trim(atxtDtNascimento.Text) & [Ô][ô],[Ô]
strSQL = strSQL & IIf(cboAtivo.Text = [Ô]SIM[Ô], [Ô][ô]True[ô],[Ô], [Ô][ô]False[ô],[Ô])
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtObservacao.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & Trim(atxtCep.Text) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & cboVia.Text & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtLogradouro.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtMunicipio.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtNumero.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtBairro.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtComplemento.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtUF.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtPais.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & Trim(atxtTelefone1.Text) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & Trim(atxtTelefone2.Text) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & Trim(atxtFax.Text) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtSite.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtEmail.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtContato.Text)) & [Ô][ô])[Ô]

cn.Execute (strSQL)


acredito que funcione, porém se aparecer algum erro dizendo que não é permito valor nulo, va tratando somente os campos ao qual a sql recusar

FRAZAO 30/09/2013 23:18:21
#429437
Citação:

:
Jean acredito que vc não precise tratar todos os campos com IIF, pois vc tratando todos os campos como texto o que não é correto principalmente quando o campo for armazenar uma data, o null teria de ser tratado como [ô]Null[ô]

então tente o seguinte

strSQL = [Ô]INSERT INTO Clientes(Codigo,Nome,TipoDoc,NumeroDoc,DtCadastro,DtUltimoFat,DtNascimento,Status,Obs,CEP,TipoVia,Logradouro,[Ô]
strSQL = strSQL & [Ô]Municipio,Numero,Bairro,Complemento,UF,Pais,Telefone1,Telefone2,Fax,Site,Email,Contato)VALUES([Ô] & _
strSQL = strSQL & [Ô][ô][Ô] & Trim(atxtCodigo.Text) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & Trim(atxtCliente.Text) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & cboDoc.Text & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & LimparNumero(Trim(atxtNumeroDoc.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & Trim(atxtDtCadastro.Text) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & Trim(atxtDtUltimoOS.Text) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & Trim(atxtDtNascimento.Text) & [Ô][ô],[Ô]
strSQL = strSQL & IIf(cboAtivo.Text = [Ô]SIM[Ô], [Ô][ô]True[ô],[Ô], [Ô][ô]False[ô],[Ô])
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtObservacao.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & Trim(atxtCep.Text) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & cboVia.Text & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtLogradouro.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtMunicipio.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtNumero.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtBairro.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtComplemento.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtUF.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtPais.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & Trim(atxtTelefone1.Text) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & Trim(atxtTelefone2.Text) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & Trim(atxtFax.Text) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtSite.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtEmail.Text)) & [Ô][ô],[Ô]
strSQL = strSQL & [Ô][ô][Ô] & RemoveApostrofe(Trim(atxtContato.Text)) & [Ô][ô])[Ô]

cn.Execute (strSQL)


acredito que funcione, porém se aparecer algum erro dizendo que não é permito valor nulo, va tratando somente os campos ao qual a sql recusar


deu muito certo nao. o erro é quando eu tento cadastra um cliente.....ele cadasra certo mais vem uma menssagem de erro
erro de sintaxe na instruçao insert into...
MARCELO.TREZE 01/10/2013 07:28:34
#429439
esqueci do segundo insert, vc possui este outro insert que tem uma virgula a mais veja

trSQL = [Ô]INSERT INTO Limites([Ô] & _
[Ô]CodigoCliente,[Ô] & _
[Ô]LimiteCredito,[Ô] & _
[Ô]LimiteDisponivel,[Ô] & _
[Ô]SenhaCompra,[Ô] & _
[Ô]CreditoBloqueado,[Ô] & _ [txt-color=#e80000]<<<<<----------tire esta virgula depois do credtiobloqueado que vai funcionar[/txt-color]
[Ô])VALUES([Ô]

strSQL = strSQL & _
[Ô][ô][Ô] & Trim(atxtCodigo.Text) & [Ô][ô],[Ô] & _
IIf(atxtLimiteCredito.Text = [Ô][Ô], [Ô][ô]0,00[ô],[Ô], [Ô][ô][Ô] & Trim(atxtLimiteCredito.Text)) & [Ô][ô],[Ô] & _
IIf(atxtLimiteDisponivel.Text = [Ô][Ô], [Ô][ô]0,00[ô],[Ô], [Ô][ô][Ô] & Trim(atxtLimiteDisponivel.Text)) & [Ô][ô],[Ô] & _
IIf(atxtSenhaCompra1.Text = [Ô][Ô], [Ô]Null[Ô], [Ô][ô][Ô] & Trim(atxtSenhaCompra1.Text)) & [Ô][ô],[Ô] & _
IIf(chkCreditoBloqueado.Value = True, [Ô]True)[Ô], [Ô]False[Ô])
FRAZAO 01/10/2013 11:24:50
#429443
Agora de um erro assim.......

Erro de sintaxe na sequencia de caracteres na expressção de consulta [ô]Null[ô],False[ô]


muito doido
FRAZAO 01/10/2013 13:22:25
#429447
Citação:

:
esqueci do segundo insert, vc possui este outro insert que tem uma virgula a mais veja

trSQL = [Ô]INSERT INTO Limites([Ô] & _
[Ô]CodigoCliente,[Ô] & _
[Ô]LimiteCredito,[Ô] & _
[Ô]LimiteDisponivel,[Ô] & _
[Ô]SenhaCompra,[Ô] & _
[Ô]CreditoBloqueado,[Ô] & _ [txt-color=#e80000]<<<<<----------tire esta virgula depois do credtiobloqueado que vai funcionar[/txt-color]
[Ô])VALUES([Ô]

strSQL = strSQL & _
[Ô][ô][Ô] & Trim(atxtCodigo.Text) & [Ô][ô],[Ô] & _
IIf(atxtLimiteCredito.Text = [Ô][Ô], [Ô][ô]0,00[ô],[Ô], [Ô][ô][Ô] & Trim(atxtLimiteCredito.Text)) & [Ô][ô],[Ô] & _
IIf(atxtLimiteDisponivel.Text = [Ô][Ô], [Ô][ô]0,00[ô],[Ô], [Ô][ô][Ô] & Trim(atxtLimiteDisponivel.Text)) & [Ô][ô],[Ô] & _
IIf(atxtSenhaCompra1.Text = [Ô][Ô], [Ô]Null[Ô], [Ô][ô][Ô] & Trim(atxtSenhaCompra1.Text)) & [Ô][ô],[Ô] & _
IIf(chkCreditoBloqueado.Value = True, [Ô]True)[Ô], [Ô]False[Ô])



Agora o erro esta somente nesta parte

IIf(chkCreditoBloqueado.Value = True, [Ô]True)[Ô], [Ô]False)[Ô])

me diga o que tem de errado nela .....
NETMANIA 01/10/2013 13:56:48
#429448
Corrigindo a Sintaxe do comando

IIf(chkCreditoBloqueado.Value = True, True, False)

Obs: Assumindo que você tenha criado o campo do tipo Verdadeiro/Falso (booleaneo)
MARCELO.TREZE 01/10/2013 15:12:27
#429456
Novamente tenho de dizer, a tabela deverá ser toda reestruturada, pois você trata todos campos como texto, para a query funcionar corretamente se tratando de um campo texto deverão ser usados os apóstrofos, veja

  IIf(chkCreditoBloqueado.Value = True, [Ô][ô]True[ô])[Ô], [Ô][ô]False[ô])[Ô])
FRAZAO 01/10/2013 15:40:37
#429460
Citação:

:
Novamente tenho de dizer, a tabela deverá ser toda reestruturada, pois você trata todos campos como texto, para a query funcionar corretamente se tratando de um campo texto deverão ser usados os apóstrofos, veja

  IIf(chkCreditoBloqueado.Value = True, [Ô][ô]True[ô])[Ô], [Ô][ô]False[ô])[Ô])



esta voltando o seguinte erro......

Erro de sintaxe na sequencia de caracteres na expressão de consulta [Ô],false[ô]
Página 1 de 2 [14 registro(s)]
Tópico encerrado , respostas não são mais permitidas