0

Abhängigkeit von Auswahlfeldern

Hallo,
ich experimentiere gerade mit der Abhängigkeit von Auswahlfeldern zueinander. Ich will die Funktion verstehen, damit ich das ausbauen kann. Dazu habe ich ein einfaches Beispiel gebaut: Ich habe 2 Auswahlfelder. AuswahlA mit jeweils 3 Einträgen 1,2,3 und AuswahlB ebenfalls mit 3 Einträgen A,B,C.

Im Feld AuswahlA haben ich als Trigger Folgendes stehen:
if text(AuswahlA) != 1 then
AuswahlB := 1;
if text(AuswahlA) != 2 then
AuswahlB := 2;
if text(AuswahlA) != 3 then AuswahlB := 3
end
end
end

Nun funktioniert das irgendwie seltsam. Ich hätte jetzt erwartet, daß wenn ich bei AuswahlA jeweils 1,2 oder 3 auswähle, dann auch synchron dazu A,B oder C in AuswahlB erscheint. Stattdessen erfolgt nur ein einziger Wechsel, nämlich der Wert C wird angezeigt wenn ich bei AuswahlA die 2 auswähle? Es müsste doch B sein, denn die 2 ist ja B? Und ansonsten passiert dann auch nichts mehr, also auch wenn man nun etwas Anderes wählt reagiert AuswahlB nicht mehr.

Hab ich mir das zu einfach vorgestellt?

Gruß
Thomas

3 Antworten

null
    • Tacho
    • vor 5 Jahren
    • Gemeldet - anzeigen

    laß mal das Ausrufezeichen weg.

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Thomas, eine einfachere Formel wäre hier

    ---

    AuswahlB := switch text(AuswahlA) do
    case "1":
    1
    case "2":
    2
    case "3":
    3
    end

    ---

    Wenn du bei if then bleiben möchtest, dann:

    ---

    if text(AuswahlA) = "1" then AuswahlB := 1 end;
    if text(AuswahlA) = "2" then AuswahlB := 2 end;
    if text(AuswahlA) = "3" then AuswahlB := 3 end

    ---

    Jetzt zu deiner Formel.

    1. Du  möchtest einen Textwert von AuswahlA bewerten, nimmst aber statt Text eine Zahl (1 statt "1")

    2. != bedeuted ungleich, also wenn AuswahlA unglech 1 ist (2 oder 3) dann Auswahl soll den Wert A bekommen usw.

     

    Leo

    • CTRAVEL
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Moin, danke wieder mal euch beiden. Jetzt habe ich's kapiert. Da hatte ich gleich 2 Fehler drin. Einmal das Ungleich und die Ansprache der Felder. Dachte bis jetzt, daß man Auswahlfelder immer mit den internen Nummern ansprechen muss, aber wenn man text(..) nimmt, muss man den Wert nehmen der tatsächlich dort hinerlegt ist.

    Die Variante mit case ist natürlich sehr elegant.

    Danke
    Gruß
    Thomas