chrislm
Goto Top

BIC aus Tabelle holen über Bankleitzahlen in Access

Hallo.
Ich bin gerade dabei in Access ein Programm zu basteln welches mit aus der Kontonummer und Bankleitzahl die IBAN Nummer baut. Das hat auch soweit geklappt. Leider scheitert es an der BIC. Von der Bundesbank habe ich mir eine Excelliste heruntergeladen und möchte diese nun als Datensatz integrieren. In einem Formularfeld habe ich dann das berechnete IBAN Feld und das BIC soll er über eine SQL Abfrage in einem Textfeld anzeigen. Nun bekomme ich eine Fehlermeldung :3265 Element in der Auflistung nicht gefunden.

die Abfrage sieht so aus:
Option Compare Database

Private Sub BLZ_AfterUpdate()



Dim kn1 As Long
Dim rst As DAO.Recordset

   Dim merken1 As Long
   
   Dim fso As Object

kn1 = Me.BLZ

  
  befehl = "SELECT BIC_bank.Bankleitzahl, BIC_bank.BIC FROM BIC_bank WHERE (((BIC_bank.Bankleitzahl)='" & kn1 & "'));"  
  

   Set rst = CurrentDb.OpenRecordset(befehl)

   With rst
        If .RecordCount > 0 Then

            
            .MoveLast
            .MoveFirst
            
            While Not .EOF

               
               merken1 = !BIC_bank.BIC

               
               Me.BIC = merken1
                  
               .MoveNext
            Wend
        
        End If
        
   End With
   rst.Close

Content-ID: 224746

Url: https://administrator.de/contentid/224746

Ausgedruckt am: 22.11.2024 um 11:11 Uhr

Pjordorf
Pjordorf 17.12.2013 um 16:07:31 Uhr
Goto Top
Hallo,

Zitat von @chrislm:
Ich bin gerade dabei in Access ein Programm zu basteln welches mit aus der Kontonummer und Bankleitzahl die IBAN Nummer baut.
Inkl. Prüfziffer? Was machst du wenn die Empfängerbank aber eine andere IBAN verwendet als du berechnest?

Nun bekomme ich eine Fehlermeldung :3265 Element in der Auflistung nicht gefunden.
Wo und an welcher Stelle genau? Oder sollen wir das Erraten?

merken1 = !BIC_bank.BIC
oder hier
Me.BIC = merken1
Gruß,
Peter
filippg
filippg 17.12.2013 um 16:23:51 Uhr
Goto Top
Hallo,

merken1 = !BIC_bank.BIC
referenziert doch gar nicht auf rst. Ich würde auf merken1 = rst.BIC als korrekte Zeile tippen - abgesehen davon, dass ich nicht weiß, wieso das ! vorangestellt ist, und du nicht direkt an Me.BIC zuweist, warum du vorher ein .movelast und movefirst machst etc.

Gruß

Filipp
colinardo
Lösung colinardo 17.12.2013 aktualisiert um 17:12:12 Uhr
Goto Top
Hallo chrislm,
nur zur Info: IBAN mit Prüfsumme korrekt berechnen: http://www.iban.de/iban-pruefsumme.html

dann zu deinem Code:
das hier anstatt Zeile 32 und 35 deines Codes sollte reichen.
Me.BIC.SetFocus
Me.BIC.Value = rst.Fields("BIC").Value  

und bei dem hier
.MoveLast
 .MoveFirst
ist das MoveLast unnötig wie @fillipg bereits sagte.

Grüße Uwe
chrislm
chrislm 17.12.2013 um 17:16:24 Uhr
Goto Top
Vielen dank an alle. Der letzte Beitrag hat funktioniert.
Ich habe mit .MoveLast und .MoveFirst springen wollen da in der Excel nicht überall die BIC Nummern überall hinter der BLZ stehen. Wenn eine Bank an mehrere Niederlassungen hat, dann haben sie den Eintrag nur bei der Haupt - Bank gemacht und nicht mehr an den Dörfern. Habs aber soweit, wie ich mir das vorgestellt habe.


Noch einmal vielen dank