Parameterabfrage access

Hallo ich habe von unserer Theaterrgruppe eine Access Datenbank erstellt. Eine Tabelle wo die Mitglieder mit ihren allgemeinen Daten drinnen sind und eine Tabelle wo das Stück das Jahres mit seinen Daten steht also Titel udgl. In der Stück Tabelle habe ich die Felder für die Schauspieler so angelegt Schauspieler 1, Schauspieler 2 usw. je nachdem wie viele sind. So konnte ich eine Abfrage über das jeweilige Stück und deren beteiligten Anfertigen. Jetzt würde ich aber gerne eine Abfrage gestalten wo ich wenn ich Sie öffne nur den Namen eingebe und der findet mir die Stücke in welchen dieser Schauspieler mitgewirkt hat.

2 Antworten zur Frage

Bewertung: 2 von 10 mit 1507 Stimmen

Videos zum Thema
YouTube Videos

Parameterabfrage Access

Gleich mal vorweg: ohne die Datenstruktur zu kennen, kann ich dir nicht sagen wie dein SQL genau ausehen muss.
Noch mal zusammengefasst: Du hast in der Tabelle "Stücke" Felder in der Art:"Schauspieler1", "Schauspieler2", "Schauspieler3",. angelegt?
Das ist weder optimal, noch angenehm um Abfragen darauf zu bauen.
Der korrekte Weg wäre hier eine Zwischentabelle.
Ich skizziere mal eine mögliche Datenstruktur:
Tabelle Stuecke:
SID | SName |
--|---|
1 |Peter und der Wolf |
2 |Sommernachtstraum |
___
Zwisc hentabelle:
SID |AID |
--|--|
1 |1 |
1 |3 |
2 |2 |
2 |4 |
___
Schausp ieler
AID | AName |
--|---|
1 |Muster Max |
2 |Peter Lustig |
3 |Wayne John |
4 |Adam Nachname |
Um jetzt alle Schauspieler heraus zu bekommen die in "Peter und der Wolf" mitspielen kann man folgendes SQL absetzten:
SELECT AName
FROM Schauspieler
INNER JOIN Zwischentabelle ON AND
Oder:
SELECT AName
FORM Zwischentabelle
LEFT OUTER JOIN Schauspieler ON
WHERE Zwischentabelle.SID = 1
Oder:
SELECT AName
FORM Zwischentabelle
INNER JOIN Stuecke ON
LEFT OUTER JOIN Schauspieler ON
WHERE Stuecke.SName = 'Peter und der Wolf'
Oder, oder, oder.
Hoffe mit dieser Erklärung kannst du etwas anfangen
Da Cosmiq scheinbar mit meiner "wunderschönen" Leerzeichen-Ausrichtung nicht zurecht kommt: hier noch einmal die Struktur als Bild
Und noch eine Ergänzung:
Die Abfragen kann man natürlich auch umkehren. Ein Beispiel
SELECT SName
FORM Zwischentabelle
LEFT OUTER JOIN Stuecke ON
INNER JOIN Schauspieler ON
WHERE Stuecke.SName = 'Wayne John