Auswahl im Kombinationsfeld anbieten (Access 97, 2000)
Veröffentlicht am 22.12.2003
Mit einer speziellen SELECT-Anweisung können Sie einem Kombinationsfeld zusätzlich den Eintrag hinzufügen.
Kombinationsfelder enthalten standardmäßig nur diejenigen Datensätze, die die zugrunde liegende Abfrage als Ergebnis zurückliefert. Die richtige Option verschafft Ihnen bei jeder Abfrage Einblick in alle Daten.
Das folgende Beispiel geht von einer Tabelle namens tblStädte aus, die die beiden Datenfelder StadtID und Stadt beinhaltet. Mit einer Union-Abfrage wird der Eintrag Städte hinzugefügt:
(SELECT 0 AS StadtID, "" AS Stadt FROM tblStädte) UNION (SELECT StadtID, Stadt
FROM tblStädte) ORDER BY Stadt;
Der erste Teil dieser Abfrage ergibt die Werte 0 und „“. Dazu wird der zweite Teil hinzugefügt, nämlich alle Stadtnummern (StadtID) und -namen (Stadt). Die gesamte Abfrage liefert also folgendes Ergebnis zurück:
StadtID | Stadt |
0 | |
1 | Aachen |
2 | Bielefeld |
Diese Abfrage wird dann mit einem beliebigen Listen- oder Kombinationsfeld verknüpft. Siehe Abb. 1 unten.
Wählt man im Kombinationsfeld den Eintrag aus, so hat das Feld den Wert 0. Andernfalls hat das Feld die entsprechende StadtID, wie in der folgenden AfterUpdate-Ereignisprozedur demonstriert:
Private Sub cmbStadtFilter_AfterUpdate()
'Datensätze neu filtern
If Me!cmbStadtFilter = 0 Then
' "Alle" wurde ausgewählt
Me.FilterOn = False Else
' ID-Wert des Kombifeldes als Filter einsetzen
' und Filter einschalten
Me.Filter = "StadtID=" &
Me!cmbStadtFilter
Me.FilterOn = True
End If
End Sub
