0

Kreuztabelle Anzeige

Ich muss viele Datensätze mit Kreuztabellen verbinden (m:n-Beziehung). Z.B. Lehrerliste, Fächerliste: Jeder Lehrer unterrichtet mehrere Fächer, jedem Fach sind mehrere Lehrer zugeordnet. Die Kreuztabelle könnte Fakultas heißen mit eben zwei Feldern: ->Lehrer, ->Fach.

Nun würde ich beim Arbeiten mit der Datenbank bei Auswahl eines Lehrers/Fachs in der Untertabelle zu Fach/Lehrer gerne gleich beim Lehrer bzw. Fach landen und NICHT zunächst in der Kreuztabelle. Ich würde also gerne den „Zwischenschritt“ Kreuztabelle überspringen.

Beispiel: Ich brauche einen Englischlehrer, gehe also in die Fächerliste und sehe bei Englisch alle Englischlehrer in einer Untertabelle (Fakultas) gelistet. Nun möchte ich bei Auswahl eines dieser Englischlehrer direkt in der Tabelle der Lehrer landen und nicht erst in der Kreuztabelle, so wie man das bei 1:n-Verknüpfungen gewohnt ist. Lässt sich da was machen?

6 Antworten

null
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Hallo Klaus,

    es gibt ein Gestalltungselement "Ansicht". Die Ansicht kannst du in der Tabelle Fächer einfügen. Die Formel wäre:

    ---

    let my:=this;

    select Lehrerliste where Fakultas.Fach=my

    ---

    Die Tabelle Fakultas kannst du dann entweder unsichtbar machen oder in einem anderen Tab verstecken.

    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Bildschirmfoto 2018-10-05 um 12.30.47

    • Claus
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Vielen Dank, das leuchtet ein und dieses Gestaltungselement war mir nicht bewusst.

    Dennoch funktioniert es nicht.

    Ich befinde mich in der Tabelle „Lerngruppe“

    Es gibt eine Kreuztabelle „Teilnahme“ mit ->Lerngruppe und -> Schüler

    CODE:

    let my := this;
    select 'Schüler' where Teilnahme.Lerngruppe = my

     

    Es wird nichts gelistet.

    Hingegen funktioniert sofort:

    let my := this;
    select 'Schüler' where Teilnahme.Lerngruppe.Name ="5a"

     

    … aber da müsste ich ständig manuell verschiedene Klassen in den Code schreiben :-(

    Irgendwie wird das „this“ (hier die Lerngruppe) nicht richtig verglichen.

    Ohne Titel

     

    Hoffe ich habe keine Tomaten vor den Augen und sehe meinen Fehler nicht.

    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Dann versuche es so:

    let my := Nr;
    select 'Schüler' [ Teilnahme.Lerngruppe.Nr = my]

     

    Leo

    • Claus
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Ohne Titel

    • Claus
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Danke für umgehende Hilfe. Dieser Syntax funktioniert:

    let my := Nr;
    select 'Schüler' where Teilnahme.Lerngruppe.Nr = my

    Vielen Dank!

Content aside

  • vor 6 JahrenZuletzt aktiv
  • 6Antworten
  • 1635Ansichten