Announcement

Collapse
No announcement yet.

Eigene ID in Listenfeld ausblenden?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Eigene ID in Listenfeld ausblenden?

    Servus zusammen,

    ich habe eine Tabelle (t_Gruppen) um Gruppen hierarchisch abzulegen. Zusätzlich gibt es eine Grundeinstellungstabelle (t_Einstellungen) die einen Hauptknoten definiert, unter dem standardmäßig erstmal alle Gruppen eingeordnet werden.
    In der Tabelle t_Gruppen habe ich ein Listenfeld, in dem eine Übergeordnete Gruppe ausgewählt werden soll und kann.
    Mein Problem ist aber, daß grundsätzlich alle Gruppennamen aufgeführt werden, ich aber den Gruppennamen des jeweils aktuellen Datensatzes nicht aufgelistet haben möchte.
    Kurz: Gruppe kann nicht Untergruppe von sich selbst sein.

    Dazu habe ich diese SQL-Abfrage gebaut, die die beiden o.g. Tabellen zusammenführt aber eben nicht den jeweils aktuellen/aktiven Gruppen-Datensatz rausfiltert:

    SELECT [t_Gruppen].[ID], [t_Gruppen].[Gruppe] FROM [t_Gruppen]
    WHERE [t_Gruppen].[ID] <> [t_Gruppen].[ParentID]
    UNION SELECT [t_Einstellungen].[Wert], [t_Einstellungen].[Name] FROM [t_Einstellungen]
    WHERE [t_Einstellungen].[Variable] = "GroupRoot"
    ORDER BY [t_Gruppen].[Gruppe];

    Könnt ihr mir da weiterhelfen?
    Die Anweisung "WHERE [t_Gruppen].[ID] <> [t_Gruppen].[ParentID]" ändert bei mir nix am Ergebnis, es werden immer alle Gruppen und die RootGruppe aufgelistet einschließlich der jeweils aktiven.

    Grüße,
    Uwe

  • #2
    Hallo,

    wenn ich Dich richtig verstehe hat jeder Datensatz eine ID und eine ParentID,
    die auf die Übergeordnete Gruppe verweist.
    Die Bedingung :
    where id <> ParentID
    gilt doch nur innerhalb eines Datensatzes. Und da in jedem Datensatz ID und ParentID verschieden sind, brauchst Du Dich nicht zu wundern, dass Du alle Datensätze bekommst.
    docendo discimus

    Comment

    Working...
    X