Beitrag aus SmartTools Access Weekly
Datensatz per Kombinationsfeld positionieren und Zusatzinformationen anzeigen
Access 365 2024 2021 2019 2016 2013 2010
FRAGE Ich nutze in einem Formular ein mehrspaltiges Kombinationsfeld, das auf einer Abfrage basiert. Die erste Spalte entspricht dem Primärschlüssel "Kundennummer" der dem Formular zugrunde liegenden Datenbasis. Nach Auswahl eines Eintrages im Kombinationsfeld sollen im Formular nur die Datensätze zum entsprechenden Kunden angezeigt werden. Außerdem möchte ich nach der Auswahl die 2., 3., und 4. Spalte der Auswahl in drei Feldern im Formular anzeigen lassen.
K. Schramm
ANTWORT Nutzen Sie die Ereignisprozedur "Nach Aktualisierung" des Kombinationsfeldes zur Ausführung folgender Anweisungen:
Dim varID As Variant
varID = Me.Kombifeld.Columns(0)
Me.Filter = "[IDFeld] = " & varID
Me.FilterOn = True
"Kombifeld" ersetzen Sie durch den Namen des Kombinationsfeldes und "IDFeld" durch den Namen des Schlüsselfeldes. Wenn das Schlüsselfeld vom Typ "Text" ist, verwenden Sie folgende Zuweisung:
Me.Filter = "[IDFeld] = '" & varID & "'"
Um Daten aus Spalten des Kombinationsfeldes in Textfelder des Formulars zu übertragen, verwenden Sie ebenfalls "Nach Aktualisierung" und die Auflistung "Columns()" des Kombinationsfeldes zum Beispiel wie folgt:
Me.Firma = Me.Kombifeld.Columns(1)
Me.Strasse = Me.Kombifeld.Columns(2)
Me.Ort = Me.Kombifeld.Columns(3)
Die Auflistung "Columns()" zählt immer von "0" bis "Anzahl Spalten minus 1", also Columns(0)= 1. Spalte, Columns(1)= 2. Spalte und so weiter.