Hi.
Ich habe ein Formular mit einem Textfeld und einem Unterformular (UFO). Das UFO zeigt ein Endlosformular (frmFirmenliste) mit Firmenliste aus einer Abfrage an. Öffne ich das Hauptformular, so sind im UFO alle Einträge zu sehen.
Das Textfeld im Hauptformular soll zur Suche genutzt werden. Wenn ich nun also im Suchfeld z.B. "Testfirma" eingebe, so soll nach der Aktualisierung das Formular im UFO nur die Einträge anzeigen, auf die die Suche nach "Testfirma" zutrifft.
Ich kann das Formular zwar mit
Dim v_Suchstring As String
v_Suchstring = "*" & Me.txtSearch & "*"
DoCmd.OpenForm "frm_Firmenliste", acNormal, , "Firmenname like '" & v_Suchstring & "'"
öffnen, aber es öffnet sich hat nicht im UFO... Eine Option wie SourceObject gibt es bei dem DoCmd.OpenForm - Befehl leider nicht..
Kann jemand helfen?
Hallo,
sind Hafo und Ufo über die Schlüsselfelder verknüpft ?
Wenn das korrekt eingestellt ist, geht Dein Vorhaben automatisch. Das ist eine Standardfunktion von Hafo/Ufo.
Nein sie sind nicht verbunden. Das Hafo ist ungebunden und beinhaltet nur das Suchfeld. Hier liegt keine Tabelle oder Abfrage dahinter. Das entsprechende Formular soll entweder neu ins UFO geladen werden oder es soll sich im UFO entsprechend aktualisieren.
Wenn ich im Hafo in den Eigenschaften des Textfeldes die Option "Nach Aktualisierung" mit dem "beliebten" Makrogenerator nutze, so kann ich dort folgendes nutzen:
Wechseln zu
Objekttyp: Formular
Objektname: frm_Firmenliste
Pfad zu Unterformular-Steuerelement: frm_Kundenauswahl_HAFO.UFO_Auswahlliste
Bedingung: [Firmenname] Wie "*" & [txtSearch] & "*"
Datenmodus: nur lesen.
Nur wollte ich das ganze gern via VBA lösen...
Hallo,
VBA ist überflüssig...
Schreib in die UFO-Steuerelementeigenschaften "Verknüpfen von" Firmenname
und in "Verknüpfen nach" txtSearch hinein.
Hallo DF6GL,
das HAFO ist doch ungebunden! Das Suchfeld [txtSearch] ist ebenfalls ungebunden... Da kann ich gar keine Felder verknüpfen.
Wenn ich das HAFO ebenfalls an die Abfrage binde und dann versuche die Felder wie Du schreibst zu verbinden, dann erhalte ich die Fehlermeldung: Sie versuchen Felder zu verknüpfen, die inkompatible Datentypen haben.
Hallo,
ZitatDa kann ich gar keine Felder verknüpfen.
doch, das geht auch, auch mit dem ungebundenen Feld bzw. Formular. Versuche es doch einfach mal, das ist ganz einfach.
Weiterhin möchte ich bezweifeln, dass hier überhaupt ein Ufo notwendig ist. Binde das Hafo an die Firmentabelle und erstelle mit dem Assi ein Kombifeld zum Suchen. Da wird das Suchen als 3.Option direkt angeboten.
Hier wird allerdings etwas VBA Code (oder ein Makro je nach Version) erzeugt.
Das mit dem Kombifeld ist keine Option. Ich brauche eine Freitextsuche.
Die Verbindung von Suchfeld und Firmenname klappt nun, allerdings zeigt dann das Unterformular gar nix mehr an. Wenn ich oben im Suchfeld dann etwas eingebe ändert sich daran nix - auch nicht nach F5...
Weiterhin soll der eingegebene Suchwert ja auch in Wildcards gesetzt werden. Also bei Eingabe von 'Test' soll nach '*Test*' gesucht werden.
Hallo,
Sub txtSearch_Change()
Me!Ufo_Steuerelementname.Form.Filter="Firmenname like '*" & Me!txtSearch.Text & "*'"
Me[color=green]!Ufo_Steuerelementname[/color].FilterOn=true
End Sub
Sucht (filtert) bei jedem eingegebenen Zeichen.
Sub txtSearch_Afterupdate()
Me!Ufo_Steuerelementname.Form.Filter="Firmenname like '*" & Me!txtSearch & "*'"
Me[color=green]!Ufo_Steuerelementname[/color].FilterOn=true
End Sub
sucht beim Verlassen des Feldes nach dem Text der eingegeben wurde.
Hallo DF6GL... in beiden Varianten verändert sich in der Liste gar nix. Hab ich noch was vergessen?
Hi,
nee, aber ich..
siehe mein korrigiertes Posting
JAAAAAAAAAAAAAA ES GEHT :)
Wollt schon immer so ne Suche wie bei Google wo von Buchstabe zu Buchstabe sich das Suchergebnis ändert..
Allerdings ist bei Dir noch ein kleiner Fehler drin...
Bei mir muss die Codezeile wie folgt lauten:
Me!Ufo_Steuerelementname.FilterOnEmptyMaster = True
Hi,
mhmm, ich denke, der Fehler liegt darin, dass noch Feldnamen in den Verknüpfungs-Eigenschaften stehen.....
Alles gut.. es Läuft :) Besten Dank Euch :)
Es muss wohl lauten
Me!Ufo_Steuerelementname.Form.FilterOn=true