993 Aufrufe
Gefragt in Datenbanken von
hallo alle zusammen,

ich habe ein Problem beim erstellen einer abfrage zu 3 Tabellen. evtl. ist aber auch die abfrage der falsche weg.
ich habe 3 tabellen
1 = Mitglieder (schlüssel = autowert ID)
2 = einsätze (schlüssel = autowert ID)
3 = einsätze_anwesenheit (schlüssel = ID_einsätze, ID_mitglieder)

in der tabelle mitglieder sind bereits alle daten der Mitglieder gepflegt.
in der tabelle einsätze möchte ich die "kopfinformationen" zu den einsätzen pflegen
in der tabelle einsätze_anwesenheit möchte ich dann eintragen, wann wer da war (ID einsatz + ID mitglied + ein "X"

wie erstelle ich nun am besten diese abfrage und verknüpfe die tabelle?
am liebsten hätte ich in der einsätze_anwesenheit auch nur die daten der mitglieder stehen, die da waren.

vielen dank.
markus

2 Antworten

0 Punkte
Beantwortet von
Hallo Markus,

es gibt zwei Möglichkeiten. Die einfachste wäre, wenn du in Tabelle "Einsätze_Anwesenheit" ebenfalls als Schlüssel eine Auto_ID definierst. Das kann z. B. eine Zeilennr. sein. Die ID Einsätze als Verknüpfung zum Kopf würde ich in ein separates Feld (Spalte!) packen, da dieser ja bei mehreren Zeilen vorkommen kann.
Auch die ID_Mitglieder sollte ein separates Feld erhalten. Dann lässt sich auch deine Abfrage leicht verknüpfen.

Wenn du jedoch, wie oben beschrieben, deinen Schlüssel aus ID_Einsatz und ID_Mitglied in einem Feld zusammensetzt müsstest du bei Abfragen im FROM-Teil des SQL-Codes mit LIKE arbeiten um eine sinnvolle Verknüpfung hinzubekommen, da du ja nur Teile des Strings verwenden willst. Das ist allerdings etwas komplizierter und daher nicht zu empfehlen.

Gruß Mr. K.
0 Punkte
Beantwortet von
Hallo Markus,

Um eine taugliche Abfrage zu ermöglichen, müssen die 3 Tabellen in eine 1:n Beziehung gebracht werden.

Mit Deiner Schilderung bist Du bereits auf dem richtigen Weg.

Um nur Mitglieder mit "X" aufzulisten erreichst Du mit einem Abfragekriterium in der Entwurfsansicht der zu erstellenden Abfrage.

Gruß

Paul1

http://falk-weihmann.de/Access/
...