Problem mit Access Abfrage

Hallo,

hab jetzt schon längere Zeit rum probiert und gesucht, aber ich komme einfach nicht mehr weiter…
Mit meiner Access Datenbank möchte ich Mitglieder einer Wettkampfgruppe verwalten.
Ich habe eine Tabelle in der ich die Mitglieder erfasse:
Tabelle: Personen
ID_Person
P-Name
P-Vorname
P-Geburtsdatum

Und in einer zweiten Tabelle soll die Zuordnung stattfinden, wer zur Wettkampfgruppe gehört (zu einer Wettkampfgruppe gehören immer genau 8 Mitglieder):
Tabelle: WK-Gruppen
ID_WKG
WKG-Titel
FK_TLN1
FK_TLN2
FK_TLN3
FK_TLN4
FK_TLN5
FK_TLN6
FK_TLN7
FK_TLN8
WKG-Kommentar

Sprich die Tabelle WK-Gruppen beinhaltet 8 Fremdschlüssel der Tabelle Personen.

Mit meiner Abfrage

SELECT Personen.ID\_Person, Personen.[P-Vorname], Personen.[P-Name], Personen.[P-Geburtsdatum], DateDiff("yyyy",[P-Geburtsdatum],Date())+(Format(Date(),"mmdd")
kann ich jetzt zwar einen Fremdschlüssel abfragen, aber wie schaffe ich es, alle 8 in eine Abfrage zu bekommen?
Vielen Dank im vorraus für eure Hilfe.
gruß
Busta

Ich verstehe dich jetzt so, dass du die Gruppe mit allen Mitgliedern abfragen willst. In diesem Falle müsstest du die Tabelle WK_Gruppen abfragen und über JOINs die Mitglieder-Tabellen einbinden. Wichtig hierbei: Du musst die Tabelle 8 mal einbinden, jedes Mal mit einem anderen Schlüssel-Bezug (da es ja 8 Fremdschlüssel gibt). Wichtig hierbei: Du musst Aliase auf die Mitglieder-Tabellen setzen, sonst kommt das Datenbank-System mit den Schlüsselangaben nicht mehr klar (weil 8 mal die gleiche Tabelle vorhanden ist, weiß er bei der 2. Tabelle bereits nicht mehr, ob sich die Feldangabe auf die 1. oder die 2. Tabelle beziehen soll).

Problem mit Datenbankentwurf
Moin, Busta,

was MrNiceGuy vorschlägt, wird wohl klappen, behebt aber nicht den Entwurfsfehler, den Verstoß gegen die 1. Normalform.

Bau Gruppen auf und setze eine Beziehung Gruppe > Person, dann bist Du alle Sorgen los:

**Person** (<u>ID</u>, Name, Vorname, ..., FS\_Gruppe)
**Gruppe** (<u>ID</u>, Name, ...)

Auf dieser Entwurfstechnik baut jeglicher relationale Datenbankzugriff auf. Access-spezifisch: So lassen sich Formulare und Unterformulare mit links erstellen.

Gruß Ralf

Hallo,

da ich gerade eine Meisterschaftsverwaltung für Karate programmiere, kenne ich das Problem :smile:

Ich habe eine Tabelle in der ich die Mitglieder erfasse:
Tabelle: Personen
ID_Person
P-Name
P-Vorname
P-Geburtsdatum

diese Tabelle ist OK, du solltest allerdings immer Unterstriche statt Bindestriche verwenden.

Und in einer zweiten Tabelle soll die Zuordnung stattfinden,

nö, erstmal benötigst du eine Tabelle NUR mit den Gruppeninfos.

Tabelle: WK-Gruppen
ID_WKG
WKG-Titel
WKG-Kommentar

nun benötigst du noch eine „Person2Gruppe“ Tabelle

Tabelle: Person2Gruppe
ID_p2g
ID_WKG
ID_Person

Diese Tabelle kannst du dir natürlich sparen, wenn der Teilnehmer nur in einer Gruppe starten darf. Dann packst du einfach die ID_WKG direkt in die Personen-Tabelle.

Tabelle: Personen
ID_Person
P-Name
P-Vorname
P-Geburtsdatum

ID_WKG

Grüße aus Rostock
Wolfgang
(Netwolf)

Hi,
war mir schon bewusst, dass ich normalerweise eine weitere Tabelle mit „Gruppen“ nehmen würde.
Dachte aber, da ich ja genau weiss, dass ich immer 8 Mitglieder in einer Gruppe habe, wäre dass so ok.
Werde es aber jetzt wohl so wie von dir beschrieben umstellen…
gruß Busta

diese Tabelle ist OK, du solltest allerdings immer
Unterstriche statt Bindestriche verwenden.

Ja stimmt, danke für den Tipp…