Autor Thema: Optionsfeld übertrag 2. wert  (Gelesen 1697 mal)

Offline Thikor

  • Frischling
  • *
  • Beiträge: 2
Optionsfeld übertrag 2. wert
« am: 08.12.21 - 15:02:47 »
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.

Offline CarstenH

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 642
  • Geschlecht: Männlich
Re: Optionsfeld übertrag 2. wert
« Antwort #1 am: 08.12.21 - 16:04:27 »
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"; "" )

Es gibt viele Varianten, das per @Formel zu machen, das war nur die einfachste für dein Beispiel.

HTH
Carsten

Offline Tode

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.870
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Optionsfeld übertrag 2. wert
« Antwort #2 am: 08.12.21 - 16:19:55 »
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"

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 )

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 )

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 ) )
« Letzte Änderung: 08.12.21 - 16:22:41 von Tode »
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Thikor

  • Frischling
  • *
  • Beiträge: 2
Re: Optionsfeld übertrag 2. wert
« Antwort #3 am: 08.12.21 - 16:46:51 »
Vielen  Dank euch beiden, beides hat mir sehr weitergeholfen.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz