Problem mit Trigger (Befehl create)
Hallo! Ich habe in einer Tabelle1 bei einem Multiple choice-Feld die Möglichkeiten A, B, C angegeben.
Außerdem habe ich eine Tabelle2.
Als trigger bei Multiple Choice in Tabelle 1:
let a := (create 'Tabelle2');
if contains('Text('Multiple Choice')', "A") then
a
end
Mein Problem ist, dass a passiert, also ein neuer Eintrag in Tabelle 2 entsteht, auch wenn A bei Multiple Choice nicht gewählt wurde. Kann mir jemand sagen wo das Problem im Code ist?
Danke im vorhinein
Lg Elena
5 Antworten
-
Hallo Elena,
der Fehler liegt an der Reihenfolge Du erstellst einen neuen Datensatz mit create() bevor du die Prüfung machst:
---
if contains('Text('Multiple Choice')', "A") then
let a:=create Tabelle2---
Leo
-
Hallo Leo,
super, danke für die schnelle Antwort !!!
LG
-
Hast du vielleicht auch einen Tipp für mich, wie ich verhindern kann, dass a mehrmals passiert?
Wenn ich zum Beispiel A auswähle, passiert a. Wenn ich dann zusätzlich B auswähle, passiert a erneut.
LG
-
Hallo Elena,
das ist bei Mehrfachauswahlfelder nicht do trivial. Man kann ein verstecktes Textfeld namens CHECK hinzufügen. und dann als Trigger nach Änderung:
let myChosen:=chosen('Multiple Choice');
let myArr:=for i in myChosen do
if not contains(CHECK,i) then i end
end;
if contains(concat(myArr), "A") then
let a:=create Tabelle2 else
if contains(concat(myArr), "B") then
let a:=create Tabelle3 else
if contains(concat(myArr), "C") then
let a:=create Tabelle4
end
end
end;
CHECK:=concat(myChosen)----
so prüft Ninox bei jedem Auswahl ob was neues dazu gekommen ist und falls JA erstellt entsprechende Tabellendatensätze. Problematisch wird es, wenn du eine Auswahl anklickst, dann wieder nullst und wieder anklickst. Es wird dann wieder einen neuen Datensatz erstellt.
Leo
-
Hallo Leo,
vielen dank für die detaillierte Antwort, die hat mir sehr geholfen!
Lg Elena
Content aside
- vor 4 JahrenZuletzt aktiv
- 5Antworten
- 884Ansichten