Aktualisiert: 18.05.2007
Newest
  Tipps & Tricks
1.) Anpassung Controls an ein Formular (VB6)
2.) Kopier-Wiederaufnahme (VB6)
3.) Uhrzeit - alle Kürzel (VB6)
4.) Eigene IP-Addresse auslesen (VB6)
5.) Felder - Arrays (allgemeines, deklarieren) (VB.NET)
  Tutorials
1.) Prüfziffernverfahren österreichischer Sozialversic (VB6)
2.) Kommunikation zwischen Formularen bzw. Modulen (VB.NET)
3.) Musikdatein mittels API abspielen (VB6)
4.) Inputbox mit zusätzlichem Button (VB6)
5.) Access & MySQL | Teil 2/2 (VB6)
  Neueste Kommentare
  (letzten 50)
Thomas(21.02.2007 - 14:03)
Dag Johans..(16.11.2006 - 03:44)
Sebi2020(20.10.2006 - 21:43)
Suchen


 Sonstiges > Prüfziffernverfahren österreichischer Sozialversic     von Wuschel 
Seite: 1 von 1
  -    |    -  
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:
End Function


Bei Fragen, postet im Forum, oder mailt mir!

Mfg Wuschel
Seite: 1 von 1     -    |    -     dazugefügt am:20.10.2004 | ZIP-Download | bereits betrachtet:10461 mal
Empfehlen Sie diese Seite | zu Favoriten hinzufügen  Copyright 2004 by visualbasic.at