0

Auswahlfeld

Sorry aber ich stehe bei Formeln immer auf dem Schlauch.

ich habe 2 Auswahlfelder

1. ColorName hier steht im Klartext die Farbe drin, (Black, Blue, Yellow usw.)

2. ColorCode hier steht ein Zahlenwert drin, (0,1,4,71)

zu jedem ColorNamen gibt es einen passenden ColorWert.

ich habe schon mit Switch case herumexperimentiert aber keine Lösung gefunden.

Gibt es eine Möglichkeit mit einer Formel z.B. „Trigger nach Änderung“ zu erreich, das wenn ich im Auswahlfeld den Namen z.B. Black auswähle, das er mir im Auswahlfeld ColorCode die dazugehörige 0 ausgibt/Auswählt?

Und falls nein, gibt es eine andere Möglichkeit den passenden Wert in ein Zahlenfeld oder Formelfeld zu schreiben??

 

vielen Dank

 

Wolfgang

P.S.:

Den 2. Teil meiner Frage habe ich jetzt mit einem älteren Beitrag hier aus dem Forum selbst hinbekommen.

switch text(Color) do
case "Black":
    "0"
case "Blue":
    "1"
default:
    "nicht erkannt"
end

Stellt sich nur noch die 1. Frage ob es da eine Möglichkeit gibt.

7 Antworten

null
    • + Maßanzug statt Massenware +
    • RonaldP
    • vor 6 Tagen
    • Gemeldet - anzeigen

    Moin  ,

    wenn diese 2 Daten immer miteinander vebunden sein sollen, wäre es dann möglich einfach beide Informationen in Auswahl 1 zu schreiben?

    z.b. "Black | 0"

    Oder wofür braucht es die 2. Auswahl?

     

    VG Ronald 

      • Wolfgang
      • vor 6 Tagen
      • Gemeldet - anzeigen

       für die Erstellung einer csv Datei brauche ich immer nur den ColorCode; der Klartextname der Farbe ist für mich für die Eingabe (die auch farblich eingefärbt ist) besser. Den ColorCode Blende ich aus und brauche Ihn nur für meine csv-Datei.

      • Ninox-Professional
      • planoxpro
      • vor 4 Tagen
      • Gemeldet - anzeigen

       

      Hallo Wolfgang, du könntest es trotzdem so machen, wie Ronald vorschlägt. Dazu müsstest du nur alle Einträge nach demselben Schema vornehmen. um bei Ronalds Beispiel mit dem Pipe-Symbol zu bleiben:

      Black | 0
      Blue | 1
      Yellow | 4
      Orange | 71

      usw.

      Auf den Code der Farbe zugreifen könntest du dann bspw. so (ausprobieren lässt sich das mit einem Formelfeld):

      trim(last(split(text(Color, "|"))))

      Wird im Auswahlfeld 'Color' nun bspw. "Red" gewählt, sollte im Formelfeld "4" erscheinen, bei Orange "71" usw.

      Je nachdem, wieviele Farben dargestellt werden sollen (auch perspektivisch), kann es statt dessen durchaus sinnvoll sein, die ColorNames und ColorCodes in eine eigene Tabelle zu schreiben und mit einem Dynamischen Auswahlfeld darauf zuzugreifen. Du bräuchtest dazu die Tabelle 'Colors' mit den Feldern 'ColorName' und 'ColorCode' sowie ggf. noch ein Farbfeld 'Color'. Dann trägst du die benötigten Daten dort ein.

      Danach erstellst du in dem betreffenden Formular ein Dynamisches Auswahlfeld und schreibst in dessen Optionen bei "Dynamischer Wert" folgendes:

      select Colors

      Bei "Name des dynamischen Werts"

      ColorName

      Und bei "Farbe des dynamischen Werts" 

      Color

      Auf den ColorCode der gewählten Farbe kannst du dann bspw. so zugreifen:

      record(Colors, number(Color)).ColorCode

      Nur so als Idee ...

      Das Verfahren mit eigener Tabelle und Dynamischem Auswahlfeld würde übrigens auch die Pflege der Farben erleichtern, falls sich daran mal was ändern sollte.
       

      • Wolfgang
      • vor 4 Tagen
      • Gemeldet - anzeigen

       Danke das werde ich mir anschauen, Auf die Dynamischen Auswahlfelder bin ich schon gekommen (kannte ich bisher gar nicht) und habe diese bereits für die Farbe und den Code verwendet und genau die Bezeichnung wie von dir vorgeschlagen realisiert.

      Habe dann in einem  Formelfeld eine Switch case Abfrage die mir den Wert liefert. Nachteil wenn ich in der Farbtabelle neue Farben einfüge, muss ich auch das Switch Case Script anpassen. Deine Lösung ist natürlich eleganter, werde ich mir ansehen. Vielen Dank

      Wolfgang

      • Wolfgang
      • vor 4 Tagen
      • Gemeldet - anzeigen

       

      Danke funktioniert fast, habe es mit Deiner Formel probiert, da har er mir immer den Fehler ausgewiesen, dass er Color nicht findet.

      Hiermit habe ich es hinbekommen

      record(COLORS,number(ColorCode))

      Das funktioniert bis auf den Color Code 0 der wird als undefined ausgegeben. Hast Du dafür noch eine Lösung?????

      und wenn ich neue Farben hinzufüge, sagt er auch undefined!!!

      • Wolfgang
      • vor 4 Tagen
      • Gemeldet - anzeigen

       Leider kann ich meinen Beitrag weder löschen noch editieren. Es funktioniert leider nicht, war mein Fehler, er hat auf ein Formelfeld von mir zugegriffen, dass auch ColorCode hieß. Wenn ich obige Formel eingebe sagt er mir, das er Color nicht findet.Ich werde es noch einmal in einer Testtabelle probieren.

      • Wolfgang
      • vor 3 Tagen
      • Gemeldet - anzeigen

        Vielen Dank. Ich habe es jetzt hinbekommen.Die Syntax ist ja

      ********

      record(TABELLE), number(DynAuswahl)).Datenfeld

      ***********

      Sodass Dein Color in der Formel dem Namen des DynAuswahl-Feldes entspricht. Das habe ich jetzt geändert und es funktioniert perfekt. Vielen Vielen Dank

      Wolfgang

Content aside

  • Status Answered
  • vor 3 TagenZuletzt aktiv
  • 7Antworten
  • 52Ansichten
  • 3 Folge bereits