Papyrus Base: Ein Bild durch ein Dropdown festlegen

Dieses Thema im Forum "Beispieldokumente" wurde erstellt von mseidl, 16. Dezember 2021.

  1. mseidl

    mseidl Active Member

    Um in einer Papyrus Base-Datenbank nicht immer Bilder in ein Datenfeld ziehen zu müssen, kann dies auch über ein Dropdown und einer Rechenformel erledigt werden. Dies ist besonders nützlich, wenn immer die gleichen Bilder verwendet werden, z. B. bei Gefahrensymbolen.

    Die Beispiel-Datenbank hat 10 Felder. Bild_Auswahl01 bis Bild_Auswahl05 und Bild01 bis Bild05.

    In den Feldern Bild_Auswahl0X ist in den Feldeigenschaften unter »Name und Typ« der Datentyp »Text« ausgewählt, bei »Prüfung« ist alles deaktiviert und als »Hilfetext« »XX Bild auswählen. Das Bild wird automatisch im Feld Bild0X eingefügt.« vorgegeben.
    Bei »Werte« ist in den Feldern Bild_Auswahl01 bis Bild_Auswahl05 Folgendes eingetragen:
    |Bild löschen
    facebook|Facebook
    GHS01|GHS01
    GHS02|GHS02
    GHS03|GHS03
    GHS04|GHS04
    GHS05|GHS05
    GHS06|GHS06
    GHS07|GHS07
    GHS08|GHS08
    GHS09|GHS09
    GHS10|GHS10
    santa|Santa
    twitter|Twitter

    In den weiteren Feldeigenschaften ist nichts eingetragen bzw. keine Checkbox angekreuzt.

    In den Feldern Bild01 bis Bild05 ist in den Feldeigenschaften unter »Name und Typ« der Datentyp »Bild (in externer Datei)« ausgewählt, als »Standardverzeichnis« ist »bilder\« eingetragen und »Dateien beim Einfügen immer ins Standardverzeichnis« ausgewählt.
    Bei »Prüfung« ist alles deaktiviert und als »Hilfetext« »Das Bild wird durch Bild_Auswahl0X festgelegt.« vorgegeben.
    Der Reiter »Werte« ist leer.
    Im Reiter »Rechenfeld« steht beim Feld Bild01 in »Formel (definiert das Feld als Rechenfeld)«:
    IF Bild_Auswahl01 == '' THEN '' ELSE
    IF Bild_Auswahl01 == 'facebook' THEN 'facebook.svg' ELSE
    IF Bild_Auswahl01 == 'GHS01' THEN 'ghs01_explodierende_bombe.svg' ELSE
    IF Bild_Auswahl01 == 'GHS02' THEN 'ghs02_flamme.svg' ELSE
    IF Bild_Auswahl01 == 'GHS03' THEN 'ghs03_flamme_ueber_einem_kreis.svg' ELSE
    IF Bild_Auswahl01 == 'GHS04' THEN 'ghs04_gasflasche.svg' ELSE
    IF Bild_Auswahl01 == 'GHS05' THEN 'ghs05_aetzwirkung.svg' ELSE
    IF Bild_Auswahl01 == 'GHS06' THEN 'ghs06_totenkopf_mit_gekreuzten_knochen.svg' ELSE
    IF Bild_Auswahl01 == 'GHS07' THEN 'ghs07_ausrufezeichen.svg' ELSE
    IF Bild_Auswahl01 == 'GHS08' THEN 'ghs08_gesundheitsgefahr.svg' ELSE
    IF Bild_Auswahl01 == 'GHS09' THEN 'ghs09_umwelt.svg' ELSE
    IF Bild_Auswahl01 == 'GHS10' THEN 'ghs10_unbekannt.svg' ELSE
    IF Bild_Auswahl01 == 'santa' THEN 'santa.svg' ELSE
    IF Bild_Auswahl01 == 'twitter' THEN 'twitter.svg' ENDIF

    In den weiteren Feldeigenschaften ist nichts eingetragen bzw. keine Checkbox angekreuzt.
    Die Formel muss natürlich für Bild02 bis Bild05 angepasst werden.
     

    Anhänge:

    Papyrusfan, oskar21, Ralf und 4 anderen gefällt das.
  2. Gutie

    Gutie Well-Known Member

    ... am meisten hat mich beeindruckt, dass man geschachtelte IF-THEN-Sätze ohne Klammer schreiben kann (y)
    (Denn dann erpart man sich auch noch das '+' vor den Zeilen)