Datenbankdesign - Veranstaltungsdatenbank
Ich habe folgendes Problem mit meiner Veranstaltungsdatenbank:
Es gibt viele Veranstaltungen mit einem oder mehreren Veranstaltungsterminen
Jede Veranstaltung wird von einem oder mehreren Moderatorinnen/ Moderatoren begleitet
Wenn ich die Moderatorinnen und Moderatoren einer Veranstaltung zuordne, möchte ich, das die Personen auch automtisch jedem Veranstaltungstermin zugeordnet werden, sodass ich in der Tabelle Personen sehen kann, an welchen Veranstaltungsterminen die einzelnen Personen eingesetzt waren.
Ich erläutere das noch einmal an einem Beispiel: Wenn Peter und Monika die Veranstaltung "Kochen für Anfänger" moderieren, die an drei aufeinanderfolgenden Dienstagen stattfinden soll, möchte ich die beiden nur der Veranstaltung "Kochen für Anfänger" zuordnen. Wenn ich dann Peters Daten in der Personen-Tabelle ansehe, möchte ich alle Veranstaltungstermine (also die drei Dienstage) in Tabellenform sehen.
Wie würdet ihr dieses Problem lösen?
Ich hoffe, ich habe mich verständlich ausgedrückt, damit ihr mir helfen könnt.
Liebe Grüße
Alfred
8 Antworten
-
Ich habe jetzt mal eine Beispieldatenbank (212_Veranstaltungstermine updaten) in den Webinarordner gelegt. Ich hatte nun die Idee, allen Veranstaltungsterminen per Knopfdruck die Moderatorinnen und Moderatoren zuzuordnen, die ich in der Tabelle Veranstaltung angelegt habe. Seht euch doch bitte einmal die Tabelle Veranstaltungen an. Die Funktion, die die Schaltfläche benötigen würde übersteigt mein derzeitiges Programmierkönnen. Vielleicht lässt sich das ja sogar so regel: Wenn ich eine neue Person als Moderator einer Veranstaltung zuordne, wird dieser Moderator auch allen Veranstaltungsterminen dieser Veranstaltung zugeordnet.
Viele Grüße
Alfred
-
Hallo Alfred,
die Formel für den Button:
---
let my := this;
for ii in Veranstaltungsmoderation do
for jj in Veranstaltungstermine do
let new := (create Veranstaltungsterminmoderation);
new.(Veranstaltungstermine := jj);
new.(Personen := ii.Personen)
end
end---
Habe ich bereits eingefügt.
Und die Formel für den Trigger beim Einfügen einer Person:
---
let my := this;
for ii in Veranstaltung.Veranstaltungstermine do
let new := (create Veranstaltungsterminmoderation);
new.(Personen := my.Personen);
new.(Veranstaltungstermine := ii)
end
---
Habe auch eingefügt.
Leo
-
Hallo Leo,
ich bin begeistert. Vielen Dank. Da wäre ich von selbst nicht hingekommen. Jetzt weiß ich auch endlich, wie man Datensätze per Schleife ansprechen kann. Das mit dem Trigger habe ich allerdings noch nicht verstanden - kannst Du mir sagen, wo die Triggerformel genau eingefügt werden muss?
Viele Grüße
Alfred
-
Hallo Alfred,
in der Tabelle Veranstaltungsmoderation beim Feld Personen
Leo
-
Hallo Leo,
vielen Dank.
Alfred
-
Ich dachte ja, ich hätte jetzt einiges verstanden und wollte einen Knopf implementieren, mit dem ich die Zuordnung der Moderatoren zu den Veranstaltungsterminen wieder löschen kann. Bin aber kläglich gescheitert. Kann mir noch einmal jemand helfen?
-
for ii in Veranstaltungstermine do
delete ii.Veranstaltungsterminmoderation
end;
delete Veranstaltungsmoderation -
Leo, du bist super - vielen Dank. Genau soetwas habe ich gesucht.
Content aside
- vor 5 JahrenZuletzt aktiv
- 8Antworten
- 1987Ansichten
-
1
Folge bereits