Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: braincrusha am 30.03.04 - 12:00:35

Titel: Berechnetes Feld
Beitrag von: braincrusha am 30.03.04 - 12:00:35
Mahlzeit....  ;D

also es ist kurz vor der Mittagspause und ich bin kurz davor meinen PC aus dem Fenster zu schmeißen...

Ich sitz grad an nem berechneten Feld (Zahl). Dieses soll gefüllt werden mit der Summe einzelner anderer Felder.

Es gibt 8 solche Felder (Zahlen) und ein weiteres Feld (Zahl) welches angibt wieviel dieser Felder er übernehmen soll.

Im Wert des ersten Feldes (dort wo das Ergebnis hinsoll) steht:

Summe = @If(Anzahl = 1; Feld1; Anzahl = 2; Feld1 + Feld2; Anzahl = 3; Feld1 + Feld2 + Feld3; Anzahl = 4; Feld1 + Feld2 + Feld3 + Feld4; Anzahl = 5; Feld1 + Feld2 + Feld3 + Feld4 + Feld5; Anzahl = 6; Feld1 + Feld2 + Feld3 + Feld4 + Feld5 + Feld6; Anzahl = 7; Feld1 + Feld2 + Feld3 + Feld4 + Feld5 + Feld6 + Feld7; Anzahl =  8; Feld1 + Feld2 + Feld3 + Feld4 + Feld5 + Feld6 + Feld7 + Feld8; Summe);

Bei dieser Formel steht in Summe: "FEHLER: Falscher Datentyp für Operator oder @Funktion: Zahl erwartet"

Bei:

FIELD Summe := @If(Anzahl = 1; Feld1; Anzahl = 2; Feld1 + Feld2; Anzahl = 3; Feld1 + Feld2 + Feld3; Anzahl = 4; Feld1 + Feld2 + Feld3 + Feld4; Anzahl = 5; Feld1 + Feld2 + Feld3 + Feld4 + Feld5; Anzahl = 6; Feld1 + Feld2 + Feld3 + Feld4 + Feld5 + Feld6; Anzahl = 7; Feld1 + Feld2 + Feld3 + Feld4 + Feld5 + Feld6 + Feld7; Anzahl =  8; Feld1 + Feld2 + Feld3 + Feld4 + Feld5 + Feld6 + Feld7 + Feld8; Summe);

schreit er schon im Designer: Kein Haupt- oder Auswahlausdruck in Formel: "

irgendjemand ne Idee?
Titel: Re:Berechnetes Feld
Beitrag von: koehlerbv am 30.03.04 - 12:09:42
Fall 1: In einem der Felder steht keine Zahl - das muss vor mathematischen Operationen sichergestellt sein. Dass alle Deine Felder Zahlenfelder sind, setze ich mal voraus.

Fall 2: Da gibt der Designer die korrekte Meldung aus - der Hauptausdruck fehlt. Abgesehen davon: Wäre dieser da, würde das gleiche passieren wie in Fall 1.

Bernhard
Titel: Re:Berechnetes Feld
Beitrag von: braincrusha am 30.03.04 - 12:17:01
Fall 1: In einem der Felder steht keine Zahl - das muss vor mathematischen Operationen sichergestellt sein. Dass alle Deine Felder Zahlenfelder sind, setze ich mal voraus.
[...]
Alle Felder haben eine Zahl selbst die die er ausser acht lassen sollte.

btw: In der Hilfedatei steht aber auch dass nummerische Felder welche keine Eingaben haben wie eine Null gehandhabt werden.
Titel: Re:Berechnetes Feld
Beitrag von: koehlerbv am 30.03.04 - 12:24:38
Fakt ist: Mindestens einer Deiner Werte ist keine Zahl. Und diese(n) musst Du suchen.

Wo Du das in der Doku gelesen hast mit "keine Eingabe = 0", ist mir schleierhaft. Feld1 (mit Zahl) + Feld2 (ohne Eingabe) ergibt den Dir wohlbekannten Fehler.

Bernhard

PS: Wenn Du mit @Sum (@Subset (...)) arbeitest, wird Dein Formelwust übrigens deutlich zusammengeschmolzen, und Du hättest Platz für @IsNumber  ;)
Titel: Re:Berechnetes Feld
Beitrag von: Driri am 30.03.04 - 12:31:56
Was passiert denn, wenn eins der Felder leer ist ? Oder sind alle Felder mit 0 vorbelegt ?
Titel: Re:Berechnetes Feld
Beitrag von: braincrusha am 30.03.04 - 12:59:43
"Addition operator

Finds the sum of two numbers.
Syntax

numExpr1 + numExpr2
Syntax
numExpr1 + numExpr2
Elements
numExpr1, numExpr2
Any numeric expressions. An EMPTY operand is considered a 0."

Da stand es *g*

hab grad über die Eigenschaften des Dokumentes nachgeschaut. Es haben alle Felder nummerischen Inhalt. Ich versuch es jetzt mal mit der @Sum (@Subset (...))-Funktion
Titel: Re:Berechnetes Feld
Beitrag von: braincrusha am 30.03.04 - 13:04:52
mit der @sum(@subset()) funktionierrt alles...

herzlichen Dank für die wiedermal extrem-schnelle Hilfe
Titel: Re:Berechnetes Feld
Beitrag von: koehlerbv am 30.03.04 - 13:05:37
Eben. EMPTY ist hier was anderes (nicht existent im Gegensatz zu "existent, aber leer").

@Subset etc. hilft Dir nur weiter, wenn Du die Ursache Deines bisherigen Problems gefunden hast, ansonsten passiert hier haarscharf das gleiche. Du hast definitiv einen Bug, und den musst Du erstmal finden.
Ist Anzahl überhaupt ein Zahlenwert ?

Bernhard
Titel: Re:Berechnetes Feld
Beitrag von: MadMetzger am 30.03.04 - 13:07:43
Aber ein leeres Feld ist eine Zeichenkette, so dass er einen Wert bekommt, mit dem er nicht umgehen kann.
Am einfachsten belegt man alle Felder mit 0 vor, dann verschwindet die Fehlermeldung.
Titel: Re:Berechnetes Feld
Beitrag von: koehlerbv am 30.03.04 - 13:09:47
Was ich eben gerade noch sehe:
Code
Summe = @If(Anzahl = 1; ...

Du führst hier ja einen Vergleich durch und keine Zuweisung !
Summe := ....;
Summe
wäre korrekt für ein berechnetes (Zahlen-)Feld, nicht aber Deine Vergleichsoperation.

Bernhard
Titel: Re:Berechnetes Feld
Beitrag von: braincrusha am 30.03.04 - 13:22:22
ja hatte es auch bemerkt aber funktioniert auch so nicht...

@Sum (@Subset (Manntage1 : Manntage2 : Manntage3 : Manntage4 : Manntage5 : Manntage6 : Manntage7 : Manntage8; Anzahl))

funktioniert aber leider nur teilweise... bis jetzt weiß ich nciht wann es funktioniert und wann nicht.. ich meld mich sobald ich mehr weiß