Raphael49 Postado Novembro 9, 2010 Denunciar Share Postado Novembro 9, 2010 Olá Professores;Uso Access XpPara encerrar meu projeto estou precisando de uma rotina para validar meu campo CpfCliente e CnpjCliente alguém pode me ajudar ?AtenciosamenteRaphael49 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Humm Postado Novembro 10, 2010 Denunciar Share Postado Novembro 10, 2010 (editado) crie um modulocoloque essa função la'****************************************** 'Rotinas para cálculo de dígito verificador 'e validação de CNPJ e CPF 'Autor: Luiz Cláudio C. V. Rocha '****************************************** Public Function fDigCNPJ(CNPJ As String) As String 'Calcula os dígitos verificadores do CNPJ Dim i As Integer Dim intFator As Integer Dim intTotal As Integer Dim intResto 'Verifica se tem 12 ou 14 dígitos If Not (Len(CNPJ) = 12 Or Len(CNPJ) = 14) Then Exit Function Else 'Verifica se é numérico If Not IsNumeric(CNPJ) Then Exit Function Else 'Trunca o CNPJ em 12 caracteres CNPJ = Left$(CNPJ, 12) End If End If Inicio: 'Percorre as colunas (de trás para frente), 'multiplicando por seus respectivos fatores intFator = 2 intTotal = 0 For i = Len(CNPJ) To 1 Step -1 If intFator > 9 Then intFator = 2 intTotal = intTotal + ((CInt(Mid(CNPJ, i, 1)) * intFator)) intFator = intFator + 1 Next i 'Obtém o resto da divisão por 11 i = intTotal Mod 11 'Subtrai 11 do resto i = 11 - i 'O dígito verificador é i If i = 10 Or i = 11 Then i = 0 'Concatena ao CNPJ CNPJ = CNPJ & CStr(i) If Len(CNPJ) = 13 Then 'Calcula o segundo dígito GoTo Inicio End If 'Retorna os dígitos verificadores fDigCNPJ = Right$(CNPJ, 2) End Function Public Function fDigCPF(CPF As String) As String 'Calcula os dígitos verificadores do CPF Dim i As Integer Dim intFator As Integer Dim intTotal As Integer Dim intResto 'Verifica se tem 9 ou 11 dígitos If Not (Len(CPF) = 9 Or Len(CPF) = 11) Then Exit Function Else 'Verifica se é numérico If Not IsNumeric(CPF) Then Exit Function Else 'Trunca o CPF em 9 caracteres CPF = Left$(CPF, 9) End If End If Inicio: 'Percorre as colunas (de trás para frente), 'multiplicando por seus respectivos fatores intFator = 2 intTotal = 0 For i = Len(CPF) To 1 Step -1 intTotal = intTotal + ((CInt(Mid(CPF, i, 1)) * intFator)) intFator = intFator + 1 Next i 'Obtém o resto da divisão por 11 i = intTotal Mod 11 'Subtrai 11 do resto i = 11 - i 'O dígito verificador é i If i = 10 Or i = 11 Then i = 0 'Concatena ao CPF CPF = CPF & CStr(i) If Len(CPF) = 10 Then 'Calcula o segundo dígito GoTo Inicio End If 'Retorna os dígitos verificadores fDigCPF = Right$(CPF, 2) End Function Public Function fCNPJ(CNPJ As String) As Boolean 'Verifica se o CNPJ é válido Dim strChar As String 'Verifica se tem 14 caracteres If Not Len(CNPJ) = 14 Then fCNPJ = False Exit Function End If 'Verifica se o dígito verificador confere strChar = Mid$(CNPJ, 13, 2) If fDigCNPJ(CNPJ) = strChar Then fCNPJ = True Else fCNPJ = False End If End Function Public Function fCPF(CPF As String) As Boolean 'Verifica se o CPF é válido Dim strChar As String 'Verifica se tem 11 caracteres If Not Len(CPF) = 11 Then fCPF = False Exit Function End If 'Verifica se o dígito verificador confere strChar = Mid$(CPF, 10, 2) If fDigCPF(CPF) = strChar Then fCPF = True Else fCPF = False End If End Function agora no form que você deseja, crie um evento afterupdate do controle do CPF Private Sub C_CPF_afterupdate() 'verifica se o campo é nulo If Not IsNull(Me.C_CPF) Then 'se não é nulo, inicia a validacao do CPF com a função fCPF(campo) If fCPF(Me.C_CPF) = True Then 'se for valido, então msgbox "valido" Else 'se for invalido, então msgbox "invalido" End If End If End Subpara o cnpj, mesma coisa.. usando a funcao fCNPJ(campo) Editado Novembro 10, 2010 por Humm Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro Abbade Postado Novembro 11, 2010 Denunciar Share Postado Novembro 11, 2010 Boa tarde amigo,Veja:http://www.4shared.com/file/JBLIC3ZW/VerificaCPF_CNPJ.html Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Raphael49
Olá Professores;
Uso Access Xp
Para encerrar meu projeto estou precisando de uma rotina para validar meu campo CpfCliente e CnpjCliente alguém pode me ajudar ?
Atenciosamente
Raphael49
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.