Mit nachfolgender Funktion lässt sich die IBAN-Nummer nach der Standard IBAN-Berechnung für deutsche Bankverbindungen ermitteln. Tipp: Beschreibung der Parameter:
' IBAN-Nummer ermitteln Private Function IBANCalc(ByVal sLand As String, _ ByVal sBLZ As String, _ ByVal sKtoNr As String, _ Optional ByVal nBLZMaxLen As Integer = 8, _ Optional ByVal nKTOMaxLen As Integer = 10) As String Dim zahl As Variant Dim pz As Variant Dim sIBAN As String Dim sChar As String Dim sTemp As String Dim i As Integer sIBAN = sLand & "00" & _ Format$(sBLZ, String$(nBLZMaxLen, "0")) & _ Format$(sKtoNr, String$(nKTOMaxLen, "0")) sIBAN = Right$(sIBAN, Len(sIBAN) - 4) & Left$(sIBAN, 4) For i = 1 To Len(sIBAN) sChar = Mid$(sIBAN, i, 1) If Asc(sChar) > 64 And Asc(sChar) < 91 Then sChar = CStr(Asc(sChar) - 55) End If sTemp = sTemp & sChar Next i zahl = CDec(sTemp) pz = 98 - modDecimal(zahl, 97) sTemp = Left$(sTemp, Len(sTemp) - 2) & Trim$(Format(STR$(pz), "00")) sTemp = Right$(sTemp, 6) & Left$(sTemp, Len(sTemp) - 6) IBANCalc = Chr$(Val(Left$(sTemp, 2)) + 55) & _ Chr$(Val(Mid$(sTemp, 3, 2)) + 55) & _ Right$(sTemp, Len(sTemp) - 4) End Function Da es sich bei den Berechnungen um sehr große ganze Zahlen handelt, muss auf das Decimal-Format ausgewichen werden (mit CDec) und es braucht eine eigene Modulo-Funktion: ' Hilfsfunktion: Modulo für große Zahlen Public Function modDecimal(Dividend, Divisor) If Divisor = 0 Then modDecimal = -1 Else modDecimal = Dividend - Divisor * (Round(Dividend / Divisor)) If modDecimal < 0 Then modDecimal = Divisor + modDecimal End If End Function Aufrufbeispiel: ' Deutschland ' BLZ: 793 530 90 ' Konto-Nr.: 16303 ' ' offizielle IBAN-Nummer lautet: DE65793530900000016303 Dim sIBAN As String sIBAN = IBANCalc("DE", "79353090", "16303", 8, 10) Wichtiger Hinweis: Dieser Tipp wurde bereits 35.623 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
Neu! sevCoolbar 3.0 Professionelle Toolbars im modernen Design! Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |