Ersetzungen in Textfeldern
Hallo,
ich bin neu auf NINOX gestoßen und wollte mal nachhören, ob es möglich ist Ersetzungen durchzuführen. Beispiel: Ich habe aus einer anderen Datenquelle ein Feld Zutaten, in dem folgendes steht:
Wasser, Saccharose, Pflanzenfett
Jetzt möchte ich, dass Saccharose in einem neu generierten Feld ersetzt wird durch Zucker. In dem Feld soll also stehen
Wasser, Zucker, Pflanzenfett
Das ist nur ein einfaches Beispiel. In der Praxis, wären dass dann vielen vorab festgelegte Ersetzungen, die dort stattfinden sollen.
4 Antworten
-
Hallo Sven,
'neues Feld' := replace(Zutaten, "Saccharose", "Zucker")
wäre der entsprechende Code zu Deinem Beispiel - wo dieser zum Einsatz kommt (Befehlsschaltfläche, Massendatenänderung, Änderungstrigger, ...) hängt davon ab, wie und wann Du die Aktion stattfinden lassen möchtest und bleibt Dir überlassen...
lg, Torsten
-
Axo,
wenn's mehrere Ersetzungen werden, würde ich diese verschachteln, z.B.:
'neues Feld' := replace(replace(Zutaten, "Saccharose", "Zucker"), "Wasser", "H2O")
lg, Torsten
-
Danke. Das hilft schon weiter. Am liebsten würde ich die Änderung automatisch haben. Also, wenn sich ein Datensatz ändert oder einer dazu kommt nachdem ich eine Export (.csv) meiner anderen Datenquelle importiert habe.
gruß sk
-
Hallo Sven,
beim Ändern des Datensatzes ist kein Problem - den Code einfach bei "Nach Änderungen folgendes Skript ausführen:" entweder bei den Feld- oder den Tabelleneigenschaften platzieren. Aber Achtung: beim CSV-Import in die Tabelle werden die Änderungstrigger nicht berücksichtigt, da hilft nur eine Befehlsschaltfläche oder Consolen-Script nach Import.
Falls es tatsächlich recht viele potentielle Ersetzungen gibt, wäre evtl. sogar eine Tabelle 'Ersetzungen' mit zwei Textfeldern 'Zutat' und 'Ersatz' sinnvoll. Diese könnte man quasi dynamisch pflegen und dann dieses Skript nehmen:
let my := this;
for i in (select Ersetzungen) do
replace(my.Zutaten, i.Zutat, i.Ersatz)
end
Die Variante würde ich aber tatsächlich beim Feld 'Zutaten' als Änderungstrigger direkt unterbringen, nicht das Ninox bei jeglicher Änderung im Datensatz durch die Tabelle 'Ersetzungen' rennt.
lg, Torsten
Content aside
- vor 4 JahrenZuletzt aktiv
- 4Antworten
- 670Ansichten