Stimmt nicht mit dem Format überein

Die Möglichkeiten und Tücken von Formularen
Antworten
super-simon
Beiträge: 11
Registriert: 07.05.2018, 08:31

Stimmt nicht mit dem Format überein

Beitrag von super-simon » 23.08.2018, 15:05

Hallo,
ich hoffe ihr könnt mir helfen.

Bei meinem Formular (siehe Anlage) kommt die Fehlermeldung: Der eingegebene Wert stimmt nicht mit dem Format des Feldes überein [Teilnehmerbeitrag]

Ich glaube der Fehler liegt darin, dass wenn im Feld 'Teilnehmerbeitrag' bei der ganzen Berechnung 0,00€ rauskommt, dass das irgend wie ein Problem ist.
Allerdings kann da gerne 0,00€ stehen.
Den Fehler könnt ihr erzeugen, wenn ihr im Feld 'SonstigerAufwand' die 50€ in 40€ ändert. Dann kommt eben genau 0€ bei 'Teilnehmerbeitrag' raus.

Was kann ich meinem Dokument erzählen, damit es funktioniert?
Oder liegt der Fehler evtl. ganz wo anders?

Vielen Dank schon mal.
Gruß
Simon
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

BAlheit
Beiträge: 834
Registriert: 16.08.2013, 12:22

Re: Stimmt nicht mit dem Format überein

Beitrag von BAlheit » 23.08.2018, 16:14

Diese Meldung tritt meistens dann auf, wenn durch den Wert 0 geteilt wird.
Die Meldung lässt sich vermeiden, wenn man die Berechnung in JavaScript durchführt und diesen Fall abfängt.

Bernd Alheit

super-simon
Beiträge: 11
Registriert: 07.05.2018, 08:31

Re: Stimmt nicht mit dem Format überein

Beitrag von super-simon » 24.08.2018, 15:33

Hallo Bernd,

vielen Dank für Deine Antwort.

Das scheint tasächlich das Problem zu sein.
Ich hab das zwar vorher auch schon gelesen, aber ich glaube die Lösungn ist tatsächlich die Berechnung nicht mit der "vereinfachten Feldbezeichnung" zu machen sondern mit einem Java Scrip.

Und da waren sie wieder meine drei Probleme...

Mein Problem ist denke ich, dass im ungünstigen Fall meine Variablen a + b + c + d + e - f - g - h - d = 0 ergben. Und diese Null soll dann durch die Teilnehmerzahl geteilt werden. Und das funktioniert gerde noch nicht.
Wie könnte das Script aussehn?

Vielen Dank

Gruß
Simon

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Re: Stimmt nicht mit dem Format überein

Beitrag von armine » 24.08.2018, 18:26

Hallo Simon,

wenn man bei "Anzahl B.:" auch Buchstaben eingeben oder das Feld auch leer lassen kann, dann hast du Grundlegendes versäumt. Da hilft es auch nicht, wenn du "Teilnehmerbeitrag" statt "Teilnehmer" mit Werten von 1 bis 50 validierst.

vg armine
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

super-simon
Beiträge: 11
Registriert: 07.05.2018, 08:31

Re: Stimmt nicht mit dem Format überein

Beitrag von super-simon » 29.08.2018, 09:42

Hallo armine,
danke das Du Dir die Zeit genommen hast Dich mit dem Problem zu beschäftigten.
Es ist so, dass das Dokument eigentlich aus mehreren Seiten besteht und das das Feld "Anzahl B." auf einer vorrigen Seite eingegeben wird und dann auf diese Seite übertragen wird. Deswegen gibt es dort keine Formatierung.

Nach vielen Probieren und großem Kopfzerbrechen habe ich den Fehler beseitigt. Leider kann ich jetzt nicht sagen: "Das Script war die Lösung."
Die Ursache war in jedem Fall die Null. Da wo eine Null das Ergebnis war und mit diesem Wert weiter gerechnet werden sollte kam der Fehler.
Ich habe mir dann noch mal ein Dummi Dokument gebaut, wo alle Rechnungen vereinfacht auch noch mal drin waren. Komischer weise hat es da funktioniert, auch wenn Null das Ergebnis war.
Ich fürchte mein Dokument ist inzwischen so verbaut, dass es schwer ist die Ursache zu finden.
Die Berechnung mit JavaScript, die Bernd angesprochen hat würde mich allerdings denoch interessiern. Weil ich auch glaube, dass darin die Lösung liegt. Aber da habe ich leider nichts gefunden.
Gruß
Simon

BAlheit
Beiträge: 834
Registriert: 16.08.2013, 12:22

Re: Stimmt nicht mit dem Format überein

Beitrag von BAlheit » 29.08.2018, 11:23

Die Berechnung mit JavaScript müsste folgendermaßen erfolgen:

Code: Alles auswählen

var val = Number(this.getField("Teilnehmer").valueAsString);
if (val > 0) {
  event.value = ( Number(this.getField("Fahrtkosten").valueAsString)
		  + Number(this.getField("Verpflegung").valueAsString)
		  + Number(this.getField("Eintritt").valueAsString)
		  + Number(this.getField("Versicherungen").valueAsString)
		  + Number(this.getField("SonstigerAufwand").valueAsString)
		  - Number(this.getField("Spenden").valueAsString)
		  - Number(this.getField("Budget").valueAsString)
		  - Number(this.getField("Essengezu").valueAsString)
		  - Number(this.getField("Versicherungen").valueAsString)) / val;
} else {
  event.value = "";
}

Antworten