|
|
|
|
|
Sonstiges > Prüfziffernverfahren österreichischer Sozialversic
| |
von Wuschel
|
Eine österreichische Sozialversicherungsnummer besteht aus folgenden Teilen:
XXX X XXXXXX
die ersten 3 Stellen sind eine laufende Nummer, die 4. Stelle ist die Prüfziffer auf die wir es weiter unten abgesehen haben, und die letzten 6 Stellen sind das Geburtsdatum.
Zu allererst erstellen wir eine Function die einen Bool'schen wert zurück gibt, da wir überprüfen wollen ob die Sozi Nr stimmt, und als Übergabeparameter nehmen wir die Variable SVNR als String:
Public Function SVNR_Check(SVNR As String) As Boolean
|
|
|
Danach brauchen wir auch noch ein paar Variablen:
'Variablen dimensionieren
Dim Summe As Integer: Dim S As Integer
|
|
|
wir nehmen deshalb Integer, da die Werte die in diese Variablen kommen eher kleiner sind, dann brauchen wir auch noch die Konstante Faktorreihe:
'Konstante Faktorenreihe
Const KFR$ = "3790584216"
|
|
|
dann beginnen wir mit der Schleife die von 1 bis 10 durchläuft und jede der 10 Stelle der Variable SVNR nacheinander mit jeder der Konstanten Fatkorreihe multipliziert und aus allen Ergebnissen die Summe in der gleichnamigen Variable bildet, als:
'schleife die alle 10 stellen der KFR und SVNR durchläuft
For S = 1 To 10
'Summe besteht aus der Summe + dem Ergebnis der Multiplikation
'jeder Zahl der SVNR mit der Zahl der KFR an der selben stelle
Summe = Summe + (Val(Mid$(SVNR, S, 1)) * Val(Mid$(KFR, S, 1)))
Next S
|
|
|
Das wichtigste bei der Überprüfung ist der Rest der bei der Modulorechnung durch 11 herauskommt, und die wird mit der 4. Stelle der Sozi Nr verglichen da das die Prüfziffer ist:
'Der Rest der Division der Summe durch 11 muss mit der Prüfziffer an
'der 4. Stelle der SVNR übereinstimmen
If ((Summe Mod 11) = Mid$(SVNR, 4, 1)) Then SVNR_Check = True
|
|
|
und zum Schluss noch:
Bei Fragen, postet im Forum, oder mailt mir!
Mfg Wuschel |
dazugefügt am:20.10.2004 | ZIP-Download | bereits betrachtet:6214 mal
|
|
|
|
|