0

select, und weitere Berechnung

Achtung absoluter Neuling!

Ich habe folgende Tabellen und Felder angelegt:

1. Tabelle Ziele: Felder Orte und Entfernung
Datensätze: Berlin - 300km, Bonn - 10km, Hamburg - 5km

2. Fixwerte: Felder Bezeichnung und Größe
Datensatz: Entfernung - 10km

In der Tabelle Ziele wollte ich noch ein Feld (Formel) Aufwand einfügen. Die Werte wollte ich wie folgt ermitteln:

let Ef1 := (select Fixwerte where Bezeichnung = "Entfernung").'Größe';
if Entfernung <= 10 then
    1
else
    Entfernung/Ef1
end

Leider bekomme ich immer einen Fehler: "Falscher Operator in Zeile 6"

Kann irgendwer einem absoluten Anfänger helfen?

2 Antworten

null
    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Ralf. Die Variable Ef1 liefert duch das select() ein Array - in Deinem Fall ein [number]-Array. Selbst dann, wenn es nur einen Treffer gibt, ist der Typ weiterhin ein Array. Das warnt auch auch der Scripteditor, da Du ja eine Zahl nicht durch ein Array dividieren kannst. Füge in der Zeile 1 noch first() ein, dann sollte es gehen. Mirko

    let Ef1 := first((select Fixwerte where Bezeichnung = "Entfernung").'Größe');
    if Entfernung <= 10 then
        1
    else
        Entfernung/Ef1
    end
    
      • Ralf_Grotschel
      • vor 1 Jahr
      • Gemeldet - anzeigen

       

      Hallo Marko! Vielen Dank! Es funktioniert!