1.2k Aufrufe
Gefragt in Datenbanken von bollerkohl Mitglied (175 Punkte)
Hallo Leute,

Punkt1: Suche
ich habe drei ungebundene Textfelder (hier wird der Suchbegriff eingegeben) dazu jeweils zwei Button (Suchen und weitersuchen).
Wie kann ich hier mit Joker suchen?


Private Sub SuchFeld_AfterUpdate()
DoCmd.GoToControl "Namen"
DoCmd.FindRecord Suchfeld, acEntire, False, _
acSearchAll, False, , True
End Sub


Punkt2: Fehlermeldung:
Wenn ich einen Text zum Suchen eingebe und diesen gefunden habe, lösche dann den Text raus und wechsele in ein anderes Feld um hier einen Vornamen zu suchen, bekomme ich eine Fehlermeldung:
Argument nicht gefunden...

[code]
Private Sub SuchFeld_AfterUpdate()
DoCmd.GoToControl "Namen"
DoCmd.FindRecord Suchfeld, acEntire, False, _
acSearchAll, False, , True
End Sub

Kann mir jemand helfen?

Danke VG

2 Antworten

0 Punkte
Beantwortet von lorf55 Mitglied (699 Punkte)
Hallo,
du schreibst nichts zu deiner Basis (Tabelle, Abfragen,...) und nur zu
deinen Fehlern. Da lässt sich schlecht antworten.
Ich würde ein Formular auf Basis einer Tabelle oder Abfrage
machen, die alle Daten enthält, die ich jemals anzeigen will. Dann
alle Felder in das Formular, die ich anzeigen will und einen Button,
der unter Eigenschaften - Beim Klicken - Ereignisprozedur den Filter
zuweist und den Filter einschaltet. Also z.B.
Me.Filter = "Name= ' " & Me.Suchfeld.Text & " ' "
Me.FilterOn = True

(Beachte die paarweisen Hochkommata ' )
Im Suchfeld kannst du dann z.B. Be* eintragen und erhältst den
Becker, Bergmann, Behrends usw.
In den Formulareigenschaften schaltest du unter Format, die
Navigationsschaltflächen ein und den Datensatzmarkierer aus und
schon kannst du wunderbar durch deine gefilterten Daten gehen
und brauchst keinen extra-Button für "weitersuchen". Außerdem
kannst du mit den Navischaltflächen auch an Anfang und Ende, an
einen bestimmten Datensatz und einen Datensatz einfügen.

HTH
0 Punkte
Beantwortet von lorf55 Mitglied (699 Punkte)
Achja, 1. Fehler:
ersetze
Me.Filter = "Name= ' " & Me.Suchfeld.Text & " ' "
durch
Me.Filter = "Name like ' " & Me.Suchfeld.Text & " ' "
denn klappt es auch mit dem Stern als Wildcard.
Es gibt dort auch noch andere Möglichkeiten:

Test1 = "aBBBa" Like "a*a" ' Liefert True.
Test1 = "F" Like "[A-Z]" ' Liefert True.
Test1 = "F" Like "[!A-Z]" ' Liefert False.
Test1 = "a2a" Like "a#a" ' Liefert True.
Test1 = "aM5b" Like "a[L-P]#[!c-e]" ' Liefert True.
Test1 = "BAT123khg" Like "B?T*" ' Liefert True.
Test1 = "CAT123khg" Like "B?T*" ' Liefert False.
(siehe Hilfe - Like-Operator)


Danke, gern geschehen.
...