0

Dynamisch Einträge erstellen

Hallo,

ich habe folgendes Problem: Ich würde gerne ein create Statement mit einer variablen Tabelle (zum Beispiel ausgewählt über ein Auswahlfeld) realisieren.

Logischerweise ist es nicht möglich einfach "create *String mit Namen*" auszuführen.

 

Meine Idee war eval() zu verwenden: 

let codeString := "create '" + tabellenname + "'"

eval(codestring, this)

Da bekomme ich leider zurück, dass Updates für einen eval call nicht erlaubt sind. 

 

Gibt es vielleicht eine andere (einfache) Möglichkeit oder ist das bisher nicht möglich?

2 Antworten

null
    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Jonas. Mit eval() habe ich create() auch nicht zum laufen bekommen. Aber für einen halbwegs tauglichen workaround schlage ich vor das Auswahlfeld anzulegen und im "Trigger nach Änderung" den unten stehenden Code, den Du aber immer neu anpassen mußt, wenn Du eine neue Tabelle im Auswahlfeld anlegst.

    switch Auswahl do
    case 1:
        (create TABELLE1)
    case 2:
        (create TABELLE2)
    case 3:
        (create TABELLE3)
    end
    
    • UweG
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Vielleicht über die REST-API wenn es in der Cloud läuft. Da sollte man dyn.Auswahlfelder nutzen und die TableID der Tabelle mit hinterlegen.
    Die Grundlagentabelle könnte man über ein Script beim Start von Ninox automatisch inkl. TabellenName/TableID erstellen lassen. Sollten nur spezielle Tabellen aus allen vorhandenen Tabellen benutzt werden, könnte man über einen Vergleich der Namen der Tabellen eine Auswahl der im dyn.Auswahlfeld anzuzeigenden Tabellen getroffen werden.
    Bspw. Alle Tabellen, die am Ende ihres Namens den String "_cTable" enthalten.

Content aside

  • Status Answered
  • vor 1 JahrZuletzt aktiv
  • 2Antworten
  • 65Ansichten
  • 3 Folge bereits