Mit einer Funktion ifSmallerAs/ifGreaterAs werden zwei Variablen (Zahlenfelder) eines Customformulars verglichen und ein Score (0/1) erzeugt, der über das ifKommando definierte Texte ausgibt. Der Text soll nur dann ausgegeben werden, wenn R1 befüllt  ist, und den Wert R2 um 30% unterschreitet.

FUNCTION('(0.69*$[R2]$)', 'ifSmallerAs:yes:no:', 'R1', '0', '1')

Leider wird bei beiden Kommandos der Wert auch erzeugt, wenn beide Zahlenfelder (R1/R2) gleich groß sind.

Auch wenn man definiert, das R2 immer größer als „0“ ist

FUNCTION('0.69*(1+$[R2]$)', 'ifSmallerAs:yes:no:', 'R2', '0', '1')

ändert sich nichts.

Läßt sich das irgendwie anders lösen?

Ich habe bislang nur die Möglichkeit, indem im Zahlenfeld R1 eine Vorbefüllung eingesetzt wird, die immer den zu erwartenden Wert im Feld R2 übertrifft, was aber in der Formularansicht verwirrt.
Gefragt von (30.7k Punkte)
0 Punkte

1 Antwort

Hallo Frau Wieder,

Auch wenn Sie Ihre Antwort gelöscht haben, hier die Erklärung. Es liegt nicht daran, dass bei der zweiten Variablen die eckige Klammer fehlt. Anstatt der Variablen kann man auch Zahlen oder Scores mit dem Kommando vergleichen. Ich nutze es um Zahlenwerte, die bei Messungen erzeugt werden, auszulesen und damit automatisierte Befundberichte zu erzeugen. Das klappt bei mir ganz wunderbar. Jetzt muss ich nur noch herausfinden, wie die Zahlenwerte von den Meßgeräten über die GDT Verbindung an die entsprechenden Variablen in die Formulare übergeben werden können, dann spare ich mir und meinen MFA das händisch einzupflegen.

Mittlerweile habe ich durch Tüfteln das ursprüngliche Problem gelöst.

FUNCTION('0.69*$[R2]$', 'ifSmallerAs:yes:no:', 'R2+1', '0', '1')

Damit funktioniert es dann wie gewünscht.
Beantwortet von (30.7k Punkte)
Bearbeitet von
0 Punkte
16,077 Beiträge
23,838 Antworten
41,958 Kommentare
11,648 Nutzer