AJUDA PARA GRAVAR VALOR DE CHECKBOX EM BANCO
boa tarde amigos
por favor me ajudem, estou fazendo uma aplicação e em um dos forumlarios, tem um checkbox que eu preciso armazenar no banco
fiz isso no evento click do checkbox
Private Sub ckDemitido_Click()
If ckDemitido.Value = vbChecked Then
vDemitido = 1
Else
vDemitido = 0
End If
End Sub
e na hora de gravar, estou colocando isto na instrução SQL
Db.Execute [Ô]insert into Pessoal(CodPessoal,Nome,Sigla,Setor,Demitido) values ([ô][Ô] + _
txtCod.Text + [Ô][ô],[ô][Ô] + _
txtNome.Text + [Ô][ô],[ô][Ô] + _
txtSigla.Text + [Ô][ô],[ô][Ô] + _
txtSetor.Text + [Ô][ô],[ô][Ô] + _
vDemitido + [Ô][ô])[Ô]
mas na hora de executar, dá type mismatch, ja verifiquei o campo na tabela, e está para booleano, ou seja [Ô]sim/não[Ô]
como posso proceder?
grato
por favor me ajudem, estou fazendo uma aplicação e em um dos forumlarios, tem um checkbox que eu preciso armazenar no banco
fiz isso no evento click do checkbox
Private Sub ckDemitido_Click()
If ckDemitido.Value = vbChecked Then
vDemitido = 1
Else
vDemitido = 0
End If
End Sub
e na hora de gravar, estou colocando isto na instrução SQL
Db.Execute [Ô]insert into Pessoal(CodPessoal,Nome,Sigla,Setor,Demitido) values ([ô][Ô] + _
txtCod.Text + [Ô][ô],[ô][Ô] + _
txtNome.Text + [Ô][ô],[ô][Ô] + _
txtSigla.Text + [Ô][ô],[ô][Ô] + _
txtSetor.Text + [Ô][ô],[ô][Ô] + _
vDemitido + [Ô][ô])[Ô]
mas na hora de executar, dá type mismatch, ja verifiquei o campo na tabela, e está para booleano, ou seja [Ô]sim/não[Ô]
como posso proceder?
grato
Boa tarde.
O problema está nos apóstrofos finais da string de comando de inserção.
Basta removê-los, deixando a string dessa maneira:
Db.Execute [Ô]insert into Pessoal(CodPessoal,Nome,Sigla,Setor,Demitido) values ([ô][Ô] + _
txtCod.Text + [Ô][ô],[ô][Ô] + _
txtNome.Text + [Ô][ô],[ô][Ô] + _
txtSigla.Text + [Ô][ô],[ô][Ô] + _
txtSetor.Text + [Ô][ô],[Ô] + _
vDemitido + [Ô])[Ô]
Até mais.
JSFF77
O problema está nos apóstrofos finais da string de comando de inserção.
Basta removê-los, deixando a string dessa maneira:
Db.Execute [Ô]insert into Pessoal(CodPessoal,Nome,Sigla,Setor,Demitido) values ([ô][Ô] + _
txtCod.Text + [Ô][ô],[ô][Ô] + _
txtNome.Text + [Ô][ô],[ô][Ô] + _
txtSigla.Text + [Ô][ô],[ô][Ô] + _
txtSetor.Text + [Ô][ô],[Ô] + _
vDemitido + [Ô])[Ô]
Até mais.
JSFF77
Tente assim:
Db.Execute [Ô]insert into Pessoal(CodPessoal, Nome, Sigla, Setor, Demitido) values ([ô][Ô] + _
txtCod.Text + [Ô][ô],[ô][Ô] + _
txtNome.Text + [Ô][ô],[ô][Ô] + _
txtSigla.Text + [Ô][ô],[ô][Ô] + _
txtSetor.Text + [Ô][ô],[Ô] + _
vDemitido + [Ô])[Ô]
ok amigo, deu certo, muito obrigado pela ajuda e atenção
Citação::
ok amigo, deu certo, muito obrigado pela ajuda e atenção
Problema resolvido, favor ENCERRAR o tópico.
nesse caso eu costumo deixar o valor como char(1), no banco de dados e na hora de inserir o dado ficaria assim:
[Ô]insert into Pessoal(CodPessoal,Nome,Sigla,Setor,Demitido) values ([ô][Ô] + _
txtCod.Text + [Ô][ô],[ô][Ô] + _
txtNome.Text + [Ô][ô],[ô][Ô] + _
txtSigla.Text + [Ô][ô],[ô][Ô] + _
txtSetor.Text + [Ô][ô],[ô][Ô] + _
ckDemitido.Value + [Ô][ô])[Ô]
e a mesma coisa na hora de retornar uma pesquisa:
ckDemitido.Value = Pessoal!Demitido
assim vc não precisa passar pelo if
[Ô]insert into Pessoal(CodPessoal,Nome,Sigla,Setor,Demitido) values ([ô][Ô] + _
txtCod.Text + [Ô][ô],[ô][Ô] + _
txtNome.Text + [Ô][ô],[ô][Ô] + _
txtSigla.Text + [Ô][ô],[ô][Ô] + _
txtSetor.Text + [Ô][ô],[ô][Ô] + _
ckDemitido.Value + [Ô][ô])[Ô]
e a mesma coisa na hora de retornar uma pesquisa:
ckDemitido.Value = Pessoal!Demitido
assim vc não precisa passar pelo if
Tópico encerrado , respostas não são mais permitidas