AJUDA EM ERRO DE SINTAXE EM INSERT INTO! #URGENTE

MARICLAUDINO 11/12/2012 17:04:57
#415811
Oi Pessoal! Estou terminando meu tcc... é para segunda-feira (dia 17 de dezembro), por isso peço uma ajuda rápida rs no máximo até quinta. Então, estou querendo fazer um cadastro, o que é algo bem simples, eu sei! Em todos os meus forms, clientes, caixa, fornecedores, etc. o cadastro funciona perfeitamente, com exceção do form de FUNCIONÁRIOS.

[txt-color=#e80000]Esses são os campos do BD:
[/txt-color]
nome
cargo
dtadmissao
telefone
salario
rgfuncionario
cpffuncionario
apelido
lixeira
cep
complemento
bairro
cidade
uf
rua
logradouro
obs

[txt-color=#e80000][b]Este é o código: (O problema é que ele faz a validação até cargo, salário ele nem valida e já dá [Ô]ERRO NA SINTAXE DO INSERT INTO[Ô]!)[/b][/txt-color]
If txtnome.Text = [Ô][Ô] Then
MessageBox.Show([Ô]Digite o nome do funcionário[Ô], [Ô]Cadastro - Alerta[Ô], MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
txtnome.Focus()
Exit Sub
End If

If txtfone.MaskCompleted = False Then
MessageBox.Show([Ô]Digite o telefone de [Ô] + txtnome.Text + [Ô]![Ô], [Ô]Cadastro - Alerta[Ô], MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
txtfone.Focus()
Exit Sub
End If

If txtapelido.Text = [Ô][Ô] Then
MessageBox.Show([Ô]Digite o Apelido de [Ô] + txtnome.Text + [Ô]![Ô], [Ô]Cadastro - Alerta[Ô], MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
txtapelido.Focus()
Exit Sub
End If

If txtdtadmissao.Text <> [Ô][Ô] And IsDate(txtdtadmissao.Text) = False Then
MessageBox.Show([Ô]Digite uma data de admissão válida[Ô] + [Ô]![Ô], [Ô]Cadastro - Alerta[Ô], MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
txtdtadmissao.Clear()
txtdtadmissao.Focus()
Exit Sub
End If

If txtcargo.Text = [Ô][Ô] Then
MessageBox.Show([Ô]Digite o cargo de [Ô] + txtnome.Text + [Ô]![Ô], [Ô]Cadastro - Alerta[Ô], MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
txtcargo.Focus()
Exit Sub
End If

If txtsalario.Text = [Ô][Ô] Then
MessageBox.Show([Ô]Digite o Salário de [Ô] + txtnome.Text + [Ô]![Ô], [Ô]Cadastro - Alerta[Ô], MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
txtsalario.Focus()
Exit Sub
End If


varSql = [Ô]insert into Funcionarios[Ô] & _
[Ô](nome, cpffuncionario, rgfuncionario, telefone, apelido, cargo, dtadmissao, salario, cep, complemento, bairro, cidade, uf, rua, obs, logradouro) values [Ô] & _
[Ô]([ô][Ô] & _
txtnome.Text & [Ô][ô],[ô][Ô] & _
txtcpf.Text & [Ô][ô],[ô][Ô] & _
txtrg.Text & [Ô][ô],[ô][Ô] & _
txtfone.Text & [Ô][ô],[ô][Ô] & _
txtapelido.Text & [Ô][ô],[ô][Ô] & _
txtcargo.Text & [Ô][ô],[ô][Ô] & _
txtdtadmissao.Text & [Ô][ô],[Ô] & _
txtsalario.Text & [Ô],[ô][Ô] & _
txtcep.Text & [Ô][ô],[ô][Ô] & _
txtcomplemento.Text & [Ô][ô],[ô][Ô] & _
txtbairro.Text & [Ô][ô],[ô][Ô] & _
txtcidade.Text & [Ô][ô],[ô][Ô] & _
txtuf.Text & [Ô][ô],[ô][Ô] & _
txtrua.Text & [Ô][ô],[ô][Ô] & _
txtobs.Text & [Ô][ô],[ô][Ô] & _
txtlogradouro.Text & _
[Ô][ô])[Ô]

drFuncionarios.Close()
cmdFuncionarios.Connection = objConecta
cmdFuncionarios.CommandText = varSql
cmdFuncionarios.ExecuteNonQuery()

MessageBox.Show([Ô]Cadastrado com sucesso![Ô], [Ô]Funcionários - Cadastro[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
txtnome.Text = [Ô][Ô]
txtcpf.Text = [Ô][Ô]
txtrg.Text = [Ô][Ô]
txtfone.Text = [Ô][Ô]
txtapelido.Text = [Ô][Ô]
txtcargo.Text = [Ô][Ô]
txtdtadmissao.Text = [Ô][Ô]
txtsalario.Text = [Ô][Ô]
txtcep.Text = [Ô][Ô]
txtcidade.Text = [Ô][Ô]
txtcomplemento.Text = [Ô][Ô]
txtbairro.Text = [Ô][Ô]
txtlogradouro.Text = [Ô][Ô]
txtrua.Text = [Ô][Ô]
txtuf.Text = [Ô][Ô]

[txt-color=#e80000]AJUDEM AI, POR FAVOR![/txt-color]
ALEVALE 11/12/2012 17:15:22
#415813
Bom tá mas o erro então não é nem do SQL correto ?

Qual é o tipo do campo ? Textbox, maskedit.....etc...
ALEVALE 11/12/2012 17:20:09
#415814
Outra sugestão é você fazer isso em um bloco com ELSE

If txtnome.Text = [Ô][Ô] Then
MessageBox.Show([Ô]Digite o nome do funcionário[Ô], [Ô]Cadastro - Alerta[Ô], MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
txtnome.Focus()

ElseIf txtfone.MaskCompleted = False Then
MessageBox.Show([Ô]Digite o telefone de [Ô] + txtnome.Text + [Ô]![Ô], [Ô]Cadastro - Alerta[Ô], MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
txtfone.Focus()

elseIf txtapelido.Text = [Ô][Ô] Then
MessageBox.Show([Ô]Digite o Apelido de [Ô] + txtnome.Text + [Ô]![Ô], [Ô]Cadastro - Alerta[Ô], MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
txtapelido.Focus()

elseIf txtdtadmissao.Text <> [Ô][Ô] And IsDate(txtdtadmissao.Text) = False Then
MessageBox.Show([Ô]Digite uma data de admissão válida[Ô] + [Ô]![Ô], [Ô]Cadastro - Alerta[Ô], MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
txtdtadmissao.Clear()
txtdtadmissao.Focus()

elseIf txtcargo.Text = [Ô][Ô] Then
MessageBox.Show([Ô]Digite o cargo de [Ô] + txtnome.Text + [Ô]![Ô], [Ô]Cadastro - Alerta[Ô], MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
txtcargo.Focus()

elseIf txtsalario.Text = [Ô][Ô] Then
MessageBox.Show([Ô]Digite o Salário de [Ô] + txtnome.Text + [Ô]![Ô], [Ô]Cadastro - Alerta[Ô], MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
txtsalario.Focus()
else
varSql = [Ô]insert into Funcionarios[Ô] & _
[Ô](nome, cpffuncionario, rgfuncionario, telefone, apelido, cargo, dtadmissao, salario, cep, complemento, bairro, cidade, uf, rua, obs, logradouro) values [Ô] & _
[Ô]([ô][Ô] & _
txtnome.Text & [Ô][ô],[ô][Ô] & _
txtcpf.Text & [Ô][ô],[ô][Ô] & _
txtrg.Text & [Ô][ô],[ô][Ô] & _
txtfone.Text & [Ô][ô],[ô][Ô] & _
txtapelido.Text & [Ô][ô],[ô][Ô] & _
txtcargo.Text & [Ô][ô],[ô][Ô] & _
txtdtadmissao.Text & [Ô][ô],[Ô] & _
txtsalario.Text & [Ô],[ô][Ô] & _
txtcep.Text & [Ô][ô],[ô][Ô] & _
txtcomplemento.Text & [Ô][ô],[ô][Ô] & _
txtbairro.Text & [Ô][ô],[ô][Ô] & _
txtcidade.Text & [Ô][ô],[ô][Ô] & _
txtuf.Text & [Ô][ô],[ô][Ô] & _
txtrua.Text & [Ô][ô],[ô][Ô] & _
txtobs.Text & [Ô][ô],[ô][Ô] & _
txtlogradouro.Text & _
[Ô][ô])[Ô]

drFuncionarios.Close()
cmdFuncionarios.Connection = objConecta
cmdFuncionarios.CommandText = varSql
cmdFuncionarios.ExecuteNonQuery()

MessageBox.Show([Ô]Cadastrado com sucesso![Ô], [Ô]Funcionários - Cadastro[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
txtnome.Text = [Ô][Ô]
txtcpf.Text = [Ô][Ô]
txtrg.Text = [Ô][Ô]
txtfone.Text = [Ô][Ô]
txtapelido.Text = [Ô][Ô]
txtcargo.Text = [Ô][Ô]
txtdtadmissao.Text = [Ô][Ô]
txtsalario.Text = [Ô][Ô]
txtcep.Text = [Ô][Ô]
txtcidade.Text = [Ô][Ô]
txtcomplemento.Text = [Ô][Ô]
txtbairro.Text = [Ô][Ô]
txtlogradouro.Text = [Ô][Ô]
txtrua.Text = [Ô][Ô]
txtuf.Text = [Ô][Ô]
End If
MARICLAUDINO 11/12/2012 17:20:22
#415815
Então, to usando access (lixo) mesmo kkk

Ok,
todos são textbox, com exceção de txtcpf e txtdtadmissao que são campos com máscara.

é isso?
MARICLAUDINO 11/12/2012 17:24:21
#415816
Não funcionou :/
MARCELO.TREZE 11/12/2012 19:40:31
#415828
a pergunta correta é qual o tipo do campo no access ( texto, numero, moeda )?

eu reparei que em todos você utilizou o apostrofo, porém no campo salário não, então entenda as regras

campos do tipo texto usa-se o apostrofo ([ô])
campos do tipo integer não se usa acentos
campos do tipo data usa-se o number (#) com o seguinte formato mm/dd/yyyy

verifique isto

ps: se for o caso de serem todos texto então use esta alteração

...
txtdtadmissao.Text & [Ô][ô],[ô][Ô] & _
txtsalario.Text & [Ô][ô],[ô][Ô] & _
...
Faça seu login para responder