Formular, Filter usw.
Moderator: Moderatoren
Re: Formular, Filter usw.
Hallo, vielleicht hilft Dir das:
1. Eingabe in Eingabefeld
2. PushButton drücken, der nach dem Eingabefeld filtert
Dafür brauchst Du ein Makro, welches den Filter setzt und ggf. eines, welches den Filter aufhebt.
Den PushButton verbindest Du mit dem Makro und fertig ist der Filter.
Gruß eBayer
Sub FilterAn ' Filter für Name anschalten
Dim sFilter
Dim oForm As Object
oForm = ThisComponent.DrawPage.Forms.getByName("Form_Adressen")
sFilter = oForm.getByName("Eingabefeld").text
oForm.Filter= "Name >= " + sFilter ' Name ist ein Feld in Deiner Tabelle des aktuellen Formulars
oForm.reload ' Formular aktualisieren
End Sub
Sub FilterAus ' Filter für das Formular ausschalten
Dim oForm As Object
oForm = ThisComponent.DrawPage.Forms.getByName("Form_Adressen")
oForm.Filter="" ' Filter leeren
oForm.reload ' Formular aktualisieren
End Sub
1. Eingabe in Eingabefeld
2. PushButton drücken, der nach dem Eingabefeld filtert
Dafür brauchst Du ein Makro, welches den Filter setzt und ggf. eines, welches den Filter aufhebt.
Den PushButton verbindest Du mit dem Makro und fertig ist der Filter.
Gruß eBayer
Sub FilterAn ' Filter für Name anschalten
Dim sFilter
Dim oForm As Object
oForm = ThisComponent.DrawPage.Forms.getByName("Form_Adressen")
sFilter = oForm.getByName("Eingabefeld").text
oForm.Filter= "Name >= " + sFilter ' Name ist ein Feld in Deiner Tabelle des aktuellen Formulars
oForm.reload ' Formular aktualisieren
End Sub
Sub FilterAus ' Filter für das Formular ausschalten
Dim oForm As Object
oForm = ThisComponent.DrawPage.Forms.getByName("Form_Adressen")
oForm.Filter="" ' Filter leeren
oForm.reload ' Formular aktualisieren
End Sub
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Re: Formular, Filter usw.
Hallo,
Wäre vielleicht jemand so freundlich das Makro anzupassen.
1. Meine Suchfeld hat die Bezeichnung "txtSuchfeld".
2. Mein Formular hat die Bezeichnung "Kundenstamm"
3. Die Tabelle hat das Feld "Nachname".
Wo muss ich denn das Suchfeld eintragen ?
Gruß Gundo
Wäre vielleicht jemand so freundlich das Makro anzupassen.
1. Meine Suchfeld hat die Bezeichnung "txtSuchfeld".
2. Mein Formular hat die Bezeichnung "Kundenstamm"
3. Die Tabelle hat das Feld "Nachname".
Wo muss ich denn das Suchfeld eintragen ?
Code: Alles auswählen
Sub FilterAn ' Filter für Name anschalten
Dim sFilter
Dim oForm As Object
oForm = ThisComponent.DrawPage.Forms.getByName("Form_Adressen")
sFilter = oForm.getByName("Eingabefeld").text
oForm.Filter= "Nachname >= " + sFilter ' Name ist ein Feld in Deiner Tabelle des aktuellen Formulars
oForm.reload ' Formular aktualisieren
End Sub
Sub FilterAus ' Filter für das Formular ausschalten
Dim oForm As Object
oForm = ThisComponent.DrawPage.Forms.getByName("Form_Adressen")
oForm.Filter="" ' Filter leeren
oForm.reload ' Formular aktualisieren
End Sub
Gruß Gundo
Re: Formular, Filter usw.
Hallo Gundo,
besser wäre es, wenn du eine verfremdete Version der DB hochlädst. Der "interne" Name des Formulares fehlt bei deinen Angaben.
Gruß R
besser wäre es, wenn du eine verfremdete Version der DB hochlädst. Der "interne" Name des Formulares fehlt bei deinen Angaben.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Formular, Filter usw.
Hallo F3K Total,
Ja mach ich hiermit.
Im Feld "txtSuche" soll der Suchbegriff eingetragen werden. Es soll das Tabellenfeld "Nachname" gefiltert werden. Kann man die Sortierreihenfolge variabel gestalten ?
Gruß Gundo
Ja mach ich hiermit.
Im Feld "txtSuche" soll der Suchbegriff eingetragen werden. Es soll das Tabellenfeld "Nachname" gefiltert werden. Kann man die Sortierreihenfolge variabel gestalten ?
Gruß Gundo
- Dateianhänge
-
- Kundenverwaltung.odb
- (58.48 KiB) 113-mal heruntergeladen
Re: Formular, Filter usw.
Jo, und das war gut so:
1.) Dein Formular heißt im Formularnavigator "MainForm"
2.) Das Textfeld zur Eingabe des Suchstrings heißt "txtSuche"
3.) die Zeile muss so geändert werden:
weil bei Eingabe eines Strings einfache Gänsefüßchen oben den String umschliessen müssen.
4.) Das Makro FilterAn habe ich der Schaltfläche AN unter dem Ereignis Aktion ausführen zugeordnet
5.) Das Makro FilterAus habe ich der Schaltfläche AUS unter dem Ereignis Aktion ausführen zugeordnet
Die Makros müssen daher so aussehen:
Nun läuft es.
Die Sortierreihenfolge kannst Du in der Leiste Formularnavigation einstellen.
Viel Erfolg damit
Gruß R
1.) Dein Formular heißt im Formularnavigator "MainForm"
2.) Das Textfeld zur Eingabe des Suchstrings heißt "txtSuche"
3.) die Zeile
Code: Alles auswählen
oForm.Filter= "Nachname >= " + sFilter
Code: Alles auswählen
oForm.Filter = "Nachname >= '" + sFilter +"'"
4.) Das Makro FilterAn habe ich der Schaltfläche AN unter dem Ereignis Aktion ausführen zugeordnet
5.) Das Makro FilterAus habe ich der Schaltfläche AUS unter dem Ereignis Aktion ausführen zugeordnet
Die Makros müssen daher so aussehen:
Code: Alles auswählen
Sub FilterAn ' Filter für Name anschalten
Dim sFilter
Dim oForm As Object
oForm = ThisComponent.DrawPage.Forms.getByName("MainForm")
sFilter = oForm.getByName("txtSuche").text
oForm.Filter = "Nachname >= '" + sFilter +"'" ' Name ist ein Feld in Deiner Tabelle des aktuellen Formulars
oForm.reload ' Formular aktualisieren
End Sub
Sub FilterAus ' Filter für das Formular ausschalten
Dim oForm As Object
oForm = ThisComponent.DrawPage.Forms.getByName("MainForm")
oForm.Filter="" ' Filter leeren
oForm.reload ' Formular aktualisieren
End Sub
Die Sortierreihenfolge kannst Du in der Leiste Formularnavigation einstellen.
Viel Erfolg damit
Gruß R
- Dateianhänge
-
- Kundenverwaltung_filtern.odb
- (58.82 KiB) 149-mal heruntergeladen
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Formular, Filter usw.
KLASSE !!!
Vielen Dank.
Gruß Gundo
Vielen Dank.
Gruß Gundo
Re: Formular, Filter usw.
Muß mich noch mal melden.
F3K Total, gib mal bitte "Mü" ein, und clicke auf "AN". Bei mir werden auch die Nachnamen "Sch*" und "Naumann" angezeigt.
Kannst du das mal testen ?
Gruß Gundo
F3K Total, gib mal bitte "Mü" ein, und clicke auf "AN". Bei mir werden auch die Nachnamen "Sch*" und "Naumann" angezeigt.
Kannst du das mal testen ?
Gruß Gundo
Re: Formular, Filter usw.
Hallo Gundo,
"Nachname >= " + sFilter
>=: Also vom Reihenfolge, startend ab "Mü" ... M, N, O ...
Vielleicht suchst Du nur alle Nachnamen mit "Mü" beginnend?
"Nachname LIKE "+sFilter+"%"
Ich weiß nur nicht, wie es hier mit den Hochkommata aussehen muss. Vielleicht
"Nachname LIKE '"+sFilter+"%'"
Gruß
Robert
Das klingt doch ganz nach der Vorgabe, die irgendwann in dem Thread auftauchte. Dort stehtGundo hat geschrieben:... gib mal bitte "Mü" ein, und clicke auf "AN". Bei mir werden auch die Nachnamen "Sch*" und "Naumann" angezeigt.
"Nachname >= " + sFilter
>=: Also vom Reihenfolge, startend ab "Mü" ... M, N, O ...
Vielleicht suchst Du nur alle Nachnamen mit "Mü" beginnend?
"Nachname LIKE "+sFilter+"%"
Ich weiß nur nicht, wie es hier mit den Hochkommata aussehen muss. Vielleicht
"Nachname LIKE '"+sFilter+"%'"
Gruß
Robert
Re: Formular, Filter usw.
Hallo Robert,
Ja, ich habe mich warscheinlich wieder mal dusselig ausgedrückt. Sorry dafür.
... zwischen Groß- und Kleinschreibung soll aber nicht unterschieden werden.
Gruß Gundo
Ja, ich habe mich warscheinlich wieder mal dusselig ausgedrückt. Sorry dafür.
"Nachname LIKE '"+sFilter+"%'"
... zwischen Groß- und Kleinschreibung soll aber nicht unterschieden werden.
Gruß Gundo
Re: Formular, Filter usw.
Hallo Gundo,
... zwischen Groß- und Kleinschreibung soll aber nicht unterschieden werden.
Vielleicht
"UCASE(Nachname) LIKE UCASE("+sFilter+")||%"
Das würde zumindest beide Werte (von Nachname und Filterstring) in einer HSQLDB auf Kleinschreibung setzen, so dass keine Unterscheidung erforderlich ist. Wieder geht jetzt natürlich das Testen los, wo eventuell die Hochkommata hingehören.
Gruß
Robert
"Nachname LIKE '"+sFilter+"%'"
... zwischen Groß- und Kleinschreibung soll aber nicht unterschieden werden.
Vielleicht
"UCASE(Nachname) LIKE UCASE("+sFilter+")||%"
Das würde zumindest beide Werte (von Nachname und Filterstring) in einer HSQLDB auf Kleinschreibung setzen, so dass keine Unterscheidung erforderlich ist. Wieder geht jetzt natürlich das Testen los, wo eventuell die Hochkommata hingehören.
Gruß
Robert
Re: Formular, Filter usw.
So scheint es zu klappen:
Code: Alles auswählen
"UCASE(Nachname) LIKE UCASE('"+sFilter+"%')"
Re: Formular, Filter usw.
Jo,
so geht es.
Gruß R
Edit: kleiner Tipp am Rande: Wenn Du das Makro FilterAn an das Ereignis Text modifiziert des Suchfeldes txtSuche hängst, kannst Du auf die Schaltflächen AN/AUS verzichten.
so geht es.
Gruß R
Edit: kleiner Tipp am Rande: Wenn Du das Makro FilterAn an das Ereignis Text modifiziert des Suchfeldes txtSuche hängst, kannst Du auf die Schaltflächen AN/AUS verzichten.
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Formular, Filter usw.
Hallo R,
Gruß
Robert
Bist Du Dir da sicher? "Text modifiziert" reagiert dann nach jeder Tastatireingabe, d.h. der Filter läuft mit jedem Buchstaben neu an. Wenn das nicht gewollt ist, dann reicht auch ein Focusverlust.F3K Total hat geschrieben: Edit: kleiner Tipp am Rande: Wenn Du das Makro FilterAn an das Ereignis Text modifiziert des Suchfeldes txtSuche hängst, kannst Du auf die Schaltflächen AN/AUS verzichten.
Gruß
Robert
Re: Formular, Filter usw.
Hallo Robert,
genau, das wollte ich bezwecken.
Während des Eintippens des Filters reduziert sich gleichzeitig die Liste.
Das kann natürlich bei großen Datenmengen stören, bei überschaubarer Anzahl ist es aber hilfreich, weil man aufhören kann, wenn der/die gewünschte/n Datensatz/sätze sichtbar wird/werden.
Gruß R
genau, das wollte ich bezwecken.
Während des Eintippens des Filters reduziert sich gleichzeitig die Liste.
Das kann natürlich bei großen Datenmengen stören, bei überschaubarer Anzahl ist es aber hilfreich, weil man aufhören kann, wenn der/die gewünschte/n Datensatz/sätze sichtbar wird/werden.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
[Gelöst] Formular, Filter usw.
Danke für eure Hilfe.
Gruß Gundo
Gruß Gundo