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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  C N P J e C P F
WEBE®
BELO HORIZONTE
MG - BRASIL
ENUNCIADA !
Postada em 24/03/2005 17:29 hs         
Oi galera,
 
gostaria de saber se alguem tem uma rotina para validar CNPJ E CPF.
 
obrigado....

Weber Emoções
   
Romero
VILHENA
RO - BRASIL
ENUNCIADA !
Postada em 24/03/2005 17:42 hs            
Segue o código...
 
 
Txt(2).MaxLength = 14
    Dim Vl_Cpf As String
    Vl_Cpf = Trim(Txt(2).Text)
    If Len(Vl_Cpf) <> 11 Then
         MsgBox "CPF em branco, faltam algarismos ou há algarismos a mais.", vbCritical
         'Cmd2.Tag = "Erro"
         Txt(2).SetFocus
         Exit Sub
    End If
    If Not (IsNumeric(Vl_Cpf)) Then
         MsgBox "CPF contém letras.", vbCritical
         Txt(2).SetFocus
         Exit Sub
    End If
    If Fu_consistir_CgcCpf(Vl_Cpf) = False Then
        MsgBox "Cpf Inválido.", vbCritical
        Txt(2).SetFocus
    Else
        Txt(2).Text = Format(Txt(2).Text, "@@@.@@@.@@@/@@")
        'MsgBox "Cpf Válido"
        Cmd2.Tag = "OK"
    End If
Txt(2).MaxLength = 11
 
t+...
   
Roßerto
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SAO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 24/03/2005 19:31 hs            
Webe na seção dicas tem as duas funções de validação
 
Romero, a sua função verifica se o cpf ou cnpj está completo e não tem letras, mas
não verifica se o cpf/cnpj está correto.

Roberto
roberto@vbweb.com.br
   
Romero
VILHENA
RO - BRASIL
ENUNCIADA !
Postada em 24/03/2005 22:49 hs            
se for o caso tem que ser implementado esta funnção pois ele realemte só verifica se o cpf esta correto...
   
Kelebrimbor
não registrado
ENUNCIADA !
Postada em 25/03/2005 12:04 hs   
Estas funcoes utilizam um maskeditbox com a formatacao ilustrada em cada instrucao if.
Voce chama a funcao passando o cpf ou cnpj e pega o retorno por exemplo:
 
if verifica_cpf(txtcpf.text) = false then
   msgbox "CPF invalido"
   exit sub
endif
 
'   Função de verificação de CNPJ
Function Verifica_CNPJ(CNPJ As String) As Boolean
'   Verifica se o CNPJ foi digitado
    If CNPJ <> "__.___.___/____-__" Then
'       Se o CPF foi digitado verifica se foi digitado por completo
        If Mid(CNPJ, 1, 1) = "_" Or Mid(CNPJ, 2, 1) = "_" Or _
           Mid(CNPJ, 4, 1) = "_" Or Mid(CNPJ, 5, 1) = "_" Or _
           Mid(CNPJ, 6, 1) = "_" Or Mid(CNPJ, 8, 1) = "_" Or _
           Mid(CNPJ, 9, 1) = "_" Or Mid(CNPJ, 10, 1) = "_" Or _
           Mid(CNPJ, 12, 1) = "_" Or Mid(CNPJ, 13, 1) = "_" Or _
           Mid(CNPJ, 14, 1) = "_" Or Mid(CNPJ, 15, 1) = "_" Or _
           Mid(CNPJ, 17, 1) = "_" Or Mid(CNPJ, 18, 1) = "_" Then
            Verifica_CNPJ = False
            Exit Function
        End If
        Dim Digito As Integer 'Declaração de variáveis
'       Cálculo do 1º dígito verificador
        Digito = 11 - (((Mid(CNPJ, 1, 1) * 5) + _
                        (Mid(CNPJ, 2, 1) * 4) + _
                        (Mid(CNPJ, 4, 1) * 3) + _
                        (Mid(CNPJ, 5, 1) * 2) + _
                        (Mid(CNPJ, 6, 1) * 9) + _
                        (Mid(CNPJ, 8, 1) * 8) + _
                        (Mid(CNPJ, 9, 1) * 7) + _
                        (Mid(CNPJ, 10, 1) * 6) + _
                        (Mid(CNPJ, 12, 1) * 5) + _
                        (Mid(CNPJ, 13, 1) * 4) + _
                        (Mid(CNPJ, 14, 1) * 3) + _
                        (Mid(CNPJ, 15, 1) * 2)) Mod 11)
        If Digito > 9 Then 'Se dígito encontrado maior
            Digito = 0     'que nove Dígito = 0
        End If
        If Digito <> Val(Mid(CNPJ, 17, 1)) Then
'       Se o 1º dígito encontrado for diferente do CNPJ,
'retorna CNPJ inválido e encerra a função
            Verifica_CNPJ = False
            Exit Function
        End If
'       Cálculo do 2º dígito verificador
        Digito = 11 - (((Mid(CNPJ, 1, 1) * 6) + _
                        (Mid(CNPJ, 2, 1) * 5) + _
                        (Mid(CNPJ, 4, 1) * 4) + _
                        (Mid(CNPJ, 5, 1) * 3) + _
                        (Mid(CNPJ, 6, 1) * 2) + _
                        (Mid(CNPJ, 8, 1) * 9) + _
                        (Mid(CNPJ, 9, 1) * 8) + _
                        (Mid(CNPJ, 10, 1) * 7) + _
                        (Mid(CNPJ, 12, 1) * 6) + _
                        (Mid(CNPJ, 13, 1) * 5) + _
                        (Mid(CNPJ, 14, 1) * 4) + _
                        (Mid(CNPJ, 15, 1) * 3) + _
                        (Mid(CNPJ, 17, 1) * 2)) Mod 11)
        If Digito > 9 Then 'Se dígito encontrado maior
            Digito = 0     'que nove Dígito = 0
        End If
        If Digito <> Val(Mid(CNPJ, 18, 1)) Then
'       Se o 2º dígito encontrado for diferente do CNPJ retorna CNPJ inválido
            Verifica_CNPJ = False
        Else
'       Se o 2º dígito encontrado for igual ao do CNPJ retorna CNPJ válido
            Verifica_CNPJ = True
        End If
    Else
        Verifica_CNPJ = True
    End If
End Function
'   Função de verificação de CPF
Function Verifica_CPF(CPF As String) As Boolean
'   Verifica se o CPF foi digitado
    If CPF <> "___.___.___-__" Then
'       Se o CPF foi digitado verifica se foi digitado por completo
        If Mid(CPF, 1, 1) = "_" Or Mid(CPF, 2, 1) = "_" Or _
           Mid(CPF, 3, 1) = "_" Or Mid(CPF, 5, 1) = "_" Or _
           Mid(CPF, 6, 1) = "_" Or Mid(CPF, 7, 1) = "_" Or _
           Mid(CPF, 9, 1) = "_" Or Mid(CPF, 10, 1) = "_" Or _
           Mid(CPF, 11, 1) = "_" Or Mid(CPF, 13, 1) = "_" Or _
           Mid(CPF, 14, 1) = "_" Then
            Verifica_CPF = False
            Exit Function
        End If
        Dim Digito As Integer 'Declaração de variáveis
'       Cálculo do 1º dígito verificador
        Digito = 11 - (((Mid(CPF, 1, 1) * 10) + _
                        (Mid(CPF, 2, 1) * 9) + _
                        (Mid(CPF, 3, 1) * 8) + _
                        (Mid(CPF, 5, 1) * 7) + _
                        (Mid(CPF, 6, 1) * 6) + _
                        (Mid(CPF, 7, 1) * 5) + _
                        (Mid(CPF, 9, 1) * 4) + _
                        (Mid(CPF, 10, 1) * 3) + _
                        (Mid(CPF, 11, 1) * 2)) Mod 11)
        If Digito > 9 Then 'Se dígito encontrado maior
            Digito = 0     'que nove Dígito = 0
        End If
        If Digito <> Val(Mid(CPF, 13, 1)) Then
'       Se o 1º dígito encontrado for diferente do CPF,
'retorna CPF inválido e encerra a função
            Verifica_CPF = False
            Exit Function
        End If
'       Cálculo do 2º dígito verificador
        Digito = 11 - (((Mid(CPF, 1, 1) * 11) + _
                        (Mid(CPF, 2, 1) * 10) + _
                        (Mid(CPF, 3, 1) * 9) + _
                        (Mid(CPF, 5, 1) * 8) + _
                        (Mid(CPF, 6, 1) * 7) + _
                        (Mid(CPF, 7, 1) * 6) + _
                        (Mid(CPF, 9, 1) * 5) + _
                        (Mid(CPF, 10, 1) * 4) + _
                        (Mid(CPF, 11, 1) * 3) + _
                        (Mid(CPF, 13, 1) * 2)) Mod 11)
        If Digito > 9 Then 'Se dígito encontrado maior
            Digito = 0     'que nove Dígito = 0
        End If
        If Digito <> Val(Mid(CPF, 14, 1)) Then
'       Se o 2º dígito encontrado for diferente do CPF retorna CPF inválido
            Verifica_CPF = False
        Else
'       Se o 2º dígito encontrado for igual ao do CPF retorna CPF válido
            Verifica_CPF = True
        End If
    Else
        Verifica_CPF = True
    End If
End Function
   
WEBE®
BELO HORIZONTE
MG - BRASIL
Postada em 28/03/2005 10:15 hs         
Romero, Valeu pela validação do campo.
 
                     Vai ajudar muito na entrada de dados.
 
Kelebrimbor, É isso que eu precisava.
 
                            Vai ser muito útil.
 
                                  obrigado!!!
 
                                   Weber 28/04/2005
 
 
 
 
 

Weber Emoções
TÓPICO EDITADO
   
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



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