0

join und leeres Feld

Hallo zusammen,

hat jemand eine Idee, wie ich es hinbekomme, dass Betrag und Beschreibung so angeordnet sind, wie rechts in dem farbigen Feld zu sehen ist ? Im Moment ist es so, wie links davon abgebildet, mit folgender Formel:

join(Reisebelege1.text(Betrag), "
")

Ich habe mit array und select 'herumprobiert', aber komme leider zu keinem Ergebnis.

Vielen Dank schon mal.

 

Gruß Kruna

16 Antworten

null
    • Torsten_Stang.1
    • vor 4 Monaten
    • Gemeldet - anzeigen

    Dir geht's um die fehlende Leerzeile bei "anreise"? Dann vielleicht so?:

    join(for i in Reisebelege1 do if i.Betrag then text(i.Betrag) else " " end,"
    ")
    
      • Kruna
      • vor 4 Monaten
      • Gemeldet - anzeigen

      vielen Dank Torsten,

      ja, genau - ich habe gerade Deine Formel eingegeben und bekomme folgenden Fehler

      • Torsten_Stang.1
      • vor 4 Monaten
      • Gemeldet - anzeigen

       mea culpa

      join(for i in Reisebelege1 do if i.Betrag then text(i.Betrag) else " " end end,"
      ")
      
      • Kruna
      • vor 4 Monaten
      • Gemeldet - anzeigen

      danke Dir - nun wird zwar kein Fehler mehr angezeigt🙂, aber Betrag und Beschreibung sind immer noch wie eine Zeile nach oben 'verrutscht'.😅

      • Torsten_Stang.1
      • vor 4 Monaten
      • Gemeldet - anzeigen

       Hm, zwei Leerzeichen zwischen den Anführungszeichen im else-Teil vielleicht?

      • Kruna
      • vor 4 Monaten
      • Gemeldet - anzeigen

      leider auch mit zwei Leerzeichen bleibt alles gleich.

    • mirko3
    • vor 4 Monaten
    • Gemeldet - anzeigen

    Ist das ein einzelnes Funktionsfeld? Dann wäre es mit einem führenden Zeilenumbruch so

    "
    " +
    join(Reisebelege1.text(Betrag), "
    ")
    

    Ansonsten hilft zur Lösung vielleicht etwas mehr Kontext. Mirko

      • Kruna
      • vor 4 Monaten
      • Gemeldet - anzeigen

      Guten Morgen Mirko, Klasse - das war die Lösung!👍

      Vielen Dank an Dich und Torsten.🙂

      Gruß Kruna

      • Torsten_Stang.1
      • vor 4 Monaten
      • Gemeldet - anzeigen

       Fein, wobei so vorausgesetzt wird, dass in der ersten Zeile nie ein Betrag vorkommt.

      • Kruna
      • vor 4 Monaten
      • Gemeldet - anzeigen

      das stimmt, ich habe es gerade ausprobiert. Es ist in der ersten Zeile nicht vorgesehen, dass dort ein Betrag steht. Gibt es denn eine Lösung, falls mal doch ein Betrag in der ersten Zeile vorkommt? Hinzu kommt noch, wenn ich nachträglich noch einen Beleg erfasse (bsp. tanken), dann steht dieser bei Datensatz abreise und nicht anreise.

      Hierzu die Beispieldatenbank. Es geht um das Drucklayout  Reise in der Tabelle Mitarbeiter.

      Vielen Dank schon mal.

      Gruß Kruna

      • Torsten_Stang.1
      • vor 4 Monaten
      • Gemeldet - anzeigen

       Du solltest Dir nochmal genauere Gedanken machen, wie Du den Beleg aufbauen willst.

      In Deinem Drucklayout gehst du in einer Spalte durch die Reisetage, in der zweiten durch die Reisebelege. Das wird spätestens wenn Du für einzelne Reisetage mal mehr als einen Beleg hast in die Hose gehen...

      Im Moment kann ich mich gerade nicht weiter damit befassen, vielleicht fällt mir aber was praktikables ein.

      • Kruna
      • vor 4 Monaten
      • Gemeldet - anzeigen

      da hast Du natürlich recht - das hatte ich auch schon ausprobiert und selbiges festgestellt. Dieses Drucklayout dient jedoch nur für interne Info, um eine Art 'Zusammenfassung/Übersicht' zu haben, da es nicht viele Belege geben wird.

      Die wirklich relevanten Belege für den Druck entnehme ich aus der Tabelle Reisekosten.

      Kein Problem und vielen Dank, ich versuche derweil weiter 'herumzutüfteln'.😅

      Tolle Datenbank und danke, dass Du die zur Verfügung gestellt hast, damit hast Du mir viel Zeit erspart.👍

      • Torsten_Stang.1
      • vor 4 Monaten
      • Gemeldet - anzeigen

       dann würde ich an Deiner Stelle alles in eine Spalte packen, zuerst die Tage mit den VMA und dann die Belege - dann spielen Dir nicht generierte leere Zeilen total in die Karten. ;-)

      • Kruna
      • vor 4 Monaten
      • Gemeldet - anzeigen

      entschuldige - ich stehe irgendwie auf dem Schlauch - alles in eine Spalte packen verstehe gerade nicht wie das gemeint ist😅

      • Torsten_Stang.1
      • vor 4 Monaten
      • Gemeldet - anzeigen

       eine Spalte mit z.B.

      if text('Datum Abfahrt') = text('Datum Rückkehr') then
          text('Pauschale VMA')
      else
          join(for i in Reisetag order by Datum do i.text(VMA) end, "
      ")
      end + "
      " +
      join(for ii in Reisebelege1 order by Datum do ii.text(Betrag) end, "
      ")
      

      ohne Gewähr, dass ich jetzt hier die richtigen Felder erwischt habe, aber das Prinzip sollte klar werden.

      • Kruna
      • vor 4 Monaten
      • Gemeldet - anzeigen

      ok, jetzt habe ich es auch vderstanden. Das ist natürlich auch eine sehr gut Idee.

      Ich werde mal schauen, wie das dann im workflow ausschaut :-) Auf jeden Fall - vielen Dank für deine Hilfe.👍