Date: prev next · Thread: first prev next last
2020 Archives by date, by thread · List index


Hallo Thomas,

ich nehme an, die "Grundtabelle" soll die Veranstaltungen aufnehmen.
Ich wüsste bei deiner Vorstellung mit Listenfeldern nur den Weg, das Listenfeld für die Räume abhängig vom gewählten Ort anzupassen, das kann geschehen, indem die Datenquelle als SQL deklariert ist und das SQL-Stament geändert wird (SELECT Raum, ID_Raum FROM Räume WHERE ID_Ort = id_ort). Diese Änderung musst du aber in einem Makro durchführen, das du beim Datensatzwechsel in dem Formular, wo der Ort eingetragen wird, anstößt; dort musst du die Variable id_ort (deshalb kleingeschrieben) ermitteln und damit das SQL zusammenbasteln. Ich weiß nicht, ob Makros für dich möglich sind, aber ich denke, etwas in der Art ist da der einzige Weg. (Es sei denn, Robert kommt noch mit einem tollen Trick.) Du könntest aber auch einen anderen Weg gehen, wenn Makros nicht in Frage kommen: Zum Erfassen von Veranstaltungen verwendest du ein Formulardokument, das folgende Formularstruktur hat:
Ort
+- Raum
  +-Veranstaltung
Zur späteren Übersicht über Veranstaltungen verwendest du ein anderes Formulardokument, das ungefähr so aussehen dürfte wie deine jetzige Vorstellung. Der Vorteil ist, dass beim ersten Formulardokument LibO die Verknüpfung der Tabellen machen kann und du kein Makro brauchst. Nachteil ist, dass du zwei Formulare hast, aber es hängt sehr von der Arbeitsweise ab, ob das wirklich ein Nachteil ist oder nur Gewöhnungssache. Ich habe das jetzt nicht konkret getestet, aber bin mir ziemlich sicher, dass das so funktioniert.

Gruß

Gerhard

Am 14.01.2020 um 20:01 schrieb Thomas:
Hallo,
ich möchte in einer Datenbank Orte und zugehörige Räume für
Veranstaltungen aufnehmen. Ich habe da Ort1, Ort2, Ort3 usw. Im Ort1
gibt es Raum1, Raum2, im Ort2 Raum3, Raum4, Raum5, im Ort3 gibt es Raum6...
Die Orte sind in einer Tabelle mit ID_Ort und Ort, die Räume in einer
anderen Tabelle mit ID_Raum, ID_Ort und Raum. Damit weiß ich, welcher
Raum in welchem Ort ist.
In einem Formular werden zunächst die Orte mit Hilfe eines Listenfeldes
ausgewählt und deren ID_Ort in die Grundtabelle eingetragen. Das
funktioniert einwandfrei. Nun möchte ich im selben Formular für den
vorher eingetragenen Ort einen zugehörigen Raum auswählen. Das
Listenfeld soll mir also nur die relevanten Räume anbieten und die
entsprechende ID_Raum in die Grundtabelle eintragen. Für Ort2 dürften
mir also nur Raum3, Raum4  oder Raum5 angeboten werden.
Da habe ich schon viel probiert, schaffe es aber einfach nicht und bitte
nun um Hilfe

Viele Grüße

Thomas






--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.