0

Schleife bzw. Erfüllung einer Bedingung für ein Drucklayout

Ich habe in einem Anfrageformular eine Mehrfachauswahl und möchte nun im Drucklayout eine Bedingung für die Anzeige/Druck bei Eintreten eines Eintrages im Mehrfachauswahlfeld. Im Mehrfachauswahlfeld gibt es 4 Einträge ggf. kommen weitere hinzu. Die Eintragungen lauten wie folgt 1=TF, 2=MF, 3=ET und 4=KT und folgendes habe ich geplant: Bei Eintrag 1 und 3 soll ein Reisedatum A angedruckt werden, bei Eintrag 2 soll Reisedatum A + " bis " + Reisedatum B angedruckt werden und bei Eintrag 4 soll angedruckt werden Reisedatum A + " hin " + Reisedatum B + " rück" . Ich habe es mit if then else probiert, aber irgendwann steigt die Bedingung aus bzw. forder ein Ausdruck.

Vielen Dank schon einmal.

6 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo René, das sieht wieder recht kompliziert aus. Ich habe jetzt keine Lösung dafür parat, aber so als grundsätzliche Anmerkung: Die Auswertung von Mehrfachauswahlfeldern ist relativ aufwändig. Besonders, wenn es um bestimmte Auswahl-Kombinationen geht. So würde sich bei deinem Szenarion bspw. spontan die Frage stellen: Was ist, wenn Eintrag 1 und 3 und 4 gewählt werden? Sollen dann die Aktionen von "1 und 3" sowie die von "4" ausgeführt werden? Oder nur eine, und wenn ja, welche? Das nur als Beispiel, denn es sollen ja noch Einträge hinzukommen, welche die Anzahl der Kombinationen deutlich erhöhen.

    Deshalb nur so als Idee: Könnte es vielleicht sinnvoll sein, statt eines Mehrfachauswahlfeldes mehrere Ja/Nein-Felder oder einfache Auswahlfelder mit jeweils einem Eintrag zu nehmen? Es kommt natürlich darauf an, was genau man mit den Auswahl-Feldern machen will, aber bei manchen Szenarien kann die Auswertung mehrerer Ja/Nein- oder einfacher Auswahlfelder effizienter sein. Auch Abhängigkeiten ließen sich über Trigger "Nach Änderung" leichter steuern.

    Davon abgesehen kann man Auswertungen auch schon im Formular vornehmen und das Ergebnis bspw. in einem (versteckten) Berechnungsfeld speichern. Dann muss man im Drucklayout keine komplexen Abfragen mehr formulieren, sondern nur noch den Inhalt Berechnungsfeld auswerten. Das könnte vom Handling her etwas einfacher sein.

    Aber auch das nur so als allgmeine Anregung für mögliche Herangehensweisen.

    • Rene
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Oh Sorry Axel, ich habe es falsch formuliert. Ich nutze für diese mögliche Auswahl im Brieflayout nur Auswahlfelder mit festen/fixen Daten und keine Mehrfachauswahl. Da bin ich erst stutzig geworden mit deinen Ausführungen. Vielleicht ist es jetzt einfacher.

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

    Ach so ... Es ist also ein einfaches Auswahlfeld mit vier Optionen? Und es geht nur um die Zusammensetzung eines Textes? Dann könnte man eine switch-case-Konstruktion nutzen, zum Beispiel in einer Textbox im Druckformular:

    switch number(AUSWAHLFELD) do
        case 1:
            'Reisedatum A'
        case 2:
            'Reisedatum A' + " bis " + 'Reisedatum B'
        case 3:
            'Reisedatum A'
        case 4:
            'Reisedatum A' + " hin " + 'Reisedatum B' + " rück"
        default:
            "???"
    end

    Oder man setzt den Text schon im Formular zusammen und greift im Druckformular nur noch auf dieses Feld zu.

    Wenn man lieber die Textwerte statt der numerischen IDs abfragen möchte:

    switch text(AUSWAHLFELD) do
        case "TF": ...
    usw.

    • Rene
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Habe alles so umgesetzt, jedoch kommt folgender Fehler:

    Bildschirmfoto 2020-02-12 um 18.50.33

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

    Ach so, liegt vermutlich daran, dass 'Reisedatum (Abfrage)' ein Datumfeld ist, welches in zwei case-Fällen mit Texten kombiniert wird. Versuche doch mal, alle(!) Datumfelder in Textwerte umzuwandeln:

     

    text('kalkulierte Aufträge'.'Reisedatum (Anfrage)')

     

    Beziehungsweise:

     

    text('kalkulierte Aufträge'.'Rückreise (Anfrage)')

    • Benjamin_Kunzmann_pr
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Und dein default: muss raus, wenn dahinter keine Anweisung kommt 😉

Content aside

  • vor 3 JahrenZuletzt aktiv
  • 6Antworten
  • 1195Ansichten