🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Textfeld bei der Eingabe auslesen und für Filtertabelle verwenden (gelöst)
Textfeld bei der Eingabe auslesen und für Filtertabelle verwenden (gelöst)
Hallo!
Ich habe ein vermutlich seltsames Anliegen beim Verwenden einer abgewandelten Filtertabelle, wie sie auch im Handbuch zu 7.2 beschrieben wurde.
Es existieren u.a.
die Filtertabelle SucheAutor mit ID und Suchbegriff,
das Textfeld im frmFilter für Suchbegriff,
die qryAutor_Suchergebnis in einem TabellenSteuerelement und dem Button zum Aktualisieren im frmMain.
Das Ganze klappt auch, allerdings ware es optimaler, wenn bei der Eingabe in das Textfeld die Suche mit jedem weiteren Buchstaben automatisch "optimiert" würde, wie es z.B. in Listenfeldern geschieht. Ein Listenfeld an dieser Stelle finde ich nicht brauchbar. Makros werden schon an anderer Stelle verwendet, so dass es kein weiteres kein Problem darstellt (außer der Programmierung),
Kennt jemand eine Lösung?
Ich habe ein vermutlich seltsames Anliegen beim Verwenden einer abgewandelten Filtertabelle, wie sie auch im Handbuch zu 7.2 beschrieben wurde.
Es existieren u.a.
die Filtertabelle SucheAutor mit ID und Suchbegriff,
das Textfeld im frmFilter für Suchbegriff,
die qryAutor_Suchergebnis in einem TabellenSteuerelement und dem Button zum Aktualisieren im frmMain.
Das Ganze klappt auch, allerdings ware es optimaler, wenn bei der Eingabe in das Textfeld die Suche mit jedem weiteren Buchstaben automatisch "optimiert" würde, wie es z.B. in Listenfeldern geschieht. Ein Listenfeld an dieser Stelle finde ich nicht brauchbar. Makros werden schon an anderer Stelle verwendet, so dass es kein weiteres kein Problem darstellt (außer der Programmierung),
Kennt jemand eine Lösung?
Zuletzt geändert von aspe am Do 2. Nov 2023, 22:46, insgesamt 1-mal geändert.
LO 7.4.3.2 (x64) Win11 und Linux
Re: Textfeld bei der Eingabe auslesen und für Filtertabelle verwenden
Moin,
Naja, viel Glück.
Ich würde dir empfehlen, das % Zeichen in den Suchbegriff der Abfrage einzubauen, siehe z.B. Videotutorial 5, dann reicht es, Teile des Suchbegriffes einzugeben.
Bsp.:
Damit findest du mit "eye" auch M"eye"r, Schl"eye"r, B"eye"r
Gruß R
Witzig, du suchst also jemanden, der dir gratis dein Programm schreibt?Makros werden schon an anderer Stelle verwendet, so dass es kein weiteres kein Problem darstellt (außer der Programmierung)
Naja, viel Glück.
Ich würde dir empfehlen, das % Zeichen in den Suchbegriff der Abfrage einzubauen, siehe z.B. Videotutorial 5, dann reicht es, Teile des Suchbegriffes einzugeben.
Bsp.:
Code: Alles auswählen
SELECT "ID", "Nachname", "Vorname", "Strasse", "PLZ", "Ort" FROM "Adressen" WHERE ( LOWER ( "Nachname" ) LIKE LOWER ( '%' || (SELECT "Suchbegriff" from "SucheAutor") || '%' ) OR (SELECT "Suchbegriff" from "SucheAutor") IS NULL )
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Textfeld bei der Eingabe auslesen und für Filtertabelle verwenden
Wenn Du die Übernahme des Filterinhaltes bisher durch einen Button zum Aktualisieren eines Formulars erledigt hast musst Du erst einmal diese Funktion ersetzen.
Der Text aus Deinem Feld muss automatisch gespeichert werden, anschließend muss das entsprechende Formular, in dem bisher der Button ist, neu geladen werden.
Das geht davon aus, dass die Filter-Tabelle durch ein Formular beschrieben wird, das neben dem Formular liegt, das neu geladen werden soll. Der Name des neu zu ladenden Formular wird mit "MainForm" angenommen.
Das Makro musst Du an die Änderung des Inhaltes des Textfeldes binden. Aber: Das erzeugt leicht sehr viel Unruhe auf dem Bildschirm. Eventuell musst Du einfach den Mindestinhalt auf 2 oder auch 3 Buchstaben einstellen.
Der Text aus Deinem Feld muss automatisch gespeichert werden, anschließend muss das entsprechende Formular, in dem bisher der Button ist, neu geladen werden.
Code: Alles auswählen
SUB TextFilter(oEvent AS OBJECT)
oField = oEvent.Source.Model
oForm = oField.Parent
oField.Commit()
oForm.UpdateRow()
oForm.Parent.getByName("MainForm").Reload()
END SUB
Das Makro musst Du an die Änderung des Inhaltes des Textfeldes binden. Aber: Das erzeugt leicht sehr viel Unruhe auf dem Bildschirm. Eventuell musst Du einfach den Mindestinhalt auf 2 oder auch 3 Buchstaben einstellen.
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Textfeld bei der Eingabe auslesen und für Filtertabelle verwenden (gelöst)
Vielen Dank für eure Vorschläge.
@FK3 Total: Nein, keine Sorge ! Ich habe es bisher alles selbst geschrieben, natürlich durch die Hilfe aus den Handbüchern von Robert und vielen weiteren Recherchen im Netz. Es läuft ja auch ohne Probleme. Ich hatte nur überlegt, ob es eine einigermaßen einfache Lösung gibt, die es noch komfortabler macht.
@ RobertG: Ich werde es jetzt erst einmal so belassen. Bei Gelegenheit und etwas mehr Zeit, probiere ich den Vorschlag gerne aus und gebe dann Feedback;
@FK3 Total: Nein, keine Sorge ! Ich habe es bisher alles selbst geschrieben, natürlich durch die Hilfe aus den Handbüchern von Robert und vielen weiteren Recherchen im Netz. Es läuft ja auch ohne Probleme. Ich hatte nur überlegt, ob es eine einigermaßen einfache Lösung gibt, die es noch komfortabler macht.
@ RobertG: Ich werde es jetzt erst einmal so belassen. Bei Gelegenheit und etwas mehr Zeit, probiere ich den Vorschlag gerne aus und gebe dann Feedback;
LO 7.4.3.2 (x64) Win11 und Linux
Re: Textfeld bei der Eingabe auslesen und für Filtertabelle verwenden (gelöst)
Beim Arbeiten mit dem Suchformular habe ich entdeckt, dass die Bedienung etwas vereinfacht werden kann, indem man nach der Eingabe des Suchtextes den Tabulator nach rechts betätigt. Schon erscheint das Ergebnis der Suche und man muss nicht auf den Button OK klicken.
Vielleicht hilft es ja jemandem.


Vielleicht hilft es ja jemandem.
LO 7.4.3.2 (x64) Win11 und Linux
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.