Dezimalfeld einblenden

Grundsätzliche Themen zur Bedienung, Erstellung von Formularen, Datenbankanbindung und Beispiele ...
Antworten
FormAT
Beiträge: 101
Registriert: 08.10.2008, 11:07

Dezimalfeld einblenden

Beitrag von FormAT » 13.11.2010, 15:50

Hallo Forumsteilnehmer,

wär hat eine Lösung für mich?

Ich habe in einem Formular 2 Dezimalfelder

(Feld1 u. Feld2) eigefügt. Nun möchte ich das Feld2 erst dann eingeblendet

wird bzw. eine Eingabe möglich ist, wenn im Feld1 der Wert 2,50 und Höher

eingeben wird.
 
Leider habe ich von Skripten keine Ahnung.


MfG

FormAT

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Dezimalfeld einblenden

Beitrag von nele_sonntag » 14.11.2010, 00:09

"...Leider habe ich von Skripten keine Ahnung...." = Das ist schlecht :-)

Arbeite mal die Musterformulare in der Hilfe durch, da wird alles Schritt-für-Schritt erklärt. Auch die Rubrik Musterformulare hier im Forum ist recht hilfreich. Ich habe selbst sogar mal eine detaillierte Anleitung online gestellt.

http://acronaut.de/view_topic.php?id=1108&forum_id=35&highlight=Dummies
http://acronaut.de/view_topic.php?id=1107&forum_id=18&highlight=Dummies
  • lege Deine beiden Felder an, bspw. feld_1 und feld_2
  • feld_2 stellst Du unter Objekt auf "Ausgeblendet aus dem Layout"
  • in das EXIT-Ereignis von feld_1 schreibst Du folgenden Code
  • den Skripteditor blendest Du übrigens über Fenster ein.

Code: Alles auswählen

//wenn (dieser Wert größer 2,49 ist)
if(this.rawValue > 2.49)
{
//dann lasse feld_2 erscheinen
feld_2.presence="visible";
//ansonsten
}else{
//lasse es verschwinden
feld_2.presence="hidden";
}
Das war es schon.

LG Mandy

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

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Dezimalfeld einblenden

Beitrag von nele_sonntag » 15.11.2010, 15:46

Hallo FormAT,

danke für Deine Email.

Was ich nicht ganz verstehe. Warum ist Dein Feld Gesamtergebnis Schreibgeschützt und woher bezieht es seinen Wert? Denn selbst, wenn ich den Schreibschutz wegnehme, lässt sich kein Wert eintragen? Das müsstest Du mir noch mal mitteilen, denn die ganzen 3 vorigen Seiten kann ich nicht durchsuchen und im calculate-Ereignis steht nichts.
Habe mir Dein PDF angesehen.
  1. Als Scriptsprache hättest Du schon einmal Javascript einstellen müssen.
  2. Das Formular muss als dynamisch abgespeichert werden, was, glaube ich, bei Dir nicht mehr geht, außer Du importierst es neu. Meines Wissens funktioniert es nur, wenn es als dynamisch abespeichert wird.
  3. Was Du noch versuchen könntest, ist, nicht das Feld als solches einzublenden, sondern nur dann Schreibrechte zu erlauben, wenn der Wert höher als 2,5 ist. Das müsste meines Wissens nach auch bei statischen Formularen funktionieren.
  4. Dafür statt presence access verwenden. In das topmost Initialze-Ereignis das Feld EuroWert von Anfang an schreibgeschützt setzen und nur öffnen, wenn der Wert größer 2,5 ist.

Code: Alles auswählen

//wenn (dieser Wert größer 2,49 ist)
if(this.rawValue > 2.49)
{

//dann mache das Feld EuroWert beschreibbar
topmostSubform.Page4.EuroWert.access="open";

//ansonsten
}else{

//setze es auf schreibgeschützt
topmostSubform.Page4.EuroWert. access="readOnly";
}
LG Mandy

FormAT
Beiträge: 101
Registriert: 08.10.2008, 11:07

Dezimalfeld einblenden

Beitrag von FormAT » 15.11.2010, 18:03

Hallo Mandy,

danke für Deine schnelle Antwort.

Leider funktioniert es immer noch nicht. Muss im Script nicht auch Bezug auf das Feld "Gesamtergebnis" genommen werden???? Denn dort erscheint ja der Wert nach Eingaben auf den Seiten 1 + 2.

Ich habe das Formular mit MS-Word vorbereitet und dann mit dem LCD 8.2 die Eingabefelder erzeugt. Somit läßt sich das Formular nur statisch wegspeichern.

Das Feld "Gesamtergebnis" auf Seite 4 (Bindung-Global) erhält das Ergebnis von

Seite 3 Spalte D "Gesamtergebnis. Dort ist unter "Calculate" eine Formel hinterlegt. Die Ermittlung der Gesamtpunktzahlen werden durch die Eingaben auf den Seiten 1+2 erzielt.

Wenn nun im Eingabefeld "Gesamtergebnis" die Gesamtpunkte von 2,49 überschritten wird, sollte die Möglichkeit einer Eingabe in Spalte "L" ermöglicht werden.

Ich möchte damit vermeiden, dass der SB versehentlich eine Berechnung vornehmen kann. Darum erst die Einblendung ab 2,50.

Viele Grüsse - FormAT

Antworten