Sortieren von Namen über Button
Moderator: Moderatoren
Sortieren von Namen über Button
Für eine Adressdatenbank mächte ich ein Register erstellen, mit dem ich die Adressen im Eingabeformular sortieren kann, also dem Button "A", "B" usw. soll eine Sortierfunktion zugewiesen werden. Wie funktioniert so etwas?
Re: Sortieren von Namen über Button
Hallo,
mal angenommen, Du hast zwei Spalten, Name und Vorname nach denen du sortieren möchtest.
Weiter hast Du nur ein Hauptformular, auf diesem befindet sich der Button mit dem Namen SortButton.
Dann kannst Du dein Formular mit folgendem Makro, das Du dem Button-Ereignis "Aktion ausführen" zuordnest, sortieren.
Der Text des Buttons springt von sortieren A,B,C auf nicht sortieren und zurück, um.
prinzipiell kannst Du aber auch die Sortierfunktion in der Navigationsleiste verwenden:
Gruß R
mal angenommen, Du hast zwei Spalten, Name und Vorname nach denen du sortieren möchtest.
Weiter hast Du nur ein Hauptformular, auf diesem befindet sich der Button mit dem Namen SortButton.
Dann kannst Du dein Formular mit folgendem Makro, das Du dem Button-Ereignis "Aktion ausführen" zuordnest, sortieren.
Der Text des Buttons springt von sortieren A,B,C auf nicht sortieren und zurück, um.
Code: Alles auswählen
Sub sortieren
oform=Thiscomponent.drawpage.forms(0)
oSortButton=oform.getbyname("SortButton")
if oSortButton.label = "sortieren A,B,C" then
s_order = """Name"" ASC, ""Vorname"" ASC"
oform.order = s_order
oSortButton.label = "nicht sortieren"
else
s_order = ""
oform.order = s_order
oSortButton.label = "sortieren A,B,C"
endif
oform.reload
End Sub
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Sortieren von Namen über Button
Ist schon alles eingebaut, sowohl die Sortierfunktion, als auch die Filterfunktion (die Du hier wohl eher meinst): füge einem Formular eine Navigationsleiste hinzu.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Sortieren von Namen über Button
Vielleicht habe ich mich zu unklar ausgedrückt. Mit der Zeit füllt sich ja eine Adressdatenbank. Ich möchte auf der Formularseite Button von A-Z erstellen und über diese die jeweiligen Datensätze zu den einzelnen Buchstaben angezeigt bekommen, und zwar auf dieser Formularseite und nicht auf einer neuen; es soll nach Nach-und Vornamen sortiert werden. Weiter möchte ich auf der Formularseite die sortierten Namen in der Formularansicht und Tabellenansicht angezeigt bekommen. Dafür habe ich ein Formular mit Unterformular schon erstellt.
Re: Sortieren von Namen über Button
Aha, es geht also ums Filtern und nicht ums Sortieren.
Wenn Du Dir die Mühe machen möchtest, kannst Du auch 27 Buttons anlegen.
26 von ihnen ordnest du die Buchstaben des Alphabetes und dem letzten das Wort löschen zu, etwa so: Mit diesem Makro
das jedem Button, wie oben, zugeordnet werden muß, werden dann alle Namen angezeigt die mit dem gedrückten Buchstaben oder größer beginnen. Das Sortieren funktioniert dann auch noch.
Gruß R
Wenn Du Dir die Mühe machen möchtest, kannst Du auch 27 Buttons anlegen.
26 von ihnen ordnest du die Buchstaben des Alphabetes und dem letzten das Wort löschen zu, etwa so: Mit diesem Makro
Code: Alles auswählen
sub filtern (event)
oform = Thiscomponent.drawpage.forms(0)
s_filter=event.source.model.label
if s_filter <> "löschen" then
oform.ApplyFilter=true
oform.Filter = "( ""Name"" >= '"+ s_filter+"%')"
else
oform.Filter = ""
oform.ApplyFilter = false
endif
oform.reload
end sub
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Sortieren von Namen über Button
Erst einmal vielen Dank für die Mitteilung, aber leider klappt das Makro nicht.
Es kommt die Meldung:
Ein Scripting Framework fehler trat während der Ausführung von Basic-Skipt "Filtername" filtern auf
Meldung: wrong number of parameters!
Es kommt die Meldung:
Ein Scripting Framework fehler trat während der Ausführung von Basic-Skipt "Filtername" filtern auf
Meldung: wrong number of parameters!
Re: Sortieren von Namen über Button
Moin,
bei mir funktioniert das Makro, es heißt Sub filtern (event)
Wie sieht Dein Makro Filtername genau aus?
Gruß R
bei mir funktioniert das Makro, es heißt Sub filtern (event)
Wie sieht Dein Makro Filtername genau aus?
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Sortieren von Namen über Button
Kunden.Testmodul.filtern
Re: Sortieren von Namen über Button
Scherzkeks!
Ich habe nicht gefragt wo das Makro steht, sondern wie es aussieht, sprich, ich möchte die Syntax sehen.
Das Makro, was einen Fehler hervorruft, heißt lt. Fehlermeldung Filtername.
Jetzt schreibst Du, dein Makro heißt Kunden.Testmodul.filtern. Was denn nu?
Kann es sein, das Du den Buttons ein Makro zugeordnet hast, welches du später umbenannt hast?
Dann kann es nicht gefunden werden.
Gruß R
Ich habe nicht gefragt wo das Makro steht, sondern wie es aussieht, sprich, ich möchte die Syntax sehen.
Das Makro, was einen Fehler hervorruft, heißt lt. Fehlermeldung Filtername.
Jetzt schreibst Du, dein Makro heißt Kunden.Testmodul.filtern. Was denn nu?
Kann es sein, das Du den Buttons ein Makro zugeordnet hast, welches du später umbenannt hast?
Dann kann es nicht gefunden werden.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Sortieren von Namen über Button
Sooy ich bin ganz unbedarft. Mit "Filtername" meinte ich den Pfad?, also so wie ich es gelesen hatte Kunden.Testmodul
So sieht mein Macro aus:
sub filtern (event)
oform = Thiscomponent.drawpage.forms(0)
s_filter=event.source.model.label
if s_filter <> "löschen" then
oform.ApplyFilter=true
oform.Filter = "( ""Nachname"" >= '"+ s_filter+"%')"
else
oform.Filter = "Kunden"
oform.ApplyFilter = false
endif
oform.reload
end sub
So sieht mein Macro aus:
sub filtern (event)
oform = Thiscomponent.drawpage.forms(0)
s_filter=event.source.model.label
if s_filter <> "löschen" then
oform.ApplyFilter=true
oform.Filter = "( ""Nachname"" >= '"+ s_filter+"%')"
else
oform.Filter = "Kunden"
oform.ApplyFilter = false
endif
oform.reload
end sub
Re: Sortieren von Namen über Button
Hallo,
wenn die zu filternde Spalte in Deiner Tabelle "Nachnamen" heißt, dann ist die Änderung von "Name" auf "Nachname" richtig.
Wieso aber hast Du diese Zeile verändert?
denn sie setzt den Filter mit dem Button "löschen" zurück!
Bleibt noch die Frage, wieso die Fehlermeldung kommt.
Kann es sein, das Du den Buttons ein Makro zugeordnet hast, welches du später umbenannt oder verschoben hast?
Dann kann es nicht gefunden werden.
Am einfachsten wäre, du lädst ein Beispieldokument (Dateianhang hochladen, siehe unten) hier hoch.
Gruß R
wenn die zu filternde Spalte in Deiner Tabelle "Nachnamen" heißt, dann ist die Änderung von "Name" auf "Nachname" richtig.
Wieso aber hast Du diese Zeile verändert?
Sie muß so aussehen:pawonkau hat geschrieben:oform.Filter = "Kunden"
Code: Alles auswählen
oform.Filter = ""
Bleibt noch die Frage, wieso die Fehlermeldung kommt.
Kann es sein, das Du den Buttons ein Makro zugeordnet hast, welches du später umbenannt oder verschoben hast?
Dann kann es nicht gefunden werden.
Am einfachsten wäre, du lädst ein Beispieldokument (Dateianhang hochladen, siehe unten) hier hoch.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Sortieren von Namen über Button
Meine Beispieldatei
- Dateianhänge
-
- Kunden1.odb
- (34.06 KiB) 110-mal heruntergeladen
Re: Sortieren von Namen über Button
Hallo F3K Total,
ich habe eine Frage zum Filter. Dieser soll ja im Feld Nachname die Namen nach den einzelnen Buchstaben des Alphabeths filtern, wenn ich also auf den Button "A" drücke allne Namen die mit A beginnen usw. Muß im Filter nicht ein Hinweis auf den Buchstaben erfolgen?
ich habe eine Frage zum Filter. Dieser soll ja im Feld Nachname die Namen nach den einzelnen Buchstaben des Alphabeths filtern, wenn ich also auf den Button "A" drücke allne Namen die mit A beginnen usw. Muß im Filter nicht ein Hinweis auf den Buchstaben erfolgen?
Re: Sortieren von Namen über Button
Hallo,
wird es doch.
Der Code
s_filter=event.source.model.label
liest den Buchstaben aus dem eben gedrückten Button aus, der muß demzufolge um nach A zu filtern auch den Titel A tragen, denn mit .label wird ebendieser ausgelesen.
Gruß R
wird es doch.
Der Code
s_filter=event.source.model.label
liest den Buchstaben aus dem eben gedrückten Button aus, der muß demzufolge um nach A zu filtern auch den Titel A tragen, denn mit .label wird ebendieser ausgelesen.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Sortieren von Namen über Button
Verstanden, aber es funktioniert bei mir nicht, wenn ich auf den Buchstaben (Button) drücke, passiert nichts