AJUDA PARA GRAVAR VALOR DE CHECKBOX EM BANCO

VENOMGZ 20/04/2010 15:49:25
#339799
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
JSFF77 20/04/2010 16:40:47
#339802
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
TECLA 20/04/2010 16:41:49
#339803
Tente assim:

 Db.Execute [Ô]insert into Pessoal(CodPessoal, Nome, Sigla, Setor, Demitido) values ([ô][Ô] + _
txtCod.Text + [Ô][ô],[ô][Ô] + _
txtNome.Text + [Ô][ô],[ô][Ô] + _
txtSigla.Text + [Ô][ô],[ô][Ô] + _
txtSetor.Text + [Ô][ô],[Ô] + _
vDemitido + [Ô])[Ô]
VENOMGZ 20/04/2010 17:08:04
#339807
ok amigo, deu certo, muito obrigado pela ajuda e atenção
TECLA 20/04/2010 17:41:06
#339810
Citação:

:
ok amigo, deu certo, muito obrigado pela ajuda e atenção



Problema resolvido, favor ENCERRAR o tópico.
WILLVIDAL 20/04/2010 19:09:44
#339821
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
Tópico encerrado , respostas não são mais permitidas