IF in Kombination mit SELECT
Hallo,
ich habe in einer TAbelle ein Ja/Nein Feld, auf das bei einer Funktionsberechnung in einer anderen Tabelle als "Schalter" für eine If-Schleife zurückgegriffen werden soll. Z. B.:
if (select 'Persönliche Daten')[Vorname = "Maurice"].'über 600 ccm' = 1 then
alert("Ja")
else
alert("Nein");
Aber egal, was ich im Feld "über 600 ccm" wähle (ob an oder aus), ich erhalte immer die gleiche Meldung, naämlich "nein", lasse ich das =1 weg, erhalte ich immer "Ja".
Wie gelingt mir eine IF-Schleife mit dem Feld "über 600 ccm" als Trigger.
Grüße
Maurice
4 Antworten
-
Hallo Maurice,
die select-Anweisung gibt einen Array zurück. Auch wenn du nur einen Datensatz mit dem Vorname Maurice hast, kann Ninox das erst nicht wissen. Ich würde es so versuchen:
---
alert(if first(select 'Persönliche Daten' where Vorname = "Maurice").'über 600 ccm' = true then "Ja" else "Nein")
---
Leo
-
Hallo Leo,
die alert Ausgaben hatte ich hingesetzt, um meinen Code zu kontrollieren. Eigentlich will ich so etwas machen:
if first(select 'Persönliche Daten' where Vorname = "Maurice").'über 600 ccm' = true then
let Hubraum := 1
else
let Hubraum := 0
endAber da bekomme ich keine Ausgabe. Ich will über die If-Abfrage eine neue Variable in ihrem Wert definieren.
Grüße
Maurice
-
Hallo Maurice,
wenn die Formel in einem Berechnungsfeld ist dann sollte es so aussehen:
---
if first(select 'Persönliche Daten' where Vorname = "Maurice").'über 600 ccm' = true then
1
else
0
end
---
oder
---
if first(select 'Persönliche Daten' where Vorname = "Maurice").'über 600 ccm' = true then
let Hubraum := 1
else
let Hubraum := 0
end;
Hubraum
---
Leo
-
Hallo Leo,
ja, ist in einem Berechnungsfeld. Und genau letzteres klappt nicht. Ninox fügt ein Komma und "void" nach den let-Befehlen ein.
Ich habe das jetzt ohne die neu deklarierten Variablen gelöst, was jedes Mals den ganzen first(select ...) Rattenschwanz erfordert.
switch Verkehrsmittel do
case 2:
switch first(select 'Persönliche Daten' where Vorname = "Maurice").'Kfz als Dienstfahrzeug' do
case true:
switch first(select 'Persönliche Daten' where Vorname = "Maurice").'über 600 ccm' do
case true:
'km Start-DG' * number((select 'Erstattungsbeträge')[Nr = 3].'Erstattung pro km')
default:
'km Start-DG' * number((select 'Erstattungsbeträge')[Nr = 4].'Erstattung pro km')
end
case false:
switch first(select 'Persönliche Daten' where Vorname = "Maurice").'über 600 ccm' do
case true:
'km Start-DG' * number((select 'Erstattungsbeträge')[Nr = 1].'Erstattung pro km')
default:
'km Start-DG' * number((select 'Erstattungsbeträge')[Nr = 2].'Erstattung pro km')
end
end
case 1:
'km Start-DG' * number((select 'Erstattungsbeträge')[Nr = 5].'Erstattung pro km')
default:
0
endGrüße
Maurice
Content aside
- vor 5 JahrenZuletzt aktiv
- 4Antworten
- 1954Ansichten