Berechnung mit Maximalwert

Grundsätzliche Themen zur Bedienung, Erstellung von Formularen, Datenbankanbindung und Beispiele ...
Antworten
strehle
Beiträge: 3
Registriert: 18.09.2007, 15:43

Berechnung mit Maximalwert

Beitrag von strehle » 18.09.2007, 17:26

Hallo zusammen,

vielleicht kann mir jemand helfen. Bin absoluter Laie und komme einfach nicht weiter.

Ich mache ein Formular mit verschiedenen Berechnungen.

Man gibt im oberen Bereich eine Heizleistung ein, die dann auf einzelne Monate verteilt werden.

Aus diesem wird ein Durchnitt errechnet welcher Ausgegeben wird.


Daraufhin kann man sich ein Gerät in der passenden Größe aussuchen.

Jetzt soll eine Berechnung geschehen.
Berechnet wird:


Monatsleistung /  GrößeGerät

Erstes Problem ist das mir gesagt wird, wenn ich das Formular öffne das man nicht durch Null teilen kann.

Zweites Problem der maximalwert darf nur 744 sein, d.h. wenn eine größere Zahl als Ergebniss kommt soll 744 angezeigt werden.

Also wenn Wert >744 dann Ausgabe 744

Wenn    /0 dann Ausgabe 0


Desweiteren möchte ich oben auf der ersten Seite ein Projektname haben, wie Name etc. der dann auf der Zweiten Seite auch erscheinen soll. Danach habe ich noch nicht geforscht wie das geht, aber wenn zufällig das jemand weiß, kann er das ja dazu schreiben.

Freue mich auf Antworten

Grüße

Karsten







acronaut
Beiträge: 693
Registriert: 14.09.2006, 21:32
Kontaktdaten:

Berechnung mit Maximalwert

Beitrag von acronaut » 19.09.2007, 11:55

Hi,

also für Deine Themen gibt es mehrere Lösungen:
  1. Textfeld erstellen => Gibt Fehlermeldung aus und korrigiert nicht selbständig
  2. [list]
  3. Format => Zahl
  4. Validierung => Feldwert ist im Bereich...
[*]Textfeld erstellen => korrigiert stelbständig, aber nur, wenn man danach ein weiteres feld hat, das aktiviert wird
[/*]
  •  Aktionen
  • [list]
  • Auslöser: "Feld deaktivieren"
  • Aktion: "JavaScript ausführen"
  • JavaScript: 
[/list][/list]

Code: Alles auswählen

var Zahl = getField("Text1").value;
if (Zahl >= 745)
{
getField("Text1").value = "744";
};
Mit der Geschichte mit Division durch "0" musst Du das halt nur entsprechend umformen.

Auf den Projektnamen, den Du auf Siete 1 einfügst in ein Textfeld mit beispielsweise dem Namen "Text1" kannst  Du auf jeder anderen Seite folgendermaßen zugreifen.
Weiteres Textfeld erstellen (in unserem Beispiel "Text2"), unter Berechnung ein benutzerdefiniertes Berechnugsscript anlegen: 

Code: Alles auswählen

getField("Text2").value = getField("Text1").value;
Hoffe, das hilft schon mal weiter.

Gruß,
Andreas Vogel

strehle
Beiträge: 3
Registriert: 18.09.2007, 15:43

Berechnung mit Maximalwert

Beitrag von strehle » 19.09.2007, 16:29

Hallo

Vielen Dank erstmal aber ich raffe das gerade nicht wirklich. Ich glaube ich bin gerade zu dumm dazu oder ich sitze schon zu lange davor und sehe den Wald vor lauter Bäumen nicht.

Manchmal sind Sachen ja ganz einfach, aber man sieht Sie nicht.

Ich stelle einfach mal im Anhang das rein was ich bis jetzt gemacht habe.
Wenn es mir dann jemand erklären kann wie ich vorgehen muß, das wäre ziemlich cool.

Vielen Dank


Grüße

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

acronaut
Beiträge: 693
Registriert: 14.09.2006, 21:32
Kontaktdaten:

Berechnung mit Maximalwert

Beitrag von acronaut » 02.10.2007, 20:21

Hi Karsten,

jetzt verstehe ich auch, warum Dir nicht ganz klar war was ich da geschrieben habe. Diese "Anleitung" war für die reinen Acrobat Formularfunktionen. Du erstellst Dein formular aber im LiveCycle Designer (falscher Forumsbereich hab die Diskussion von daher umgelegt)

Nun zu den Fragen:

1. Projektname ist der gleiche auf allen Seite:

Du selektierst die einzelnen Felder nacheinander und vergibst für alle im Objekteigenschaften Fenster unter "Bindung" den gleichen Namen. Bindung dann auf "Global" umstellen. Schon steht in allen Feldern das gleiche drin. Du hast allerdings irgendwo tatsächlich das Script eingefügt, das ich Dir im vorherigen Post geschrieben habe. Sehe das nur in der Fehlermeldung und kanns nicht finden. Das muss unbedingt wieder raus.

2. Validierung der Eingabe/Berechnung:
Du selktierst das Feld an, das diesen max. Wert von 744 haben soll, dann kannst Du auch ungefähr die gleiche Funktion verwenden wie ich sie vorher angegeben habe. Nur die Identifikation des Feldes läuft da ein bisschen anders.

Anstatt
getField("Feldname").value
musst Du Dich in der Baumstruktur nach unten hangeln:
Formular1. Unterformular1.Feldname1.rawValue

Ich hab Dir das mal in einer leeren Datei zusammengestellt.
Du musst dafür unter "Fenster" den "Script Editor" öffnen, dann uaf das numerische Feld klicken und das ereignis "validate" auswählen. Wenn Du dann noch rechts oben am Script Editor die Sprache auf JavaScript umstellst, dann siehst Du den Code.

Gruß,
Andfreas Vogel




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

strehle
Beiträge: 3
Registriert: 18.09.2007, 15:43

Berechnung mit Maximalwert

Beitrag von strehle » 09.10.2007, 11:21

Hallo

vielen Dank für die Lösung.

Ich hatte mir auch schon eine Lösung ausgedacht und zwar calculate formcalc:

Januar / BHKWGröße

if ( Januar / BHKWGröße > 745 ) then

 JanuarStunden = 744
 
elseif ( Januar / BHKWGröße < 745 ) then

 JanuarStunden = Januar / BHKWGröße
 
endif

Bei der BHKWGröße Auswahl sind halt die Schaltflächen an und somit gibt es kein /0


Grüße

Karsten

Antworten