Nedanstående kod kollar om Personnumret är rätt ifyllt
Private Sub Personnummer_Exit(Cancel As Integer)
Dim StrRaknare, NamnStr As String, Int1 As Integer, Resultat2, Resultat1 As Integer
Dim b, i As Integer, Int2 As Integer, Siffra As Integer
StrRaknare = ""
Int1 = 0
Int2 = 0
Siffra = 0
NamnStr = Left([Personnummer], 6) & Right([Personnummer], 4)
For b = 1 To Len(NamnStr)
Siffra = Mid(NamnStr, b, 1)
Select Case b
Case 1
StrRaknare = StrRaknare & (Siffra * 2)
Case 3
StrRaknare = StrRaknare & (Siffra * 2)
Case 5
StrRaknare = StrRaknare & (Siffra * 2)
Case 7
StrRaknare = StrRaknare & (Siffra * 2)
Case 9
StrRaknare = StrRaknare & (Siffra * 2)
Case Else
StrRaknare = StrRaknare & Siffra
End Select
Next b
For i = 1 To Len(StrRaknare)
Int1 = Int1 + Mid(StrRaknare, i, 1)
Next i
If Right(Int1, 1) <> 0 Then
Int2 = (Left(Int1, 1) + 1) * 10
Resultat1 = Int2 - Int1
If Right(NamnStr, 1) <> Resultat1 Then
MsgBox "Personnummret är inte rätt ifyllt, var god kontrolera inmatningen !", vbCritical, "Personnummer felaktigt"
DoCmd.GoToControl "Personnummer"
End If
Else
Resultat2 = Int2 / 10
If Right(NamnStr, 1) = Resultat2 Then
MsgBox "Personnummret är inte rätt ifyllt, var god kontrolera inmatningen !", vbCritical, "Personnummer felaktigt"
DoCmd.GoToControl "Personnummer"
End If
End If
End Sub