0

Unterformular nach Monat über eine Befehlsschaltfläche filtern und als pdf sichern

Hallo,

versuche als Anfänger mit Ninox eine Datenbank zu erstellen.

Ich habe aktuell ein Tabelle mit Stundenzettel erstellt und habe diese als Unterformular zu verschiedenen Aufträgen zugeordnet. Mit dieser Programmierung kann ich eine PDF Datei erstellen und als Datei dem Datensatz hinzufügen:

importFile(this, printAndSaveRecord(this, "Stundenzettel"), 'Referenz-Nr. Kunde' + Zeiterfassung.Datum + "_" + "Leistungsnachweis" + ".pdf")

Mein Problem wo ich nun zur Zeit nicht weiterkomme, ich möchte die Datensätze in dem Unterformular Zeiterfassung nach Datum von bis filtern. Wie kann man über die Befehlsschaltfläche eine Abfrage machen, und diese Datensätze dann als pdf abspeichern?

Habe da bis jetzt nichts im Forum gefunden, was mir weiterhilft.

4 Antworten

null
    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Dietmar,

    Also du hast in der Haupttabelle die Felder VON und BIS. In dem Layout kannst du jetzt auf die Untertabelle klicken und links auf "Anzuzeigende Spalten festlegen". Jetzt klickst du auf Spalte Datum und Schreibst undtr f(x) Funktion:

    ---

    if Datum>HAUPTTABELLE.VON and Datum<HAUPTTABELLE.BIS then Datum else date(1970,1,1) end

    ---

    Diese Spalte kannst du jetzt filtern und bei "von" 02.01.1970 schreiben. So sollte deine Untertabelle sich dynamisch ändern.

     

    Leo

    • Dietmar_Press
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Leon,

    vielen Dank für deine Antwort. 

    Ich habe das soweit jetzt mal getestet und bekomme auch die entsprechenden Zeilen der Datensätze ausgeblendet. Das klappt also soweit. Bei einem Ausdruck werden dann aber trotzdem alle Datensätze in die pdf Datei gedruckt.

    Ein weiterer Nachteil ist dann auch zusätzlich, das nach dem leeren der Datumsfelder von / bis keine Einträge in der Untertabelle mehr angezeigt werden. Die Felder müssen dann immer mit einem Datum gefüllt werden.

    Gibt es da eine Lösung? Muss ich ggf. die Programmierung zur Erstellung der PDF Datei anpassen, um nur die angezeigten Datensätze zu drucken?

    Viele Grüße

    Dietmar

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Dietmar,

    kann es sein, dass du die Formel nicht im PDF Layout sondern im Formular einsetzt? Also die Formel MUSS im PDF-Layout  eingetragen werden. Wenn du alle Datensätze sehen möchtest wenn die Felder von und bis leer sind, dann ist die Formel:

    ---
    if HAUPTTABELLE.VON and HAUPTTABELLE.BIS then
    if Datum > HAUPTTABELLE.VON.Von and Datum < THAUPTTABELLE.BIS then
    Datum
    else
    date(1970, 1, 1)
    end
    else
    Datum
    end

    ---

    Bildschirmfoto 2020-02-03 um 21.33.35

     

    Leo

    • Dietmar_Press
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Leon,

    ja, super. Das war es. 

    Vielen Dank für deine Hilfe.

     

    Viele Grüße

    Dietmar

Content aside

  • vor 4 JahrenZuletzt aktiv
  • 4Antworten
  • 1456Ansichten