0

Dynamische Auswahl aus gleicher Tabelle

Hallo Forum, ich bin Ninox-Neuling - für Erfahrene sicher eine Kleinigkeit.

in einem Dynamischen Auswahlfeld möchte ich alle anderen Tabelleneinträge auswählen können, außer den gerade aktuellen. Das Auswahlfeld heisst „übergeordnete Messstelle“ die Tabelle „Messstellen“.

Der aktuelle Code sieht so aus:

<pre>
select Messstellen where Nr!=this.Nr
</pre>

leider bekomme ich immer nur eine leere Ergebnismenge

…und wie bekomme ich eigentlich einen code-block hier ins Forum 

4 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 1 Monat
    • Gemeldet - anzeigen

    Hallo Frank, versuch's mal so:

    let myNr := number(this);
    select Messstellen where number(Nr) != myNr

    Für Codeblocks gibt es in der Menüleiste die geschweiften Klammern.

    • Frank_Heitmann.1
    • vor 1 Monat
    • Gemeldet - anzeigen

    Ok, das funktioniert. Die Variante mit der umgebenden Number-Funktion hatte ich zwischenzeitlich auch probiert, allerdings ohne Erfolg. Macht es denn einen Unterschied, ob:

    Number(this)
    
    
    

    oder:

    this.Nr
    • Frank_Heitmann.1
    • vor 1 Monat
    • Gemeldet - anzeigen

    Also irgendwie scheints immer nur zu funktionieren, wenn man Variablen in der select-Abfrage benutzt. Die vollständige Abfrage sieht jetzt so aus:

    let thisRecord := this;
    let thisLiegenschaft := thisRecord.Liegenschaft;
    let thisZaehlertyp := thisRecord.'Zählertyp';
    select Messstellen where Nr != thisRecord
    and Liegenschaft = thisLiegenschaft
    and 'Zählertyp' = thisZaehlertyp
      • Tobias_Bartzsch
      • vor 1 Monat
      • Gemeldet - anzeigen

       ja, in dem Moment wo du "select" benutzt, bist du quasi "gedanklich" nicht mehr in deinem Datensatz, sondern in dem selektierten. Wenn du deinen aktuellen Datensatz aber in eine Variable setzt, hast du einen "Anker".

      Durch  let me := this; repräsentiert "me" einen ganzen Datensatz [any], in dem man dann durch me.Liegenschaft oder me.'Zählertyp ' navigieren kann... 

      let me := this.Nr oder let me := number(this) ist "me" nur noch eine Zahl... das ist dann hilfreich, wenn man nur Einträge mit gleicher ID sucht, wie auch in Beispiel, wo du alle Messstellen listest, die nicht die gleiche ID haben wie dein aktueller Datensatz... 

Content aside

  • vor 1 MonatZuletzt aktiv
  • 4Antworten
  • 29Ansichten
  • 3 Folge bereits