AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
22.04.19 - 16:36:04
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino 8
| |-+  ND8: Entwicklung (Moderatoren: Axel, Thomas Schulte, koehlerbv)
| | |-+  Berechnete Felder und arithmetische Operationen
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Berechnete Felder und arithmetische Operationen  (Gelesen 562 mal)
booltrue
Frischling
*
Offline Offline

Beiträge: 30


« am: 22.02.19 - 10:41:48 »


 Huh
Ich versuche den Wert eines berechneten Feldes durch eine Zahl zu dividieren
und das Ergebnis einem anderen berechneten Feld zuzuweisen.
Wie ist hier die korrekte Vorgehensweise?
Ich versuche das bei Vorgabewert zu machen,  bekomme aber immer eine Fehlermeldung "falscher Datentyp für Operator oder @Funktion: Zahl erwartet", egal was ich auch versuche.







« Letzte Änderung: 22.02.19 - 11:27:09 von booltrue » Gespeichert
Peter Klett
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 2586



« Antworten #1 am: 22.02.19 - 10:47:25 »

Berechnete Felder haben keinen Vorgabewert.

Feld1, Berechnet, Wert: 5
Feld2, Berechnet, Wert: Feld1 / 2

Feld2 muss unterhalb von Feld 1 stehen (oder rechts daneben)
Gespeichert
booltrue
Frischling
*
Offline Offline

Beiträge: 30


« Antworten #2 am: 22.02.19 - 10:54:10 »


Sorry mein Fehler, hab' etwas ausprobiert und das Feld auf "bearbeitbar" gesetzt.

Ich mache das wie du schon geschrieben hast.
Beide Felder sind in einer Tabelle und Feld2 steht rechts neben Feld1
Beide Felder sind berechnete Felder, Typ:Zahl.
Feld1 hat auch einen Wert.

Bekomme aber immer eine Fehlermeldung "falscher Datentyp für Operator oder @Funktion: Zahl erwartet"



« Letzte Änderung: 22.02.19 - 11:26:39 von booltrue » Gespeichert
it898ur
Senior Mitglied
****
Offline Offline

Beiträge: 460


« Antworten #3 am: 22.02.19 - 11:59:47 »

Dann ist der Wert im ersten Feld vom Typ "Text" o.ä. und kann daher nicht als zahl verwendet werden (der Feldname steht hoffentlich ohne Anführungsstriche in der Formel?)

Gruß

André
Gespeichert
booltrue
Frischling
*
Offline Offline

Beiträge: 30


« Antworten #4 am: 22.02.19 - 12:11:23 »


Beide Felder sind vom Typ:Zahl
In Feld1 steht auch ein Wert.
Der Feldname steht ohne Anführungszeichen in der Formel.

Code:
Feld1, Berechnet, Wert: 5
Feld2, Berechnet, Wert: Feld1 / 2

Feld1, Berechnet, Wert: 5
Feld2, Berechnet, Wert: Feld1

Ohne arithmetische Operation (+,-,*,/) funktioniert es ja.

auch das funktioiniert nicht:
v:= Feld1 / 2;
@TextToNumber(v)

so funktioniert es:
v:= Feld;
@TextToNumber(v)


« Letzte Änderung: 22.02.19 - 12:57:52 von booltrue » Gespeichert
ronka
Aktives Mitglied
***
Offline Offline

Beiträge: 219


Was macht der hier denn, muß der überall sein ?


WWW
« Antworten #5 am: 22.02.19 - 13:10:02 »

Wenn das feld im bearbeitungsmodus ist, ist dessen inhalt IMMER Text, egal von welches Typ der ist.

Wenn ich also in BEARBEITUNGSMODUS damit arbeiten möchte und etwas berechnen, muss es umgewandelt werden in ein Zahl

@TextToNumber kann das machen.

Berechnete Felder (oder aktionen die ein feld füllen), sollten damit IMMER kontrollieren ob das Feld was heran gezogen wird ein Text oder ein Zahl beinhaltet.

Sehe die funktionalität von @IsNumber und @IsError mal genauer an, das könnte helfen. @If ist hier auch sehr sinnvoll einzusetzen.
Gespeichert

das neueste von Domino 10 auf den AdminCamp in September -> www.AdminCamp.de
booltrue
Frischling
*
Offline Offline

Beiträge: 30


« Antworten #6 am: 22.02.19 - 13:24:29 »


Danke, das hat zur Lösung geführt!

Hab' nur auf den Output geschaut, der dem Feld2 zugewiesen wir, daß dieser eine Zahl ist,
nicht jedoch auf Feld1, das, wie du schon sagtest, tatsächlich keine Zahl ist, trotz des Feldtyps:Zahl,
sondern ein Text.

So geht es:
Feld1, Berechnet, Wert: 5
Feld2, Berechnet, Wert:  @TextToNumber( Feld1 )/2;

Danke!

Das stimmt aber anscheinend nicht für alle Feldtypen.
Ich habe jetzt ein weiteres Feld3, Typ:Zahl und Bearbeitbar hinzugenommen.
Folglich sollte diese Anweisung dann richtig sein:

Feld0, Bearbeitbar, Typ:Zahl, Wert 3
Feld1, Berechnet, Typ:Zahl, Wert: 5
Feld2, Berechnet,  Typ:Zahl, Wert:  (@TextToNumber( Feld1 )/2)*@TextToNumber(Feld0);
funktioniert aber nicht.

so geht es aber:
Feld2, Berechnet,  Typ:Zahl, Wert:  (@TextToNumber( Feld1 )/2)*Feld0;



« Letzte Änderung: 22.02.19 - 13:34:07 von booltrue » Gespeichert
Peter Klett
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 2586



« Antworten #7 am: 24.02.19 - 20:39:04 »

Du kannst auch @TextToNumber (@Text (Feld)) nehmen, dann wird Feld immer erst in Text umgewandelt wird, bevor es zurück zu einer Zahl wird.

Alternativ geht auch dieses, dann fackelst Du auch leere Werte ab:

_tmp := @TextToNumber (@Text (Feld));
_zahl := @If (@IsError (_tmp); 0; _tmp)
Gespeichert
booltrue
Frischling
*
Offline Offline

Beiträge: 30


« Antworten #8 am: 25.02.19 - 10:49:04 »


Ok, danke dir.

Grüße

Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: