ich muss gerade an einem Access Projekt arbeiten.
Dabei greife ich auf eine bestehende Datenbank zu.
Folgendes Problem stellt sich mir nun:
Ich habe ein Formular, in dem Eingaben für Zahlungsaufträge vorgenommen werden.
Dort gibt es ein Combi-Feld, in dem der „Absender“ und eines in dem die Bank des Absenders abgefragt wird. Was ich nun machen möchte ist, dass nach Auswahl des „Absenders“ in dem darunterliegenden Feld die für diesen Absender verfügbaren Banken angezeigt werden.
Mein Problem ist dabei, dass ich nur eine Tabelle ansprechen kann, in der die verfügbaren Kontonummern der verschiedenen Absender stehen. Die Kontonummen sind dabei in Spalten geordnet, die nach den entsprechenden Banken heissen.
Jetzt ist die frage, ob man da lieber eine Abfrage bastelt, mit der man das Combi-feld verlinkt, oder ob man das lieber mit VBA macht.
Für eine Abfrage fehlt mir eine passendes SQL Statement, das nach der suche der Zeile (Absender_ID) nur die SpaltenNAMEN ausgibt, zu denen es Kontonummern gibt, da DESC z.B. in Abfragen bei mir (Access2003) nicht unterstützt wird.
Wenn ich es mit Code versuche kann ich zwar (alle) Spaltennamen auszulesen, schaffe es aber nicht die Abfrage für den Absender zu integrieren.
Die Kontonummen sind dabei in Spalten
geordnet, die nach den entsprechenden Banken heissen.
oh wie clever, und so flexibel wie ein Hinkelstein
das wäre dringend zu ändern!!
Jetzt ist die frage, ob man da lieber eine Abfrage bastelt,
mit der man das Combi-feld verlinkt, oder ob man das lieber
mit VBA macht.
Abfragen werten Daten vertikal aus. Was du brauchst ist eine „Umwandlung“ von horizontal in vertikal. Das geht nur per VBA.
Für eine Abfrage fehlt mir eine passendes SQL Statement, das
nach der suche der Zeile (Absender_ID) nur die SpaltenNAMEN
ausgibt, zu denen es Kontonummern gibt, da DESC z.B. in
Abfragen bei mir (Access2003) nicht unterstützt wird.
wie gesagt, mit Abfragen wirst du das Problem nicht lösen können.
Wenn ich es mit Code versuche kann ich zwar (alle)
Spaltennamen auszulesen, schaffe es aber nicht die Abfrage für
den Absender zu integrieren.
Hat evtl. jemand von euch eine Idee??
Also ich würde es so machen:
eine leere Tabelle erstellen
per VBA die Daten der Banken des Kunden auslesen (horizontal)
diese Daten in die Tabelle schreiben (vertikal)
diese Tabelle für mein Kombifeld nutzen
ODER
ggf. besser: statt der Tabelle einfach ein ARRAY nutzen.
UND
die Ursprungstabelle dringend umprogrammieren !!!
Grüße aus Raben Steinfeld (bei Schwerin)
Wolfgang
(Netwolf)
wow!!
vielen Dank für diese SUPERschnelle Antwort!!- ich bin geplättet.
Hi cosPhi,
Die Kontonummen sind dabei in Spalten
geordnet, die nach den entsprechenden Banken heissen.
oh wie clever, und so flexibel wie ein Hinkelstein
das wäre dringend zu ändern!!
leider nicht möglich … liegt auf dem Firmenserver und wird von mehreren anderen Applikationen genutzt
Und da sich diese Daten öfter mal ändern, kann ich die auch nicht manuell in eine neue Tabelle schreiben.
Also ich würde es so machen:
eine leere Tabelle erstellen
per VBA die Daten der Banken des Kunden auslesen
(horizontal)
diese Daten in die Tabelle schreiben (vertikal)
diese Tabelle für mein Kombifeld nutzen
genial einfach - einfach genial!
klar, dann brauch ich mich nicht mehr in additems verlieren …
ODER
ggf. besser: statt der Tabelle einfach ein ARRAY nutzen.
Okay, hierzu eine Frage:
Ich kenne Arrays bisher nur aus Excel. Werden die in Access genauso angesprochen? bzw. wie würdest du dieses Array dann benutzen?