Lotus Notes / Domino 10 > ND10: Entwicklung
Optionsfeld übertrag 2. wert
(1/1)
Thikor:
Hallo, ich habe ein Optionsfeld gefüllt mit werten z.B Brot |1 und Wasser|2
Wenn es eins der beiden in die Ansicht schreibe, steht da nur 1 oder 2, aber ich brauche den Text.
Formelsprache oder Skriptsprache wäre super.
CarstenH:
Zwei Dinge:
1. Script kann nicht in Spaltenformeln verwendet werden, bringt dir also nichts.
2. Wenn du nur die Texte brauchst und die sich nicht durch unterschiedliche Sprachen etc. ändern solltest du in Betracht ziehen, in der Eingabemaske auf die Synonyme (|1 usw.) zu verzichten.
Ansonsten musst du die Feldwerte an allen benötigten Stellen zur Anzeige wieder in in die Texte zurück "übersetzen", z.B. so:
--- Code: ---@If( Feld="1"; "Brot"; Feld="2"; "Wasser"; "" )
--- Ende Code ---
Es gibt viele Varianten, das per @Formel zu machen, das war nur die einfachste für dein Beispiel.
HTH
Carsten
Tode:
Wenn Du nicht die Werte in der Ansicht wiederholen willst, dann empfehle ich eine von zwei Vorgehensweisen.
Erstmal würde ich die möglichen Auswahlen (trotz des Daten- Overheads) im Dokument mitspeichern. Also Feld:
OptionsfeldVorgaben, berechnet, Mehrfachwerte, versteckt. Formel:
--- Code: ---"Brot|1" : "Wasser|2"
--- Ende Code ---
Dann diese Auswahlen im Optionsfeld über den Feldnamen (über Formel berechnen) einbinden, statt direkt ins Feld zu schreiben.
Nun werden die "Übersetzungen" Deiner Alias- Werte in Feldwerte im Dokument mitgespeichert.
Ansatz 1: In der Formel "zurückrechnen":
--- Code: ---@Replace( OptionsFeld : @Word( OptionsfeldVorgaben ; "|" ; 2 ) ; @Word( OptionsfeldVorgaben ; "|" ; 1 )
--- Ende Code ---
Ansatz 2: Ein weiteres Feld in die Maske, unterhalb Deines Optionsfeldes.
Feld: OptionsFeldLesbar, berechnet, versteckt, Formel:
--- Code: ---@Replace( OptionsFeld : @Word( OptionsfeldVorgaben ; "|" ; 2 ) ; @Word( OptionsfeldVorgaben ; "|" ; 1 )
--- Ende Code ---
Und in der Ansicht dann in der Spalte: OptionsfeldLesbar
Der erste Ansatz braucht rechenpower in der Ansicht (Ansichtsindex braucht in großen Datenbanken länger), der zweite die Redundanz in den Dokumenten...
Alternativ kannst Du natürlich, wenn Du die Maske nicht verändern willst, die Formeln rein für die Ansicht kombinieren, dann musst Du aber immer drandenken, wenn Du neue Optionen einführst, dass Du das in den Ansichten nachführst. Dann so:
--- Code: ---_vorgaben := "Brot|1" : "Wasser|2";
@Replace( OptionsFeld ; @Word( _vorgaben; "|" ; 2 ) ; @Word( _vorgaben; "|" ; 1 ) )
--- Ende Code ---
Thikor:
Vielen Dank euch beiden, beides hat mir sehr weitergeholfen.
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln