Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Datensatzsuche per Einzeiler

Funktionen fr die Suche nach bestimmten Datenstzen in Formularen knnen in wahre Code-Orgien ausufern. Wussten Sie, dass unter Umstnden ein Einzeiler ausreicht, um den gesuchten Datensatz im Formular anzuzeigen? Falls nicht, lesen Sie einfach weiter ...

Suche per Recordset-Eigenschaft!

Voraussetzung fr die folgende Vorgehensweise ist Access ab Version 2000. Dies stellt sicher, dass die Formulareigenschaft Recordset zur Verfgung steht.

Hinweis: Eine Lsung, die auch mit Access 97 funktioniert, finden Sie in der Access-FAQ, Punkt 4.4 unter http://www.donkarl.com.

Wenn Sie beispielsweise einen Datensatz in einem Formular anzeigen mchten, der ein bestimmtes eindeutiges Merkmal wie eine Personal-, Kunden- oder Rechnungsnummer besitzt, knnen Sie mit einem einfachem Textfeld und einer kurzen Prozedur arbeiten.

Abbildung 1 zeigt das Formular mit dem Feld zur Eingabe der Personalnummer. Damit das Formular den Datensatz mit der eingegebenen Personalnummer anzeigt, legen Sie fr die Ereigniseigenschaft Nach Aktualisierung des Suchfeldes die folgende Prozedur an:

Private Sub txtSuche_AfterUpdate()

    Me.Recordset.FindFirst "[Personal-Nr] = " & Me!txtSuche

End Sub

 

Abbildung 1: Formular mit Suchfunktion

Die einzige Anweisung der Prozedur verwendet die FindFirst-Methode des Formular-Recordsets, um den Datensatz mit der gewnschten Formularnummer zu finden. Ist die Suche erfolgreich, zeigt das Formular automatisch den gesuchten Datensatz an.

Falls nicht, bleibt der Datensatzzeiger auf dem gleichen Datensatz stehen. Um den Fehlschlag kundzutun, knnen Sie die Routine folgendermaen erweitern:

Private Sub txtSuche_AfterUpdate()

    Me.Recordset.FindFirst "[Personal-Nr] = " & Me!txtSuche

    If Me.Recordset.NoMatch Then

        MsgBox "Die Personalnummer existiert nicht."

    End If

End Sub

Dies fhrt zur Anzeige einer entsprechenden Meldung, wenn kein Datensatz gefunden wurde.

Suche nach Textkriterien

Falls Sie ein Feld als Suchkriterium verwenden mchten, dass den Datentyp Text hat, mssen Sie den Suchbegriff in Hochkommata einfassen:

Me.Recordset.FindFirst "[Personal-Nr] = '" & Me!txtSuche & "'"

© 2003-2015 André Minhorst Alle Rechte vorbehalten.