Autor Thema: Berechnete Felder und arithmetische Operationen  (Gelesen 6033 mal)

Offline booltrue

  • Frischling
  • *
  • Beiträge: 42
Berechnete Felder und arithmetische Operationen
« am: 22.02.19 - 10:41:48 »

 ???
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 »

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Berechnete Felder und Division
« Antwort #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)

Offline booltrue

  • Frischling
  • *
  • Beiträge: 42
Re: Berechnete Felder und arithmetische Operationen
« Antwort #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 »

Offline it898ur

  • Senior Mitglied
  • ****
  • Beiträge: 478
Re: Berechnete Felder und arithmetische Operationen
« Antwort #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é

Offline booltrue

  • Frischling
  • *
  • Beiträge: 42
Re: Berechnete Felder und arithmetische Operationen
« Antwort #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 »

Offline ronka

  • Senior Mitglied
  • ****
  • Beiträge: 377
  • Was macht der hier denn, muß der überall sein ?
    • das nächste DominoCamp kommt in Juni 2023
Re: Berechnete Felder und arithmetische Operationen
« Antwort #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.
das neueste von Notes und Domino auf den DominoCamp vom 19 bis 21 Juni 2023 auf www.DominoCamp.de

Offline booltrue

  • Frischling
  • *
  • Beiträge: 42
Re: Berechnete Felder und arithmetische Operationen
« Antwort #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 »

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Berechnete Felder und arithmetische Operationen
« Antwort #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)

Offline booltrue

  • Frischling
  • *
  • Beiträge: 42
Re: Berechnete Felder und arithmetische Operationen
« Antwort #8 am: 25.02.19 - 10:49:04 »

Ok, danke dir.

Grüße


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz