BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[Gelöst] Navigationsleiste ->Sortieren

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Gundo
Beiträge: 53
Registriert: So 1. Jul 2012, 10:23

[Gelöst] Navigationsleiste ->Sortieren

Beitrag von Gundo » Di 24. Jul 2012, 12:56

Hallo,

Ich habe in meiner Seniorendatenbank eine "Navigationsleiste" eingefügt. Die Sortierung wird dabei häufig verwendet. Leider werden Feldname und Reihenfolge nicht gespeichert und müssen bei jedem Neustart der Datenbank immer neu eingegeben werden. Ist eine grunsätzliche Voreinstellung möglich ?
sortierung.jpg
sortierung.jpg (38.42 KiB) 5445 mal betrachtet
Gruß Gundo
Zuletzt geändert von Gundo am Mi 25. Jul 2012, 19:49, insgesamt 1-mal geändert.

harald235

Re: Navigationsleiste ->Sortieren

Beitrag von harald235 » Di 24. Jul 2012, 13:29

Hallo Gundo,

dafür ist die Navigationsleiste nicht geeignet. Die Sortierung da soll variabel sein.
Die grundsätzliche Sortierung der Datensätze - die ja anscheinend immer gleich sein soll - lege besser in der Abfrage für das Formular fest. Seltener erforderliche Sortierungen sind dann problemlos in der Navi-Leiste machbar.

Gruß harald

Gundo
Beiträge: 53
Registriert: So 1. Jul 2012, 10:23

Re: Navigationsleiste ->Sortieren

Beitrag von Gundo » Di 24. Jul 2012, 17:02

Hallo Harald,

Das Problem ist nur, das sich die Abfrage bei Bedarf per Button im Formular de/aktivieren lassen soll, und sich dabei auf das Tabellen-Kontrollfeld beziehen soll. Keine Ahnung wie man das macht.

Gruß Gundo

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Navigationsleiste ->Sortieren

Beitrag von RobertG » Di 24. Jul 2012, 21:00

Hallo Gundo,
Gundo hat geschrieben: Das Problem ist nur, das sich die Abfrage bei Bedarf per Button im Formular de/aktivieren lassen soll, und sich dabei auf das Tabellen-Kontrollfeld beziehen soll. Keine Ahnung wie man das macht.
Ich vermute, dass die Grundlage des Formulars dennoch eine Abfrage und keine Tabelle ist. Wenn Du von de/aktivieren schreibst meinst Du vermutlich, dass sie entsprechend filtern soll.
Jetzt kommt es also nur darauf an, dass die Abfrage entsprechend vorsortiert werden muss.
Oder hast Du eine Tabelle und schiebst da per Makro einen Filter rein, so dass das bei Dir wie eine Abfrage aussieht? Dann müsste da irgendwo so etwas wie oForm.Filter stehen, mit dem Du Deine Daten ausfilters. Genauso kannst Du, vermutlich mit oForm.Order eine Sortierung erreichen.

Gruß

Robert
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

F3K Total
Beiträge: 2411
Registriert: So 10. Apr 2011, 10:10

Re: Navigationsleiste ->Sortieren

Beitrag von F3K Total » Di 24. Jul 2012, 21:38

Hallo,
warum so kompliziert?
Wenn die Sortierung immer gleich sein soll, kannst Du sie auch im Entwurfmodus in den Eigenschaften des Formulares, Reiter Daten, festlegen.
Siehe Bild.
sortieren.png
sortieren.png (48.67 KiB) 5428 mal betrachtet
Speichern nicht vergessen.
Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

Gundo
Beiträge: 53
Registriert: So 1. Jul 2012, 10:23

Re: Navigationsleiste ->Sortieren

Beitrag von Gundo » Mi 25. Jul 2012, 11:23

@Robert,
Es ist als Tabellenkontrollfeld angelegt. Formulareigenschaften ->Art des Inhaltes: Tabelle / Inhalt: Kundenstamm.

@F3K Total
Danke, ich werde das in die Datenbank einfügen und den Senioren vorführen. Die sind schon ein wenig eigen in der Art wie eine Datenbank bedient werden soll. Bin ja froh das soweit alles funktioniert.

Es ist ja so das hunderte von Datensätzen im Laufe der Zeit in die Datenbank eingetragen werden müssen. Man muss sich das so vorstellen das für jedes Jahr ein Ordner/Buch verwendet worden ist. Und wenn ein Kunde im Laufe der Zeit öfters Artikel abgegeben hat, so sind Diese in den Ordnern/Buchern verteilt eingetragen worden. Und da die Datenbank nicht nur von einer Person bedient wird, weiss diese ja nicht wer wann welchen Datensatz eingetragen hat. Und gerade bei solchen Namen wie, Schulz, Schmitz, Meier usw. muss man erst mal nachschauen ob der Name schon in der Datenbank existiert, und ob noch Artikel im Umlauf sind. Deswegen ist das Sortieren und Filtern so wichtig, und das so kompfortabel wie möglich.

Deswegen war auch dieser Tipp elementar:

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 = "UCASE(Nachname) LIKE UCASE('"+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
Das Problem ist nur, die eine Person möchte eine grundsätzliche Sortierung nach Nachname/Adresse, die Andere nur bei Bedarf weil im unsortiertem Modus die zuletzt eingegeben Daten im TKF sichtbar sind, und Eingabefehler eher auffallen. Und "Meine Senioren" möchten auch noch das alles ganz einfach zu handhaben ist, ohne viel Mauskickerei ;)
Da hatte ich mir dann gedacht per Eingabe und Button diese Funktion einzufügen. Wegen mir müsste dieser ganze Aufwand gar nicht sein. Die Funktionen sind ja eigentlich in der Navigationsleiste vorhanden.

Falls es möglich sein sollte das o.g. Makro so zu erweitern das nicht nur nach "Nachname" gefiltert wird, sondern gleichzeitig eine Sortierung nach Nachname und Adresse erfolgt, wäre ich sehr dankbar. Wenn nicht bin ich trotzdem dankbar für eure Hilfe und würde diesen Thread als gelöst markieren.

Gruß Gundo

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Navigationsleiste ->Sortieren

Beitrag von RobertG » Mi 25. Jul 2012, 19:20

Hallo Gundo,

genau daran habe ich nämlich noch gedacht, als ich meinen Post schrieb. Eigentlich ist natürlich die Vorsortierung der Abfrage oder die Vorsortierung in den Formulareigenschaften die einfachere, aber eben dauerhafte Wahl.

Du hast in Deinem Makro stehen:
oForm.Filter = "UCASE(Nachname) LIKE UCASE('"+sFilter+"%')" ' Name ist ein Feld in Deiner Tabelle des aktuellen Formulars
oForm.reload ' Formular aktualisieren

Zwischen oder vor diese Zeilen kannst Du einfügen:
oForm.Order = "Nachname ASC, Adresse ASC"

Ich habe mit dieser Funktion noch nicht gearbeitet. Ob noch Anführungszeichen zusätzlich gesetzt werden müssen kann ich nicht sagen. Ich habe mir nur Dein Beispiel angesehen und dort gesehen, dass Nachname oder jegliche Anführungszeichen zu funktionieren scheint.

... und wenn der Filter ausgeschaltet werden soll auch die Sortierung ausschalten:
oForm.Order = ""
Position auch hier auf jeden Fall nach der Definition von oForm (oForm = ThisComponent....) und vor dem Neuladen (oForm.reload).

Gruß

Robert
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

Gundo
Beiträge: 53
Registriert: So 1. Jul 2012, 10:23

Re: Navigationsleiste ->Sortieren

Beitrag von Gundo » Mi 25. Jul 2012, 19:48

Hallo Robert und F3K Total,

ich poste einfach mal ...

Bild , Bild

... als Dankeschön.

Es funktioniert jetzt so wie ich es mir gewünscht habe, bzw. wie die Senioren sich es gewünscht haben. Hoffentlich klappen die Makros auch noch so gut wenn LO Updates rausbringt. Es wird ja immer wieder mal was geändert.

Gruß Gundo

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten