🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Mehrere Datenbanktabellen mit gleicher Mitgliedernummer einlesen
Mehrere Datenbanktabellen mit gleicher Mitgliedernummer einlesen
Hallo,
ich habe ein Dokument in dem ich aus mehreren Tabellen einer Datenbank die Datensätze gleicher Mitgliedernummer einlese. Dazu habe ich für jede Tabelle eine LO-Abfrage erstellt die beim Einlesen nach der Mitgliedernummer fragt. Nachdem es 5 einzulesende Tabellen sind muss man diese Nummer fünfmal eingeben was ziemlich nervig ist - ok, ich kopiere die Nummer in alle Abfragen aber trotzdem.
Gibt es eine Möglichkeit diese Nummer nur einmal für alle Abfragen einzugeben?
Was ich vergessen habe zu schreiben: ich lese diese Tabellen mit Macros in eigene L-Tabellen ein.
ich habe ein Dokument in dem ich aus mehreren Tabellen einer Datenbank die Datensätze gleicher Mitgliedernummer einlese. Dazu habe ich für jede Tabelle eine LO-Abfrage erstellt die beim Einlesen nach der Mitgliedernummer fragt. Nachdem es 5 einzulesende Tabellen sind muss man diese Nummer fünfmal eingeben was ziemlich nervig ist - ok, ich kopiere die Nummer in alle Abfragen aber trotzdem.
Gibt es eine Möglichkeit diese Nummer nur einmal für alle Abfragen einzugeben?
Was ich vergessen habe zu schreiben: ich lese diese Tabellen mit Macros in eigene L-Tabellen ein.
Grüße
kilix
kilix
Re: Mehrere Datenbanktabellen mit gleicher Mitgliedernummer einlesen
Moin,
man kann mehrere Tabellen in einer Abfrage zusammenfassen, etwa so:
Wobei ... die gleiche Anzahl von Spalten und den gleichen Spaltentyp in gleicher Reihenfolge enthalten muss. Die Abfrage muss im direkten SQL Mode ausgeführt werden.
Gruß R
man kann mehrere Tabellen in einer Abfrage zusammenfassen, etwa so:
Code: Alles auswählen
select ... from "Tabelle1" union select ... from "Tabelle2" union select u.s.w. where u.s.w.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Mehrere Datenbanktabellen mit gleicher Mitgliedernummer einlesen
Hallo,
es tut mir Leid, ich habe mich falsch ausgedrückt und dafür entschuldige ich mich:
in diesem OL-Dokument werden 5 Abfragen verwendet die jede 1 bis 4 Tabellen enthalten. Die Daten dieser Abfragen werden dann in einer eigenen Tabelle verknüpft und weiter bearbeitet. D.h. aber, dass ich nicht 5 Tabellen sondern 5 Abfragen einlesen und für jeder die Mitgliedernummer als Auswahlkriterium einfügen muss. Und genau das würde ich gerne auf eine Eingabe für alle 5 Abfragen vereinfachen.
Diese Abfragen habe ich mit "Abfrage in Entwurfsansicht erstellen..." erzeugt.
es tut mir Leid, ich habe mich falsch ausgedrückt und dafür entschuldige ich mich:
in diesem OL-Dokument werden 5 Abfragen verwendet die jede 1 bis 4 Tabellen enthalten. Die Daten dieser Abfragen werden dann in einer eigenen Tabelle verknüpft und weiter bearbeitet. D.h. aber, dass ich nicht 5 Tabellen sondern 5 Abfragen einlesen und für jeder die Mitgliedernummer als Auswahlkriterium einfügen muss. Und genau das würde ich gerne auf eine Eingabe für alle 5 Abfragen vereinfachen.
Diese Abfragen habe ich mit "Abfrage in Entwurfsansicht erstellen..." erzeugt.
Grüße
kilix
kilix
Re: Mehrere Datenbanktabellen mit gleicher Mitgliedernummer einlesen
Moin,
wenn ich dich richtig verstehe, hast du fünf Parameterabfragen, die du nacheinander abfragst, dann das jeweilige Ergebnis in eine Tabelle kopierst und dann irgendwie weiterverarbeitest?
Was für ein Aufwand.
Das kann man sicherlich mit einer einzigen Abfrage oder Ansicht erledigen.
Allerdings höre ich jetzt auf im Nebel zu stochern.
Wenn du eine hilfreiche Antwort wmöchtest, musst du erstens dein Anliegen besser erklären und zweitens ein Beispieldokument, ggf. verfremdet, hier hochladen.
Gruß R
wenn ich dich richtig verstehe, hast du fünf Parameterabfragen, die du nacheinander abfragst, dann das jeweilige Ergebnis in eine Tabelle kopierst und dann irgendwie weiterverarbeitest?
Was für ein Aufwand.
Das kann man sicherlich mit einer einzigen Abfrage oder Ansicht erledigen.
Allerdings höre ich jetzt auf im Nebel zu stochern.
Wenn du eine hilfreiche Antwort wmöchtest, musst du erstens dein Anliegen besser erklären und zweitens ein Beispieldokument, ggf. verfremdet, hier hochladen.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Mehrere Datenbanktabellen mit gleicher Mitgliedernummer einlesen
Vielen Dank für deine Bemühungen. Leider kann ich die Originaldatei nicht senden weil sie private Daten enthält. Wegen der starken Verknüpfung der Daten, die bis in die Makros geht, ist aber auch eine Verfremdung sehr aufwendig. Ich muss daher bei der altuellen Lösung bleiben.
Grüße
kilix
kilix
Re: Mehrere Datenbanktabellen mit gleicher Mitgliedernummer einlesen
Moin,
du stellst hier Fragen und beschäftigst die Leute, bist aber nicht bereit selbst zur Lösung beizutragen?
Unglaublich frech.
Ist dir langweilig?
R
du stellst hier Fragen und beschäftigst die Leute, bist aber nicht bereit selbst zur Lösung beizutragen?
Unglaublich frech.
Ist dir langweilig?
R
Re: Mehrere Datenbanktabellen mit gleicher Mitgliedernummer einlesen
Ich habe nach 2 Stunden Versuch der Verfremdung der Daten etc. aufgehört weil ich noch viel länger dazu gebraucht hätte. Es hat einfach keinen Sinn gemacht. Daher verbitte ich mir deine Ausdruck "unglaublich frech" auf das Schärfste! Aus den Antworten zu schließen kann die Beschäftigung damit gar nicht so lange gedauert haben wie du es darstellst!
Es kann nicht jeder Spezialist sein. Ich bin 80 Jahre und habe mir LO und das was ich dazu an Programmierung brauche mühsam angelernt wobei mir einige deiner Kollegen hier im Forum sehr hilfbereit geholfen haben (dafür nochmals ein herzliches Danke!).
Als ich die erste Frage stellte dachte ich mir, dass eine dazu eine einfache Antwort gibt. Nach deiner ersten Reaktion erkannte ich, dass ich die Aufgabe falsch beschrieben hatte und korrigierte das.
Auch habe ich geprüft ob man das Problem nicht auch mit einer einzigen Abfrage lösen könnte. Technisch geht es aber logisch wäre es falsch weil die Verarbeitung der 5 Abfragen eigentlich 5 eigene Dokumente wären. Allerdings enthält der auszudruckende Bericht alle 5 Teile auf einer A4 Seite.
Es kann nicht jeder Spezialist sein. Ich bin 80 Jahre und habe mir LO und das was ich dazu an Programmierung brauche mühsam angelernt wobei mir einige deiner Kollegen hier im Forum sehr hilfbereit geholfen haben (dafür nochmals ein herzliches Danke!).
Als ich die erste Frage stellte dachte ich mir, dass eine dazu eine einfache Antwort gibt. Nach deiner ersten Reaktion erkannte ich, dass ich die Aufgabe falsch beschrieben hatte und korrigierte das.
Auch habe ich geprüft ob man das Problem nicht auch mit einer einzigen Abfrage lösen könnte. Technisch geht es aber logisch wäre es falsch weil die Verarbeitung der 5 Abfragen eigentlich 5 eigene Dokumente wären. Allerdings enthält der auszudruckende Bericht alle 5 Teile auf einer A4 Seite.
Grüße
kilix
kilix
-
- * LO-Experte *
- Beiträge: 829
- Registriert: Fr 28. Mär 2014, 10:41
Re: Mehrere Datenbanktabellen mit gleicher Mitgliedernummer einlesen
Hallo kilix,
zeig bitt einmal einen Screenshot von deiner Datenbankstruktur, also dem, was unter Extras - Beziehungen angezeigt wird. Vermutlich sieht man dann besser, woran es deiner Datenbank fehlt.
Glaskugelblick: es fehlt an Beziehungen! Die Filterung nach einer Mitgliedsnummer sollte mit einer einzigen Abfrage gelingen, auch wenn Daten aus mehreren Tabellen benötigt werden. Das setzt aber konsistente Daten voraus, die durch Beziehungen gewährleistet werden. Wenn die Daten ordentlich strukturiert sind, klappt sehr vieles übrigens ganz ohne Makroprogrammierung.
Wenn du die Daten nicht herzeigen kannst, mußt du dich eben selber schlau machen. Stichworte zum Googeln und Reinlesen: "1:n-Beziehung" und "Normalformen".
Gruß
Freischreiber
zeig bitt einmal einen Screenshot von deiner Datenbankstruktur, also dem, was unter Extras - Beziehungen angezeigt wird. Vermutlich sieht man dann besser, woran es deiner Datenbank fehlt.
Glaskugelblick: es fehlt an Beziehungen! Die Filterung nach einer Mitgliedsnummer sollte mit einer einzigen Abfrage gelingen, auch wenn Daten aus mehreren Tabellen benötigt werden. Das setzt aber konsistente Daten voraus, die durch Beziehungen gewährleistet werden. Wenn die Daten ordentlich strukturiert sind, klappt sehr vieles übrigens ganz ohne Makroprogrammierung.
Wenn du die Daten nicht herzeigen kannst, mußt du dich eben selber schlau machen. Stichworte zum Googeln und Reinlesen: "1:n-Beziehung" und "Normalformen".
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
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
Re: Mehrere Datenbanktabellen mit gleicher Mitgliedernummer einlesen
@ Freischreiber,
danke für deine Antwort. Ich habe testweise Versuche gemacht mit einer Abfrage auszukommen, die aber kein brauchbares Ergebnis brachten. Der Grund ist, dass es sich bei diesem Dokument eigentlich logisch gesehen 5 Dokumente handelt, die ich - weil sie auf einer gemeisamen A4-Seite ausgegeben werden - in ein Dokument zusammengefasst habe. Egal wie ich sie in eine Abfrage zusammenbringe erhalte ich durch die mehrfachen 1:n- und n:m-Beziehunhen einen kaum weiter zu bearbeitenden Datenwust. D.h. es ist besser in der logischen Trennung der Abfragen zu bleiben und damit übersichtliche und leicht zu verarbeitende Ergebnisse zu erhalten.
Eine Vereinfachung habe ich aber bei diesen Überlegungen, dank dieser Diskussion, gefunden: ich kann ein paar Abfragen gut zusammenziehen, so dass mir am Ende noch 3 statt 6 bleiben.
Den Screenshot der Datenbankstruktur lege ich bei.
danke für deine Antwort. Ich habe testweise Versuche gemacht mit einer Abfrage auszukommen, die aber kein brauchbares Ergebnis brachten. Der Grund ist, dass es sich bei diesem Dokument eigentlich logisch gesehen 5 Dokumente handelt, die ich - weil sie auf einer gemeisamen A4-Seite ausgegeben werden - in ein Dokument zusammengefasst habe. Egal wie ich sie in eine Abfrage zusammenbringe erhalte ich durch die mehrfachen 1:n- und n:m-Beziehunhen einen kaum weiter zu bearbeitenden Datenwust. D.h. es ist besser in der logischen Trennung der Abfragen zu bleiben und damit übersichtliche und leicht zu verarbeitende Ergebnisse zu erhalten.
Eine Vereinfachung habe ich aber bei diesen Überlegungen, dank dieser Diskussion, gefunden: ich kann ein paar Abfragen gut zusammenziehen, so dass mir am Ende noch 3 statt 6 bleiben.
Den Screenshot der Datenbankstruktur lege ich bei.
- Dateianhänge
-
- DB-Struktur.jpg (192.13 KiB) 2396 mal betrachtet
Grüße
kilix
kilix
-
- * LO-Experte *
- Beiträge: 829
- Registriert: Fr 28. Mär 2014, 10:41
Re: Mehrere Datenbanktabellen mit gleicher Mitgliedernummer einlesen
Hallo kilix,
wie du siehst, sieht man nicht viel. Aber folgendes schon:
1. Es ist schlimmer, als ich dachte.
Es sieht ein bißchen so aus, als hättest du immer, wenn der Bildschirm voll war, eine neue Tabelle aufgemacht. Spaß.
2. Es gibt Redundanzen, z. B. mehrere Tabellen mit einem Primärschlüssel "SassenNrID". Ich komme auf vier. Offensichtlich ist die "SassenNrID" die Mitgliedsnummer.
Meine Meinung:
Diese vier Tabellen gehören alle in eine zusammengefaßt! Diese Tabelle sollte einfach nur "Sassen" oder "T-Sassen" oä heißen, damit man sie in dieser Übersicht von anderen Tabellen unterscheiden kann.
Ein Mitglied hat dann eine Mitgliedsnummer als Primärschlüssel und eine Zeile in dieser Tabelle, z. B. mit den Spalten ID, Vorname, Nachname, Anzahl (wovon?), Sassenname, Beiname und was auch immer, die zu diesem Mitglied gehören. Wenn das Mitglied nur eine Adresse hat, gehören auch die Adreßspalten hier rein.
Offenbar gibt es Sassen, Fechsungen und Sippungen, und probier mal, ob du nicht fürs erste mit drei Haupttabellen auskommst, die genau so heißen.
Das nur als erste Idee nach dem Anblick dieser nicht 25, sondern 35 Tabellen.
Wenn dir der Datenschutz wichtig ist, kannst du mir gerne als Privatnachricht Näheres erzählen oder schicken.
Gruß
Freischreiber
wie du siehst, sieht man nicht viel. Aber folgendes schon:
1. Es ist schlimmer, als ich dachte.

Es sieht ein bißchen so aus, als hättest du immer, wenn der Bildschirm voll war, eine neue Tabelle aufgemacht. Spaß.
2. Es gibt Redundanzen, z. B. mehrere Tabellen mit einem Primärschlüssel "SassenNrID". Ich komme auf vier. Offensichtlich ist die "SassenNrID" die Mitgliedsnummer.
Meine Meinung:
Diese vier Tabellen gehören alle in eine zusammengefaßt! Diese Tabelle sollte einfach nur "Sassen" oder "T-Sassen" oä heißen, damit man sie in dieser Übersicht von anderen Tabellen unterscheiden kann.
Ein Mitglied hat dann eine Mitgliedsnummer als Primärschlüssel und eine Zeile in dieser Tabelle, z. B. mit den Spalten ID, Vorname, Nachname, Anzahl (wovon?), Sassenname, Beiname und was auch immer, die zu diesem Mitglied gehören. Wenn das Mitglied nur eine Adresse hat, gehören auch die Adreßspalten hier rein.
Offenbar gibt es Sassen, Fechsungen und Sippungen, und probier mal, ob du nicht fürs erste mit drei Haupttabellen auskommst, die genau so heißen.
Das nur als erste Idee nach dem Anblick dieser nicht 25, sondern 35 Tabellen.

Wenn dir der Datenschutz wichtig ist, kannst du mir gerne als Privatnachricht Näheres erzählen oder schicken.
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
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
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.