Access-Abfrage



  • Hallo, ich habe eine sicherlich sehr einfach zu beantwortende Frage:

    Ich habe eine erste Tabelle mit nur einer Spalte, in der Unterrichtsfächer gespeichert sind: Deutsch, Englisch, Mathe, Sport, Kunst usw.

    Eine andere zweite Tabelle mit ebenfalls nur einer Spalte enthält Namen, z. B. Müller, Meier, Schulze etc.

    In einer dritten Tabelle befinden sich 3 Spalten. In der ersten Spalte befindet sich ein Listenfeld für die Namen (die Namen aus Tabelle 2), in der zweiten Spalte ein Listenfeld für ein Fach (Fach aus Tabelle 1) und in der dritten Spalte nochmal ein Listenfeld für ein anderes Fach (wiederum aus Tabelle 1).
    Also könnte man in der ersten Spalte z. B. Müller auswählen und dann in der zweiten Spalte Englisch und in der dritten Spalte Mathe auswählen. Müller hätte dann diese beiden Fächer belegt.

    Jetzt das Problem. In einer vierten Tabelle habe ich nur zwei Spalten, nämlich Name und Fach, beides sind Listenfelder. In der ersten Spalte wählt man einen Namen aus (aus Tabelle 2, z. B. Müller). In der zweiten Spalte sollen dann nur die beiden Fächer in dem Listenfeld auftauchen, die man Müller oben zugeordnet hat. Wie ich es auch drehe und wende, ich bekomme immer nur die Liste mit allen Fächern, ich möchte aber nur die beiden haben, die Müller unter Punkt 3. zugeordnet wurden.

    Hoffentlich habe ich mich verständlich ausgedrückt ...

    Kann mir da jemand helfen?
    Danke.



  • Also um bei der Wahrheit zu bleiben hab ich nicht so ganz gecheckt was du vorhast und wo dein Problem liegt.Allerdings hört sich dein DB-Schema extrem redundant an.
    Sinnvoll wäre eine Relation Person(Name,etc),eine Relation Fach(Fach) und eine Beziehung zwischen diesen Basisrelationen der Form: erteilt(Name,Fach) wobei Name und Fach die Primärschlüssel der Relationen Person und Fach sind.
    Alles andere lässt sich über Relationenalgebra konstruieren.

    MfG Spacelord 🙂



  • Danke, Loard,
    ich weiß jetzt, dass ich das Problem nur mit VB für Access lösen kann.
    Danke für deine Antwort!!
    Gruß Ingaux


Anmelden zum Antworten