Option Compare Database
Option Explicit
Function DVCGC(CGC As String) As String
Dim intSoma As Long
Dim intSoma1 As Long
Dim intSoma2 As Long
Dim intInteiro As Long
Dim intNumero As Integer
Dim intMais As Integer
Dim i As Integer
Dim intResto As Integer
Dim intDig1 As Integer
Dim intDig2 As Integer
Dim strcampo As String
Dim strCaracter As String
Dim StrConf As String
Dim strCGC As String
Dim strDigVer As String
Dim dblDivisao As Double
intSoma = 0
intSoma1 = 0
intSoma2 = 0
intNumero = 0
intMais = 0
strDigVer = Right(CGC, 2)
strcampo = Left(CGC, 8)
strCGC = Right(CGC, 6)
strCGC = Left(strCGC, 4)
strcampo = Right(strcampo, 4) & strCGC
For i = 2 To 9
strCaracter = Right(strcampo, i - 1)
intNumero = Left(strCaracter, 1)
intMais = intNumero * i
intSoma1 = intSoma1 + intMais
Next i
'Separa os 4 primeiros dígitos do CGC
strcampo = Left(CGC, 4)
For i = 2 To 5
strCaracter = Right(strcampo, i - 1)
intNumero = Left(strCaracter, 1)
intMais = intNumero * i
intSoma2 = intSoma2 + intMais
Next i
intSoma = intSoma1 + intSoma2
dblDivisao = intSoma / 11
intInteiro = Int(dblDivisao) * 11
intResto = intSoma - intInteiro
If intResto = 0 Or intResto = 1 Then
intDig1 = 0
Else
intDig1 = 11 - intResto
End If
intSoma = 0
intSoma1 = 0
intSoma2 = 0
intNumero = 0
intMais = 0
strcampo = Left(CGC, 8)
strCGC = Right(CGC, 6)
strCGC = Left(strCGC, 4)
strcampo = Right(strcampo, 3) & strCGC & intDig1
For i = 2 To 9
strCaracter = Right(strcampo, i - 1)
intNumero = Left(strCaracter, 1)
intMais = intNumero * i
intSoma1 = intSoma1 + intMais
Next i
strcampo = Left(CGC, 5)
For i = 2 To 6
strCaracter = Right(strcampo, i - 1)
intNumero = Left(strCaracter, 1)
intMais = intNumero * i
intSoma2 = intSoma2 + intMais
Next i
intSoma = intSoma1 + intSoma2
dblDivisao = intSoma / 11
intInteiro = Int(dblDivisao) * 11
intResto = intSoma - intInteiro
If intResto = 0 Or intResto = 1 Then
intDig2 = 0
Else
intDig2 = 11 - intResto
End If
StrConf = intDig1 & intDig2
If StrConf = strDigVer Then DVCGC = True Else DVCGC = False
End Function
|