Optionsfelder

Sammlung von Vorlagen und Hilfestellungen
Kasperle13
Beiträge: 3
Registriert: 29.03.2011, 11:26

Optionsfelder

Beitrag von Kasperle13 » 29.03.2011, 12:54

Hallo,
ich habe folgendes Problem ich habe zum Beispiel 3 Optionsfelder eingefügt. Wenn feld 1 angeklickt wird soll ein Wert aus einem anderen feld X 1 genommen werden wird Optionsfeld 2 Angeklickt soll aus dem anderen Feld der Wert X 2 genommen werden. und so weiter bekomme das nicht hin immer rechnet das Programm nur 1 Wert also klicke ich optionsfeld 1 an rechnet dieser klicke ich optionsfeld 2 an rechnet er nichts der wert beu Euro bleibt 0

Danke für Eure schnelle Hilfe

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

Optionsfelder

Beitrag von nele_sonntag » 29.03.2011, 14:29

Hallo,

schaue doch mal hier. habe eine Schritt-für-Schritt-Anleitung geschrieben. Was Du letzten Endes bei der Auswertung, ob ein OK angeklickt ist oder nicht ist, machst, ist egal. Hier werden Objekte ein-, ausgeblendet.

http://www.acronaut.de/view_topic.php?id=506&forum_id=34&jump_to=3514#p3514

In deinem Fall würdest Du einem Textfeld einen Wert zuweisen.

Code: Alles auswählen

if(Name_des_die_OK_umgebenden_Teilformulares.rawValue=="1"){

Textfeld1.rawValue = "Wert 1";}

if(Name_des_die_OK_umgebenden_Teilformulares.rawValue=="2"){

Textfeld1.rawValue = "Wert 2";}
LG Mandy

Benutzeravatar
Merklin
Beiträge: 1857
Registriert: 04.04.2009, 17:03

Optionsfelder

Beitrag von Merklin » 29.03.2011, 16:37

Hallo,

ich glaube Kasperle13, meint das mehr so.

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

Kasperle13
Beiträge: 3
Registriert: 29.03.2011, 11:26

Optionsfelder

Beitrag von Kasperle13 » 29.03.2011, 17:02

Ja genau Merklin das habe ich gemeint.

Nun möchte ich aber wenn die 2 angeklickt wird 12 % Rabatt geben wenn die 3 angeklickt wird 15 % Rabatt.

Geht das Auch

Danke für die bisherige Hilfe.

Benutzeravatar
Merklin
Beiträge: 1857
Registriert: 04.04.2009, 17:03

Optionsfelder

Beitrag von Merklin » 29.03.2011, 17:39

Hallo,

ich hoffe es stimmt so.

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

Kasperle13
Beiträge: 3
Registriert: 29.03.2011, 11:26

Optionsfelder

Beitrag von Kasperle13 » 30.03.2011, 11:32

Hallo,

hat super geholfen Danke.

Habe nun wieder ein Problem bin halt ein Dummy

Ich möchte in einem Feld das berechnet wurde der wert nicht mindesten 6 beträgt automatisch 6 vorgeben lassen. Liegt der Wert über 6 ist alles in Ordnung.

Danke für Eure Hilfe

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

Optionsfelder

Beitrag von nele_sonntag » 31.03.2011, 12:42

Hallo Kasperle,

Du wirst nicht umhin kommen, Dich ein wenig in die Logik einzuarbeiten, vermute ich mal..Formcalc ist die einfachere Sprache. wenn Du hier die Beispiele der Hilfedatei einmal durcharbeitest, wirst Du schon sehr viel bewerkstelligen können.
Den Wert eines Feldes liest du mit 

Code: Alles auswählen

Name_desFeldes.rawValue
aus.

Möchtest Du einem Feld einen Wert zuweisen, passiert dies über

Code: Alles auswählen

Name_desFeldes.rawValue == "Mein Name ist"; 
Nimmst Du ein numerischesFeld, dann so:

Code: Alles auswählen

Name_desFeldes.rawValue == 1;
Genauso kannst du auch vergeichen, größer, kleiner abfragen.

Wie man nun eine Abfrage gestaltet, findest Du bspw. in der Hilfedatei, bspw. IF-abfragen, dort sind auch einfache Beispiele.

Code: Alles auswählen

if ( Field1 < Field2 ) then Field3 = 0 elseif ( Field1 > Field2 ) then Field3 = 40 elseif ( Field1 == Field2 ) then Field3 = 10 endif
Du würdest halt abfragen:

Code: Alles auswählen

wenn der Feldinhalt <= 6 ist, 

dann mache das und das, 

wenn nicht, 

mache das
LG Mandy

Benutzeravatar
Merklin
Beiträge: 1857
Registriert: 04.04.2009, 17:03

Optionsfelder

Beitrag von Merklin » 31.03.2011, 15:20

Hallo Mandy, hallo Kasperle,

vielen Dank für deine ausführlichen Beschreibungen, dieser Funktionen. Da lernt man doch gleich wieder etwas dazu. Mehr davon! :):)

Aber ich glaube, das ist es nicht ganz was Kasperle wollte. Ich habe schon eine Weile rumprobiert, leider mit mäßigen Erfolg.
Jetzt habe ich eine Variante erstellt, bin aber noch nicht ganz zufrieden.

Gibt man im ersten Feld eine Zahl ein, erscheint die Zahl gleich im Summenfeld und ist die Zahl unter 6, wird das Ergebnis auf 6 erhöht. So, soll es ja auch sein.

Aber wie kann ich es erreichen, das erst abgewartet wird, bis man die zweite Zahl eingefügt hat und dann erst die Summe angezeigt wird? Und dann, je nachdem, die Zahl auf 6 erhöht wird oder das richtige Ergebnis angezeigt wird.

VG Merklin
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:

Optionsfelder

Beitrag von nele_sonntag » 01.04.2011, 11:50

So, dann also erst einmal die Rabattgeschichte.

Um das PDF von Merklin fortzuführen, der mit dem Wert der Optionsfeldliste arbeitet, müsste man nur den Wert im Objekt anpassen, siehe Screenshot. Zur zeit würde hier nur der Rabatt berechnet. Möchte man den Rabatt haben inklus der Gesamtsumme müsste man für bspw. 15% den Wert 0.85 eingeben. (100%-15% Rabatt)

Die Frage mit dem Mindestwert lässt sich verschiedentlich lösen.

Entweder man fügt in dem vorhandenen Skript ein Feld ein, was man später unsichtbar macht (das allereinfachste), schreibt hier das Ergebnis der Multiplikation hinein und prüft in dem anderen Feld die Höhe dieser Zahl und entscheidet, was zu tun ist.

...weiteres gleich...
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:

Optionsfelder

Beitrag von nele_sonntag » 01.04.2011, 12:03

Ein sehr einfaches Skript wäre nun folgendes:

Code: Alles auswählen

//wenn der Wert des NF7 größer 6 ist
if(NumerischesFeld7.rawValue > 6)
{
//dann weise dem NF6 den Wert von NF7 zu
NumerischesFeld6.rawValue = NumerischesFeld7.rawValue;
}
//wenn der Wert des NF7 kleiner/gleich 6 ist
if(NumerischesFeld7.rawValue <= 6)
{
//dann weise dem NF6 den wert 6 zu
NumerischesFeld6.rawValue = 6;
}
Man kann auch in Variablen schreiben, dieses Skript in ein anderes Event legen, usw...

PS: Ein Tipp. Ich würde generell allen Objekten sinnvolle Namen geben..denn ich weise dem NF7 den Wert von NF6 usw. zu, wird sehr schnell unübersichtlich und man weiß bald nicht mehr, was man im Code machst, ohne großartig nachzuschauen.
LG Mandy

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

Antworten