0

Bestimmten Datensatz bzw. bestimmte Felder im Drucklayout ausgeben

Hallo zusammen,

ich versuche gerade folgendes Problem zu lösen und komme leider nicht weiter.

Zum besseren Verständnis, habe ich mal wieder eine test_db beigefügt.

Wie man sieht, werden Tabelle 'Kunde B' im Drucklayout 'Testdruck' alle Datensätze bzw alle Strassennamen angezeigt, was ja auch logisch ist. Mit first /last kann ich ja den ersten und letzten Datensatz auslesen.

Ich möchte jedoch bei Mehrfachauswahl 1, dass nur der erste Datensatz (also Teststrasse 1) ausgegeben wird oder bei Mehrfachauswahl 2, der zweite und bei Mehrfachauswahl 3, nur der dritte Datensatz angezeigt wird.

Ich versuche gerade

if Mehrfachauswahl = 1 then  select 'Kunden C2')[Anzahl = 1]

aber das funktioniert natürlcih nicht so, wie ich mir das vorstelle.

 

HAt jemand eine Idee, wie man das umsetzten könnte?

 

Vielen Dank schon mal.

 

Gruß Kruna

5 Antworten

null
    • Ninox Solution-Partner
    • RonaldP
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Moin Kruna ,

    wieso verwendest du dafür ein Mehrfachauswahlfeld? Nach deiner Beschreibung würde ein einfaches Auswahlfeld genügen und das wäre von der Auswertung/Bedienung eindeutig.
    Oder willst du evtl. auch 1 UND 3 anzeigen lassen?

    Ich habe hier angenommen, dass du nur eine Auswahl anzeigen möchstest und dazu im Drucklayout diese Funktion in der Spalte Anzahl der Tabelle eingefügt:

    if 'Kunde B2'.Mehrfachauswahl then
        if text(Anzahl) = text('Kunde B2'.Mehrfachauswahl) then
            Anzahl
        end
    else
        Anzahl
    end

    Damit wird der Wert von Anzahl nur angezeigt, wenn die Bedingung erfüllt ist, in den anderen Zeilen bleibt Anzahl leer.

    Und die Spalte Anzahl gefiltert mit ">0", dann verden die Zeilen mit "Anzahl leer" ausgeblendet und es bleibt nur die mit der passenden Auswahl übrig

    Ich habe noch mal das gleiche mit einer EinfachAuswahl angelegt.
     

    VG Ronald

    • Kruna
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Guten Morgen Ronald,

    vielen Dank für Deine Hilfe.

    Ja, du hast schon recht, ein einfaches Auswahlfeld tut es auch, weil es eigentlich immer nur eine Asuwahl geben kann. Manchmal denke ich um zu viele Ecken und verliere dabei das Wesentliche.

    Mein Ansatz war eigentlich ein anderer, aber Deine Lösung ist total perfekt und tut genau das was es soll.

    Eine Frage hätte ich da noch. Da es ja im Drucklayout eine Tabelle ist, habe ich leider keine Möglichkeit, diese Zeile fett zu gestalten. Gibt es da eventuell eine andere Möglichkeit? Das wäre sehr wichtig, um nicht zu sagen ausschlaggebend.

     

    Gruß Kruna

    • Ninox Solution-Partner
    • RonaldP
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Moin Kruna ,

    es ist möglich mit dem Befehl html() in jeder Spalte den Text zu formatieren (fett) zu machen.
    Du musst dann aber eben jede Spalte einzeln bearbeiten.

    => Grundvorausetzung dafür ist, dass für das Team in dem die DB liegt die "erweiterte" oder "MAC-Druckengine" aktiviert ist.
    (wenn nicht, eine freundliche und formlose Email an support@ninox.com 😉)

    Was nicht funktioniert ist (bzw. hab ich grad noch keine Idee wie das klappen kann), wenn nur die selektierte Zeile dargestellt werden soll (Filter für Spalte Anzahl >0), dass das Feld Anzahl auch fett ist. Durch den Befehl html("<b>" + Anzahl + "</b>") wird das vom Filter nicht mehr als Zahl erkannt.

    Ich hab dir hier mal beide Varianten eingefügt.
     

    • Kruna
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Ronald,

    das ist ja irre!!! Ich habe das gerade in meine DB umgesetzt und was soll ich sagen...PERFEKT!!! Es hat alles prima funktioniert.

    Vielen, tausend Dank nochmals für Deine Hilfe!! 👍🙂

     

    Gruß Kruna

    • Kruna
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Ronald, entschuldige das ich dasThema noch einmal aufgreife.

    Nun habe ich doch den Fall, dass ich eventuell doch 1 und 3 anzeigen lassen möchte.

    Weiter oben hattest Du folgendes geschrieben

     

    if 'Kunde B2'.Mehrfachauswahl then
        if text(Anzahl) = text('Kunde B2'.Mehrfachauswahl) then
            Anzahl
        end
    else
        Anzahl
    end

     

    Ich habe versucht den Code dementsprechend anzupassen, aber ich bekomme das leider nicht hin auch nicht mit chosen(Mehrfachauswahl).

    Weißt Du eventuell, wie das zu lösen ist?

    Vielen Dank.

    Gruß Kruna

Content aside

  • Status Answered
  • vor 1 JahrZuletzt aktiv
  • 5Antworten
  • 106Ansichten
  • 2 Folge bereits