CHECKBOX

REINALDOSPINDOL 14/09/2011 10:14:31
#384208
E ai galera blz?

Estou com um problema, tenho um form (anexo) de cadastro de clientes e que tem um checkbox que indica se é pessoa física ou jurídica. Eu salvo ele no bd normalmente, mas quando vou passar os registros para um próximo ou anterior ele muda meu registro, o que está checked fica uncheck e vice-versa. Aguardo a ajuda de vocês!
Segue código que estou usando nos botões de próximo e anterior.

[txt-color=#0000f0]Private Sub [/txt-color]Anterior_Click()
rs.MovePrevious
[txt-color=#0000f0]If[/txt-color] rs.BOF = [txt-color=#0000f0]True Then[/txt-color]
MsgBox [Ô]Este é o primeiro registro[Ô], vbExclamation, [Ô]Atenção![Ô]
rs.MoveFirst
[txt-color=#0000f0]End If[/txt-color]
txtnome.Text = rs(0) & [Ô][Ô]
txtfantasia.Text = rs(1) & [Ô][Ô]
rs(2).Value = optpf.Value
[txt-color=#0000f0]If[/txt-color] rs(2).Value = [txt-color=#0000f0]True Then[/txt-color]
optpf.Value = 0
[txt-color=#0000f0]Else[/txt-color]
optpf.Value = 1
[txt-color=#0000f0] End If[/txt-color]
DTPicker1.Value = rs(3)
cnpjmask.Text = rs(4) & [Ô][Ô]
txtestadual.Text = rs(5) & [Ô][Ô]
txtmunicipal.Text = rs(6) & [Ô][Ô]
txtendereço.Text = rs(7) & [Ô][Ô]
cepmask.Text = rs(8) & [Ô][Ô]
cbobairro.Text = rs(9) & [Ô][Ô]
cbocidades.Text = rs(10) & [Ô][Ô]
cboestado.Text = rs(11) & [Ô][Ô]
masktel1.Text = rs(12) & [Ô][Ô]
masktel2.Text = rs(13) & [Ô][Ô]
masktel3.Text = rs(14) & [Ô][Ô]
masktel4.Text = rs(15) & [Ô][Ô]
txtramal1.Text = rs(16) & [Ô][Ô]
txtramal2.Text = rs(17) & [Ô][Ô]
txtramal3.Text = rs(18) & [Ô][Ô]
txtramal4.Text = rs(19) & [Ô][Ô]
txtcontato1.Text = rs(20) & [Ô][Ô]
txtcontato2.Text = rs(21) & [Ô][Ô]
txtcontato3.Text = rs(22) & [Ô][Ô]
txtcontato4.Text = rs(23) & [Ô][Ô]
txtemail1.Text = rs(24) & [Ô][Ô]
txtemail2.Text = rs(25) & [Ô][Ô]
txtemail3.Text = rs(26) & [Ô][Ô]
txtemail4.Text = rs(27) & [Ô][Ô]
cpfmask.Text = rs(28) & [Ô][Ô]
[txt-color=#0000f0]End Sub[/txt-color]

[txt-color=#0000f0]Private Sub [/txt-color]Próximo_Click()
rs.MoveNext
[txt-color=#0000f0] If[/txt-color] rs.EOF = [txt-color=#0000f0]True Then[/txt-color]
MsgBox [Ô]Este é o último registro[Ô], vbExclamation, [Ô]Atenção![Ô]
rs.MoveLast
[txt-color=#0000f0]End If[/txt-color]

txtnome.Text = rs(0) & [Ô][Ô]
txtfantasia.Text = rs(1) & [Ô][Ô]
rs(2).Value = optpf.Value
[txt-color=#0000f0] If [/txt-color]rs(2).Value = [txt-color=#0000f0]True Then[/txt-color]
optpf.Value = 0
[txt-color=#0000f0]Else[/txt-color]
optpf.Value = 1
[txt-color=#0000f0] End If[/txt-color]
DTPicker1.Value = rs(3)
cnpjmask.Text = rs(4) & [Ô][Ô]
txtestadual.Text = rs(5) & [Ô][Ô]
txtmunicipal.Text = rs(6) & [Ô][Ô]
txtendereço.Text = rs(7) & [Ô][Ô]
cepmask.Text = rs(8) & [Ô][Ô]
cbobairro.Text = rs(9) & [Ô][Ô]
cbocidades.Text = rs(10) & [Ô][Ô]
cboestado.Text = rs(11) & [Ô][Ô]
masktel1.Text = rs(12) & [Ô][Ô]
masktel2.Text = rs(13) & [Ô][Ô]
masktel3.Text = rs(14) & [Ô][Ô]
masktel4.Text = rs(15) & [Ô][Ô]
txtramal1.Text = rs(16) & [Ô][Ô]
txtramal2.Text = rs(17) & [Ô][Ô]
txtramal3.Text = rs(18) & [Ô][Ô]
txtramal4.Text = rs(19) & [Ô][Ô]
txtcontato1.Text = rs(20) & [Ô][Ô]
txtcontato2.Text = rs(21) & [Ô][Ô]
txtcontato3.Text = rs(22) & [Ô][Ô]
txtcontato4.Text = rs(23) & [Ô][Ô]
txtemail1.Text = rs(24) & [Ô][Ô]
txtemail2.Text = rs(25) & [Ô][Ô]
txtemail3.Text = rs(26) & [Ô][Ô]
txtemail4.Text = rs(27) & [Ô][Ô]
cpfmask.Text = rs(28) & [Ô][Ô]
[txt-color=#0000f0]End Sub[/txt-color]
KERPLUNK 14/09/2011 10:24:42
#384211
Resposta escolhida
Nas duas funções troque:
If rs(2).Value = True Then
optpf.Value = 0
Else
optpf.Value = 1
End If

por isso:
If rs(2).Value = True Then
optpf.Value = 1
Else
optpf.Value = 0
End If
REINALDOSPINDOL 14/09/2011 10:39:16
#384214
Oh kerplunk, obrigado pela ajuda, mas num é isso não.

O problema é o seguinte, quando chega no dos registros, aparece a mensagem falando isso, e quando eu clico em ok, ele muda de check para uncheck e vice-versa, ou seja, se eu ficar clicando no último registro dez vezes e ficar aparecendo dez vezes a mensagem de fim dos registros, vai ficar mudando de checked para unchecked e unchecked para checked todas as vezes.

Espero que tenha sido claro, obrigado mais uma vez
KERPLUNK 14/09/2011 10:53:14
#384217
Esta linha:
rs(2).Value = optpf.Value
Está mudando o valor no banco de dados para o valor que estiver na checkbox e logo abaixo está verificando o valor dela, se for true, coloca falso, se for falso, coloca true. Por isso, vc está tendo esse sintoma. Basta retirar essa linha e pronto...
REINALDOSPINDOL 15/09/2011 09:46:37
#384315
KERPLUNK, valeu mesmo cara.

agora tá beleza!
Tópico encerrado , respostas não são mais permitidas