🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Lösung mit Makro gesucht

Alles zur Programmierung im LibreOffice.
Antworten
kilix
Beiträge: 38
Registriert: So 26. Feb 2023, 16:31

Lösung mit Makro gesucht

Beitrag von kilix » Do 17. Jul 2025, 19:15

Hallo,
ich suche in einer LO-Tabelle aller Vereinsmitglieder mit Hilfe des Autofilters nach einem Mitglied. Wenn ich es gefunden habe kopiere ich seine ID mit z.B. Bearbeiten-Kopieren in die Zwischenablage.
Anschließend wechsle ich in eine Tabelle im gleichen Dokument mit einer Abfrage von Daten der Mitglieder. Diese Abfrage hat ein variables Filter für die ID, so dass ich nur die Daten des gesuchten Mitglieds aus der DB-Tabelle einlesen muss. Durch dieses Filter in der Abfrage wird vor dem Einlesen aus der DB das Fenster Parameter-Einlesen geöffnet und nach der ID gefragt. Ich füge nun die ID mit z.B. Bearbeiten-Einfügen aus der Zwischenablage ein und erhalte die gewünschten Daten dieses Mitglieds.

Wenn man das öfters, z.B. für mehrere Mitglieder machen muss ist das doch nervig. Daher mine Frage: gibt es eine Möglichkeit, z.B. mit Hilfe eines Makros, das Einfügen der ID in das Fenster Parameter-Einlesen zu automatisieren?

Danke für eure Hilfe
Grüße
kilix

Freischreiber
* LO-Experte *
Beiträge: 833
Registriert: Fr 28. Mär 2014, 10:41

Re: Lösung mit Makro gesucht

Beitrag von Freischreiber » Fr 18. Jul 2025, 08:53

Hallo kilix,

das klingt allerdings nervig. Für die Schritte, die du da von Hand beschreibst, hat die Natur Datenbanken erfunden. :lol:

Und zwar, um deine Struktur zu übernehmen, mit zwei Tabellen: eine mit den Mitgliedern und eine verknüpfte mit den weiteren Daten.

Deine Sucharbeit würde sich dann auf die Auswahl eines Mitglieds durch Auswählen mit der Maus oder Eingabe eines Namensanfangs in einem Formular beschränken, und nach Drücken eines Buttons würden im Unterformular sämtliche Daten des Mitglieds erscheinen. Die ID müßtest du nicht mehr von Hand übertragen und auch nicht mehr direkt mit den Tabellen hantieren.

Diese Lösung würde soweit ohne Makros auskommen und bei vielen Mitgliedern ist sie auch schneller als eine Calc-Tabelle. Denk mal drüber nach.

Gruß
Freischreiber
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

kilix
Beiträge: 38
Registriert: So 26. Feb 2023, 16:31

Re: Lösung mit Makro gesucht

Beitrag von kilix » Fr 18. Jul 2025, 10:04

Hallo Feinschreiber,

danke für deine Antwort!

Die von dir genannte Lösung ist gut und richtig und ich wende sie für andere Auswertungen auch an.
Dieser Fall ist allerdings um einiges komplizierter und ich wollte, um die Sache nicht zu komplizieren, nicht alles beschreiben was noch zu machen ist. Nur als Überblick: ich lese auf diese Weise nicht nur eine DB-Tabelle mit Mitgliederdaten sondern 4 ein. Alles in eine Abfrage einzubauen geht nicht weil diese 4 DB-Tabellen außer der Mitgliedernummer nichts gemeinsam haben. Im Grunde wären das 4 verschiedenen Aufgaben.
Ich habe sie aber in ein Dokument zusammengefaßt weil diese 4 Berichte mit Hilfe eine zusätzlichen LO-Tabelle und Makros zu einem Endbericht mit 4 separaten Abschnitten zusammengefaßt werden.
Das Einlesen der DB-Tabellen und für die Aufbereitung des Gesamtberichts habe ich Makros und das funktioniert auch gut.
Nur diese eine angefragte Aufgabe muss ich noch manuelle machen.
Ich habe für Anwender die Excel statt LO verwenden auch eine Excelvariante gemacht. In dieser Variante muß ich nur aus den mit dem Autofilter ausgewählten Mitgliedern die ID des Gesuchten in eine eigene Zelle schreiben/kopieren (um Excel zu zeigen, dass das die gesuchte ID ist) und den Rest macht dann Excel selbst bzw. mit Hilfe von Makros. Daher dachte ich mir, dass ein LO-Makro diese ID an die Abfrage-Filter weitergeben könnte wenn ich die ID auch in eine definierte Zelle stelle.
Grüße
kilix

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2538
Registriert: Fr 10. Dez 2010, 10:01

Re: Lösung mit Makro gesucht

Beitrag von karolus » Fr 18. Jul 2025, 12:40

Hallo

Es gibt in LO-calc ⇒ Daten ⇒ Filter ⇒ Weitere Filter ⇒ Spezialfilter

Vielleicht möchtest du dich mal 10 Minuten damit beschäftigen?!
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

kilix
Beiträge: 38
Registriert: So 26. Feb 2023, 16:31

Re: Lösung mit Makro gesucht

Beitrag von kilix » Fr 18. Jul 2025, 15:16

Hallo karolus,

danke für deine Antwort. Ich habe mir die Beschreibung zu Spezialfilter angesehen aber ich dadurch wird, soweit ich die Beschreibung verstanden habe, mein Problem nicht gelöst wird. Mit diesem Filter wird eine bestehende Tabelle durchsucht. In meinem Fall muss ich Daten aus Tabellen mit z.T 400k Elementen filtern. D.h. ich müsste diese große Anzahl Elemente zuerst in meine LO-Tabelle laden und dann mit dem Spezialfilter sieben. Der Einleseaufwand ist enorm verglichen mit dem in der DB-Abfrage eingebauten variablen Filter. Damit werde ich vor dem Einlesen nach dem Filterkriterium gefragt und dann nur noch die passenden Elemente eingelesen.
Ich lese die DB-Tabelle mit einem Makro in die LO-Tabelle ein (funktioniert aber ohne Makro genau so). Vor dem Einlesen öffnet sich dieses Fenster (siehe im Posting unten):
Hier muss ich in das Feld Wert die gesuchte ID eingeben/einfügen und dann werden nur noch die passenden Elemente geladen. Und genau um dieses Einfügen geht es. Wenn ich das mit einem Makro eingeben könnte wäre mir sehr geholfen. Es geht mir nicht um das Einlasen der ID in ein Makro, das kann ich. Es geht mit darum die in das Makro eingelesene ID in diese Maske bzw. dieses variable Filter zu bekommen.
Bild
Dateianhänge
Filter.jpg
Filter.jpg (11.18 KiB) 4 mal betrachtet
Grüße
kilix


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.



Antworten