0

Textfeld automatisch befüllen

Hallo, ich habe eine Auswahlbox mit verschiedenen Ländern und ein Textfeld in das je nach ausgewähltem Land ein Kürzel eingetragen werden soll, was mache ich falsch? Danke

Eintrag bei Land in Feld: nach Änderung ausführen

if Land = “Deutschland” then
“Landeskürzel” = “DE”
else
if Land = “Oesterreich” then
“Landeskürzel” := “AT”
else
if Land = “Italien” then
“Landeskürzel” := “IT”
else
“”
end
end
end

8 Antworten

null
    • Roland
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Du musst statt der Länder die Ziffer eintragen. Allerdings würde ich besser case verwenden:

    switch “Land” do
    case 1:
    Landeskürzel := “DE”
    case 2:
    Landeskürzel := “AT”
    case 3:
    Landeskürzel := “IT”
    end

    • Falk_Fiebig
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Vielen Dank, das hat super funktioniert.

    • Torsten_Stang.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Falk,

     

    wenn Du das Auswahlfeld direkt abfragst, bekommst Du die ID der Option zurück. Möchtest Du den Text der Option abfragen, musst Du text(Land) verwenden. Statt mehrerer if-Abfragen würde ich switch-case verwenden. Deinen konkreten Code würde ich also so aufbauen:

     

    “Landeskürzel” := switch text(Land) do
    case “Deutschland”:
       “DE”
    case “Oesterreich”:
       “AT”
    case “Italien”:
       “IT”
    .
    .
    .
    end

     

    die Anführungszeichen bei “Landeskürzel” durch einfache Anführungszeichen ersetzen - die setzt die Forensoftware infolge eines Bugs(?) um...

     

    lg, Torsten

    • Torsten_Stang.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    ... zu langsam - aber jetzt hast Du beide Varianten zur Auswahl ;-)

    • Falk_Fiebig
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Auch dir vielen Dank!

    • Falk_Fiebig
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ich habe die Funktion nachträglich in eine bestehende Tabelle eingebaut die schon über 200 Zeilen hat. Gibt es eine möglichkeit das jetzt für alle mit einmal zu aktualisieren oder muss ich das jetzt durch und in jedem Eintrag das einmal ändern?

    • Torsten_Stang.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Falk,

     

    entweder Du verwendest den Code über die Massendatenänderung oder Du nimmst die Console, dann:

     

    for i in select Tabellenname do
       i.“Landeskürzel” := switch text(i.Land) do
       case “Deutschland”:
          “DE”
       case “Oesterreich”:
          “AT”
       case “Italien”:
          “IT”
       .
       .
       .
       end
    end

     

    lg, Torsten

    • Falk_Fiebig
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Danke!

Content aside

  • vor 3 JahrenZuletzt aktiv
  • 8Antworten
  • 475Ansichten