Suche auf vorhandene Datensätze einschränken

Hallo an alle,

bei folgendem Problem komme ich einfach nicht weiter:

In einem Formular möchte ich in zwei ungebundenen Textfeldern Werte eingeben. Sobald der zweite Wert eingegeben ist, soll eine Suche innerhalb der Datensätze stattfinden und der erste Datensatz mit dieser Kombination angezeigt werden.
Mit der FindFirst-Funktion und einer AND-Verknüpfung der beiden Suchparameter klappt das auch schon soweit.
Allerdings möchte ich, dass eine Meldung erscheint, wenn die eingegebene Kombination nicht gefunden wurde. Bisher springt Access dann einfach auf den ersten Datensatz zurück.

Alles, was ich bisher gemacht habe, habe ich mir irgendwo im Internet zusammengesucht und ausprobiert. Vielleicht liegt die Lösung zu meinem Problem also für Euch auf der Hand, aber ich komme nicht drauf.
Wäre sehr nett, wenn mir jemand einen Tipp geben könnte.

Vielen Dank und Grüße
Fabian

Hallo Fabian,

Wäre sehr nett, wenn mir jemand einen Tipp geben könnte.

füge in deinen Code ein:

else
MSGBOX („Datensatz nicht gefunden“)

Grüße aus Raben Steinfeld (bei Schwerin)
Wolfgang
(Netwolf)

Hallo Wolfgang,

else
MSGBOX („Datensatz nicht gefunden“)

danke für die Antwort. Ich glaube, ich stelle mal den kompletten Code hier rein, dann siehst Du sicherlich, was ich falsch mache. Irgendwie funktioniert die MsgBox nämlich noch nicht…

Private Sub Feld2Suche_AfterUpdate()
Set rs = Me.Recordset.Clone
rs.FindFirst „[Feld1] = '“ & Me![Feld1Suche] & „’ AND [Feld2] = '“ & Me![Feld2Suche] & „’“
If Not rs.EOF Then Me.Bookmark = rs.Bookmark Else MsgBox („Datensatz nicht gefunden“)
End Sub

Mein Ziel nochmal mit den oben benutzten Feldbezeichnungen: Nach Eingabe eines Suchbegriffs in Feld1Suche und Feld2Suche soll nach dem Datensatz gesucht werden, der genau diese beiden Suchbegriffe in Feld1 und Feld2 beinhaltet. Wird nicht genau diese Kombination gefunden, soll eine Fehlermeldung erscheinen und idealerweise sogar gar kein Datensatz angezeigt werden. Momentan wird immer der erste Datensatz angezeigt, wenn kein passender Datensatz gefunden wird.

Ich danke Dir für Deine Hilfe,
Viele Grüße
Fabian

Hallo Fabian,

danke für die Antwort. Ich glaube, ich stelle mal den
kompletten Code hier rein, dann siehst Du sicherlich, was ich
falsch mache.

das ist immer reine gute Idee

Irgendwie funktioniert die MsgBox nämlich noch
nicht…

Private Sub Feld2Suche_AfterUpdate()
Set rs = Me.Recordset.Clone
rs.FindFirst „[Feld1] = '“ & Me![Feld1Suche] & „’ AND
[Feld2] = '“ & Me![Feld2Suche] & „’“
If rs.EOF Then

’ alles OK = gefunden
exit sub

else
Me.Bookmark = rs.Bookmark
MsgBox „Datensatz nicht gefunden“
endif

End Sub

Mein Ziel nochmal mit den oben benutzten Feldbezeichnungen:
Nach Eingabe eines Suchbegriffs in Feld1Suche und Feld2Suche
soll nach dem Datensatz gesucht werden, der genau diese beiden
Suchbegriffe in Feld1 und Feld2 beinhaltet. Wird nicht genau
diese Kombination gefunden, soll eine Fehlermeldung erscheinen
und idealerweise sogar gar kein Datensatz angezeigt werden.

es kann nur das angezeigt werden, was in der Tabelle ist!

Momentan wird immer der erste Datensatz angezeigt, wenn kein
passender Datensatz gefunden wird.

logisch und normal

Grüße aus Raben Steinfeld (bei Schwerin)
Wolfgang
(Netwolf)

Hallo Wolfgang,

vielen Dank für die Hilfe, das hat mich schon mal weiter gebracht. Richtig weiterarbeiten an der ganzen Datenbank kann ich erst demnächst, aber jetzt komme ich wieder weiter.

Viele Grüße
Fabian