Someone know about how can I apply the Lahn algorithm in access, for verify the reference number with the phone number
This function will calculate the check digit for you:
Public Function Modulus1x(ByVal strNum As String, ByVal intModulus As Integer) As Integer
' Creates the Modulus-10 or -11 check digit for strNum.
' Non-numeric characters are ignored.
' Maximum length of number.
Const cintNumLenMax = 31
Dim strTmp As String
Dim intChr As Integer
Dim intLen As Integer
Dim intSum As Integer
Dim intVal As Integer
Dim intWeight As Integer
Dim intCount As Integer
Dim intChk As Integer
Select Case intModulus
Case 10, 11
intLen = Len(strNum)
If intLen > 0 Then
' Remove non-numeric characters.
For intCount = 1 To intLen
intChr = Asc(Mid(strNum, intCount))
If intChr >= 48 And intChr <= 57 Then
strTmp = strTmp & Chr(intChr)
End If
Next intCount
strNum = strTmp
intLen = Len(strNum)
If intLen > 0 Then
' Calculate check digit.
If intLen <= cintNumLenMax Then
For intCount = 1 To intLen
intVal = Val(Mid(strNum, intLen - intCount + 1, 1))
Select Case intModulus
Case 10
intWeight = 1 + (intCount Mod 2)
intVal = intWeight * intVal
intVal = Int(intVal / 10) + (intVal Mod 10)
Case 11
intWeight = 2 + ((intCount - 1) Mod 6)
intVal = intWeight * intVal
End Select
intSum = intSum + intVal
Next intCount
intChk = -Int(-intSum / intModulus) * intModulus - intSum
End If
End If
End If
End Select
Modulus1x = intChk
End Function
Just pass the phone number:
PhoneNumber = "+01234568790"
CheckDigit = Modulus1x(PhoneNumber, 10)
PhoneNumberWithCheckDigit = PhoneNumber & CheckDigit
And with the function here: Modulus Check
you can validate a PhoneNumberWithCheckDigit