Warum noch ein Access-Buch?
Für wen ist das Buch?
Jetzt bestellen
+ direkter Download des eBooks!
Nur EUR 59,95!
Fehler gefunden?
Bitte melden!
Wünsche an das Buch?
Her damit!
Was denken die Leser über dieses Buch?
Lesen Sie aktuelle Rezensionen!
Kapitel des noch nicht veröffentlichten Buchs zum Downloaden, Probelesen und Kommentieren
Beispieldatenbanken
Zusätzliches Material

Das Buch im HTML-Format

Für unbestimmte Zeit bieten Addison-Wesley und André Minhorst den kompletten Inhalt des Buchs als Download an. Schauen Sie rein und informieren Sie sich über den Inhalt! Und wenn Ihnen das Buch nützlich erscheint und Sie glauben, dass Sie etwas gelernt haben oder durch das Gelesene sogar etwas Zeit und somit Geld bei Ihrer Arbeit einsparen konnten, können Sie sich ja beim Autor und beim Verlag revanchieren - beispielsweise durch den Kauf dieses Buchs.

Am schönsten wäre es natürlich, wenn Sie das Buch direkt hier bestellen - Sie erhalten das Buch dann direkt vom Verlag, und der Autor und Verlag haben dann noch mehr davon, als wenn Sie es anderswo kaufen.

Danke für Ihr Interesse!

4.9.2 Schnelles Filtern in der Datenblattansicht

4.9.3 Schnellauswahl per Kombinationsfeld

Eine der einfachsten Möglichkeiten zum Einbau einer Suche ist ein Kombinationsfeld zur Auswahl von Werten aus einem oder aus mehreren kombinierten Feldern. Das folgende Beispiel basiert auf einem Formular zum Bearbeiten von Kontakten.

Die Schnellauswahl per Kombinationsfeld ist nur dann sinnvoll, wenn die gewünschten Datensätze nach einem einzigen Kriterium durchsucht werden - beispielsweise nach dem Nachnamen eines Kontaktes.

Diese Variante finden Sie im folgenden Beispiel: Das Formular aus Abbildung 4.67 enthält alle Felder der Tabelle tblKontakte, zwei Schaltflächen mit der Beschriftung OK und Abbrechen sowie ein Kombinationsfeld namens cboSchnellsuche.

Abbildung 4.67: Formular mit Schnellauswahl in der Entwurfsansicht

Das Kombinationsfeld verwendet die Abfrage aus Abbildung 4.68 als Datensatzherkunft. Die Abfrage enthält ein Feld mit dem Primärschlüsselfeld der Tabelle tblKontakte sowie ein aus den beiden Feldern Nachname und Vorname zusammengesetztes Feld, wobei die beiden Werte durch ein Komma getrennt werden.

Abbildung 4.68: Datensatzherkunft des Kombinationsfeldes zur Schnellauswahl von Kontakten

Damit lassen sich mit dem Kombinationsfeld alle Einträge der Tabelle tblKontakte in der Form , anzeigen. Damit das Formular auch den ausgewählten Datensatz einblendet, fügen Sie der Ereigniseigenschaft Nach Aktualisierung des Kombinationsfeldes die folgende Prozedur hinzu:

Private Sub cboSchnellauswahl_AfterUpdate()

    Dim rst As DAO.Recordset

    'Kopie der aktuellen Formulardaten im Recordset speichern
    Set rst = Me.RecordsetClone

    'Im Recordset nach dem im Kombinationsfeld ausgewählten
    'Kontakt suchen
    rst. FindFirst "KontaktID = " & Me!cboSchnellauswahl

    'Im Formular zum gefundenen Recordset springen
    Me. Bookmark = rst.Bookmark

    Set rst = Nothing

End Sub

Listing 4.51: Code für die Schnellsuche per Kombinationsfeld

Diese Variante ist auch für ältere Access-Versionen universell einsetzbar; in Access-Versionen, die für Formulare die Recordset-Eigenschaft bereitstellen, ist folgende Variante deutlich kürzer:

Private Sub cboSchnellauswahl_AfterUpdate()
    Me. Recordset.FindFirst "KontaktID = " & Me!cboSchnellauswahl    
End Sub

Listing 4.52: Datensatz suchen für Formulare mit Recordset-Eigenschaft

Das Auswählen eines Eintrags des Kombinationsfeldes führt nun zur Anzeige des gewünschten Datensatzes im Formular (siehe Abbildung 4.69). Es fehlt nur noch die Aktualisierung der Datensatzherkunft des Kombinationsfeldes beim Ändern, Hinzufügen oder Löschen von Datensätzen im Formular. Diese Aufgabe übernimmt die folgende Prozedur, die durch die Ereigniseigenschaft Beim Anzeigen des Formulars ausgelöst wird:

Private Sub Form_Current()
    'Aktualisieren des Inhalts des Kombinationsfeldes
    Me!cboSchnellauswahl. Requery
End Sub

Listing 4.53: Aktualisieren des Kombinationsfeldes

Abbildung 4.69: Die Schnellsuche im Einsatz (»frmSchnellsuchePerKombinationsfeld«)

Nächster Abschnitt:

4.9.4 Schnelles Filtern von Listenfeldern

© 2006-2008 André Minhorst Alle Rechte vorbehalten.