🙏 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: 39
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: 834
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: 39
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: 2539
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: 39
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) 41 mal betrachtet
Grüße
kilix

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

Re: Lösung mit Makro gesucht

Beitrag von karolus » Fr 18. Jul 2025, 17:35

Ok … im Ausgangspost war noch die Rede von einer Calc-tabelle…

Aber falls wir hier nicht um ein x-y-problem herum eiern?? müsstest den Eingabe-dialog aus deinem Screenshot jetzt mal selbstständig mit der Hilfe von mri.oxt untersuchen, wie und wo »was-auch-immer« da eingefügt werden muss…
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

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

Re: Lösung mit Makro gesucht

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

Mir kommt das ganze ziemlich bekannt vor, und du knabberst tatsächlich seit Monaten am selben Problem herum, nämlich hier,
hier: viewtopic.php?f=12&t=40409
und hier: viewtopic.php?f=12&t=40665

Und ich vermute, mit einer der damals vorgeschlagenen Lösungen wärst du schon längst fertig.

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: 39
Registriert: So 26. Feb 2023, 16:31

Re: Lösung mit Makro gesucht

Beitrag von kilix » Fr 18. Jul 2025, 22:06

Hallo,

@karolus
vielleicht ist es ein X-Y-Problem wobei ich nicht weiß was ich verschleiere und denke, dass ich (zumindest diesesmal) das Problem sehr eindeutig erklärt habe.
Ich habe für eine SQLexpress-Datenbank, die ich aus einer externen Anwendung habe eine Datenquelle für LO definiert und dann diverse Abfragen in LO Database definiert. Diese Abfragen verwende ich in verschiedenen LO-Dokumenten.
In allen diesen Dokumenten muss ich das Abfragekriterium nur einmal eingeben. Nur für diese eine Anwendung muss ich das Kriterium für vier verschiedenen Abfragen 4x eingeben/kopieren. Da ich dieses Kriterium in einer Zelle des Dokuments gespeichert habe will ich es gerne automatisch (z.B. mit Makro) für die 4 Abfragen verwenden.

Und damit bin ich auch schon bei beim nächsten Posting.
@Freischreiber
ja, ich habe schon vor Monaten versucht hier Hilfe zu bekommen. Das hat nie geklappt. Heute weiß ich, dass es damals ein typisches X-Y-Problem war da ich im Bereich von Calc war, die Antworten aber im Bereich von Base waren - was mir damals noch nicht bewußt war. Aber so hatte ich mich mit der viermaligen Eingabe abgefunden. Und bin erst jetzt wieder aktiv geworden.

Ich habe auch im Internet herumgegoogelt (da fiel mir das Missverständnis Calc-Base auf). Ich habe da wahrscheinlich auch etwas gefunden mit dem ich aber wenig anfangen kann weil mir dazu Kenntnisse fehlen. Und zwar die Möglichkeit einen SQL-Befehl mit dem Makro auszuführen. Damit könnte ich ev. den in der Abfrage enthaltenen SQL-Befehl im Makro mit dem variablen Kriterium versehen u.s.w.

Ich werde mich damit beschäftigen.
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