USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  optionbutton
FKNMALTA
FRANCA
SP - BRASIL
ENUNCIADA !
Postada em 28/03/2008 17:27 hs         
Seguinte galera, tenho dois optionbuttons para controle de cpf e cnpj em um textbox, a duvida é: como faço para controlar quando o usuario marcar um dos dois???
Exemplo: Marcou CPF, o textbox vai assumir a validação do cpf que esta em um modulo,
se marcar o CNPJ, vai assumir a validação do cnpj
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 28/03/2008 17:42 hs            
Eis a forma:
 
Select Case Me.ActiveControl
 
Case OptCPF.Value=True
 
'...código para validar o cpf
 
Case OptCNPJ.Value=True
 
'...código para validar o CNPJ
 
End Select
 
 
Basta você colocar dentro do botão para validar ou de outra função que você esteja utilizando.
 
 
TÓPICO EDITADO
 
Tiranossauro
DOIS IRMÃOS
RS - BRASIL
Postada em 28/03/2008 18:32 hs            
vc pode criar dois maskEditBox sobrepostos já formatados para CPF e CNPJ e dependendo do click vc oculta um e exibe o outro ... habilita, desabilita .. etc
     
FKNMALTA
FRANCA
SP - BRASIL
Postada em 28/03/2008 20:57 hs         
fiz assim mas num ta dando certo:
 
Private Sub txtcpf_LostFocus()
Select Case Me.ActiveControl
Case optcpf.Value = True
 FU_ValidaCPF (txtcpf.Text)
  If txtcpf.Text <> FU_ValidaCPF(txtcpf.Text) Then
 MsgBox "CPF Invalido!", vbExclamation
 txtcpf.SetFocus
 End If
 End Select
 End Sub

alguma ideia??
Gostaria de colcar no lostfocus,e a ideia do maskedibox é legal mas para gravar isso no banco vai ser complicado....entenderam???se o botao CPF estiver marcado e  for digitado um numero diferente de um cpf no textbox, a mensagem "cpf/cnpj invalido" e com o cnpj o mesmo caso.....tenho um modulo com as funcoes de validacao do cpf e cnpj separado e um modulo com cpf e cnpj juntos....a funcção que esta junto fica assim no lost focus do campo texto:
 
Private Sub txtcpf_LostFocus()
If Fu_consistir_CgcCpf(txtcpf.Text) = False Then
    MsgBox "Cpf Informado não é valido", 64
    txtcpf.SetFocus
    Exit Sub
Else
    txtcpf.Text = Formato
End If
End Sub
 
dando enter controla legal, porem eu queria um controle dos botoes cpf e cnpj, porque no banco tem uma tabela q controla os botoes se for cpf ID = 1 se for cnpj ID= 2, e se nao tiver esse controle e o usuario digitar um cpf e estiver marcado o cnpj vai ficar gravado no banco ID=2 com um numero de cpf.
TÓPICO EDITADO
   
Tiranossauro
DOIS IRMÃOS
RS - BRASIL
ENUNCIADA !
Postada em 29/03/2008 11:52 hs            
Private Sub Txt_Cpf_LostFocus()
 
if opt_cpf.value = true then
    If ValidaCPF(Txt_CPF.Text) = False Then
       MsgBox "CPF inválido!"
       Txt_CPF.SetFocus
       Exit Sub
    End If
End if
if opt_cnpj.value = true then
    If ValidaCGC(Txt_CPF.Text) = False Then
       MsgBox "Cnpj inválido!"
       Txt_Cpf.SetFocus
       Exit Sub
    End If
End if
End Sub
 
 
' Coloca isto no módulo
Public Function ValidaCGC(CGC As String) As Boolean
If Len(CGC) <> 14 Then
   ValidaCGC = False
   Exit Function
End If
If CalculaCGC(Left(CGC, 12)) <> Mid(CGC, 13, 1) Then
   ValidaCGC = False
   Exit Function
End If
If CalculaCGC(Left(CGC, 13)) <> Mid(CGC, 14, 1) Then
   ValidaCGC = False
   Exit Function
End If
ValidaCGC = True
End Function
'A função que faz o calculo do dígito verificador é a seguinte:
Public Function CalculaCGC(Numero As String) As String
Dim i As Integer
Dim prod As Integer
Dim mult As Integer
Dim digito As Integer
If Not IsNumeric(Numero) Then
   CalculaCGC = ""
   Exit Function
End If
mult = 2
For i = Len(Numero) To 1 Step -1
  prod = prod + (Val(Mid(Numero, i, 1)) * mult)
  mult = IIf(mult = 9, 2, mult + 1)
Next
digito = 11 - Int(prod Mod 11)
digito = IIf(digito = 10 Or digito = 11, 0, digito)
CalculaCGC = Trim(Str(digito))
End Function
Public Function ValidaCPF(CPF As String) As Boolean
If Len(CPF) <> 11 Then
   ValidaCPF = False
   Exit Function
End If
If CalculaCPF(Left(CPF, 9)) <> Mid(CPF, 10, 1) Then
   ValidaCPF = False
   Exit Function
End If
If CalculaCPF(Left(CPF, 10)) <> Mid(CPF, 11, 1) Then
   ValidaCPF = False
   Exit Function
End If
ValidaCPF = True
End Function
'A função que faz o calculo do dígito verificador é a seguinte:
Public Function CalculaCPF(Numero As String) As String
Dim i As Integer
Dim prod As Integer
Dim mult As Integer
Dim digito As Integer
If Not IsNumeric(Numero) Then
   CalculaCPF = ""
   Exit Function
End If
mult = 2
For i = Len(Numero) To 1 Step -1
  prod = prod + (Val(Mid(Numero, i, 1)) * mult)
  mult = mult + 1
Next
digito = 11 - Int(prod Mod 11)
digito = IIf(digito = 10 Or digito = 11, 0, digito)
CalculaCPF = Trim(Str(digito))
End Function
 
 
End Sub
   
FKNMALTA
FRANCA
SP - BRASIL
Postada em 29/03/2008 14:26 hs         
Quem sabe, sabe!!!!é isso ai tiranossauro, deu certo!!!!!!!!, só mais uma duvida, tem como colocar a formatação???"@@.@@@.@@@/@@@@-@@" e "@@@.@@@.@@@......
TÓPICO EDITADO
   
Página(s): 1/3      PRÓXIMA »

CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página