Tenho campo - CPF num frm e o módulo que vou cito abaixo ;mas não sei como inserir para que seja verificado.
Em propriedades do campo CPF - onde devo colocar este módulo ? Sou iniciante, fico grato.
Option Compare Database
Option Explicit
'******************************************
'Rotinas para cálculo de dígito verificador
'e validação de CNPJ e CPF
'******************************************
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) 'OK
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) 'OK
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 'OK
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 'OK
End Function
Em propriedades do campo CPF - onde devo colocar este módulo ? Sou iniciante, fico grato.
Option Compare Database
Option Explicit
'******************************************
'Rotinas para cálculo de dígito verificador
'e validação de CNPJ e CPF
'******************************************
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) 'OK
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) 'OK
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 'OK
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 'OK
End Function