ERRO 380 INVALID PROPERTY VALUE - VB6

ROGERCOUTO 27/07/2015 14:55:51
#449278
Boa tarde pessoal,

tenho um maskbox que realiza a validação de CPF quando perde o foco, porém, estou com problema. Quando o CPF é inválida, o sistema deveria apagar o caracteres atuais e ao invés disso está me retornando o RunTime Error 380 - Invalid Property Value.

O trecho que apresenta o erro é o seguinte:

ElseIf Left
(CPF, 11) = String(11, [Ô]0[Ô]) Or Left(CPF, 11) = String(11, [Ô]1[Ô]) Or Left(CPF, 11) = String(11, [Ô]2[Ô]) Or Left(CPF, 11) = String(11, [Ô]3[Ô]) Or Left(CPF, 11) = String(11, [Ô]4[Ô]) Or Left(CPF, 11) = String(11, [Ô]5[Ô]) Or Left(CPF, 11) = String(11, [Ô]6[Ô]) Or Left(CPF, 11) = String(11, [Ô]7[Ô]) Or Left(CPF, 11) = String(11, [Ô]8[Ô]) Or Left(CPF, 11) = String(11, [Ô]9[Ô])
Then
MsgBox [Ô]CPF Inválido!!![Ô], vbCritical, [Ô]Números repetidos![Ô]
frmcadclientes.mskcpfcnpf.Text = Empty
Exit Function

Poderiam me auxiliar, por favor?

Abraço
DAMASCENO.CESAR 27/07/2015 16:37:34
#449283
altera essa linha:
frmcadclientes.mskcpfcnpf.Text = Empty

para essa:
frmcadclientes.mskcpfcnpf.Text = [Ô][Ô]

vê se funciona
ROGERCOUTO 27/07/2015 17:06:24
#449286
Também já tentei assim e deu o mesmo erro.

Abraço
DAMASCENO.CESAR 27/07/2015 17:37:15
#449288
ROGERCOUTO não tenho o vb6 aqui, e faz tempo q não mexo com ele (rs), mas me lembro que era necessário retornar a mascara para o maskedbox.
não acho que este seja o caso. Segue abaixo o link do macoratti com as rotinas pra validar o cpf vê se te ajuda:
http://www.macoratti.net/val_cpf.htm
DAMASCENO.CESAR 27/07/2015 17:39:51
#449289
tem tbm esse outro link:
http://forum.baboo.com.br/index.php?/topic/359825-valida%C3%A7%C3%A3o-de-cpf-no-vb6/
F001E 27/07/2015 17:53:41
#449290
tem que retornar a mascara do CPF [Ô]___.___.___-__[Ô] e não Empty ou [Ô] [Ô]
ROGERCOUTO 28/07/2015 10:23:34
#449305
Obrigado DAMASCENO.CESAR e F001E pelas dicas. Para o problema do erro as soluções funcionaram em parte:

Deixei o código da seguinte forma.

ElseIf Left
(CPF, 11) = String(11, [Ô]0[Ô]) Or Left(CPF, 11) = String(11, [Ô]1[Ô]) Or Left(CPF, 11) = String(11, [Ô]2[Ô]) Or Left(CPF, 11) = String(11, [Ô]3[Ô]) Or Left(CPF, 11) = String(11, [Ô]4[Ô]) Or Left(CPF, 11) = String(11, [Ô]5[Ô]) Or Left(CPF, 11) = String(11, [Ô]6[Ô]) Or Left(CPF, 11) = String(11, [Ô]7[Ô]) Or Left(CPF, 11) = String(11, [Ô]8[Ô]) Or Left(CPF, 11) = String(11, [Ô]9[Ô])
Then
frmcadclientes.mskcpfcnpf.Mask = [Ô] . . - [Ô]
frmcadclientes.mskcpfcnpf.SetFocus
frmcadclientes.mskcpfcnpf.SelStart = 0
Exit Function

Agora, caso o cpf esteja errado o sistema apaga a informação da MaskBox e retorna o cursor para a posição 0 novamente, aguardando que o usuário digite o cpf novamente. O problema é que não deixa digitar mais nada nessa MaskBox, como ela estivesse desabilitada para edição.





Faça seu login para responder