Office: (Office 2007) Drucken von Datensätzen per Bericht als PDF-Datei

Helfe beim Thema Drucken von Datensätzen per Bericht als PDF-Datei in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo & guten Abend, Dank der tollen Unterstützung im Thread Drucken von Datensätzen über Bericht mit Vergabe des Dateinamens aus Tabellenfeldern kann... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von schwaelbchen, 14. Oktober 2015.

  1. Drucken von Datensätzen per Bericht als PDF-Datei


    Hallo & guten Abend,

    Dank der tollen Unterstützung im Thread Drucken von Datensätzen über Bericht mit Vergabe des Dateinamens aus Tabellenfeldern kann ich die selektierten Datensätze über einen Bericht drucken und als PDF-Datei speichern.

    Vielleicht passt es ja nicht ganz hierher, aber gibt es eine Möglichkeit in die zu erstellende PDF-Datei ein Feld "einzubauen", in das man wenn man das PDF-Dokument später öffnet in eine Art "TEXTFELD" einen kurzen Text eingeben kann der beim Drucken mit ausgegeben wird ?

    Danke für Deine Antwort im Voraus.
    Jens

    :)
     
    schwaelbchen, 14. Oktober 2015
    #1
  2. Ich merke gerade das ich noch ein ganz anderes Problem habe.

    Und zwar wird mir der Dateiname des zu speichernden PDF-Dokumentes über bestimmte Textfelder generiert.

    NUN kann es aber passieren das sich wegen einer inhaltlichen Änderung im Datensatz eines oder mehrere dieser Textfelder ändert.

    Aus "222499 - 600x800 - Bodo.pdf" würde dann z.B. "222499 - 600x800 - Bodo-KaFo.pdf" werden.
    Problem dabei ist nur, dass ich dann 2 verschiedene Dateien habe, von denen die zuerst erstelle überflüssig wäre bzw. hinfällig ist.

    Gibt es da ggf. die Möglichkeit vor dem Speichern der Änderungen des aktuellen Datensatzes zu prüfen, ob es eventuell schon eine Datei gibt, die bereits mit den Angaben von vor dem kommenden Update erstellt wurde ?
    Und wenn ja, kann man die Datei ggf. auch direkt löschen, sofern sie vorhanden ist?
     
    schwaelbchen, 16. Oktober 2015
    #2
  3. Hallo!

    Du kannst den Dateinamen der ursprünglich erstellten PDF-Datei ja in derselben Tabelle oder auch einer weiteren Tabelle speichern.
    Ist wegen einer Änderung der Daten der Dateiname auch zu ändern, kannst Du das anhand der Ausgangsdaten feststellen.
    Zutreffendenfalls löscht Du die PDF-Datei.
    Du kannst Dir aber auch vor Änderung (zB. beim ersten Anzeigen) des Datensatzes immer die zugehörige PDF-Datei ermitteln und irgendwo vormerken.
    Wenn eine Änderung auch den Dateinamen beeinflußt kannst Du die vorgemerkte Ausgangsdatei löschen.

    Wolfgang
     
    wb_3001, 18. Oktober 2015
    #3
  4. Drucken von Datensätzen per Bericht als PDF-Datei

    Hallo,
    mit Dir() prüfen und mit Kill löschen.
    Ganz allgemein so:

    Code:
    Vorsicht, Kill löscht gnadenlos ohne Rückfrage. Daher mit unwichtigen Dateien probieren.
     
    gpswanderer, 18. Oktober 2015
    #4
  5. Guten Abend (ihr 2),

    danke für Eure Tipps. So in dieser Art hatte ich mir es vorgestellt.
    Ich denke es macht Sinn generell die "alte" Datei zu löschen, wobei ja bei jetzigen Stand eine ggf. bestehende Datei einfach von der neuen überschrieben wird.

    Mir dem folgenden Code speichere ich die Daten über den Bericht als PDF-Datei ab.
    Was muss ich denn jetzt noch wie einfügen, dass zuerst geprüft wird ob der Name der zu speichernden Datei bereits vorhanden ist und wenn ja diese gelöscht wird und zur selben Zeit der Dateiname in einer Tabelle namens "Pfade" gespeichert wird, um wiederrum vor dem nächsten Speichern der Datei die Grundlage für die Suche zum Löschen zu bilden ?

    Code:
     
    schwaelbchen, 18. Oktober 2015
    #5
  6. Hallo Jens!
    Provokant gefragt:

    Wo liegt der Unterschied zwischen dem Überschreiben bereits erstellter
    PDF-Dateien und dem Erzeugen neuer Dateien bei gleichzeitigem Löschen bereits vorhandener Dateien?
    Es wäre bei jeder der beiden Lösungen immer nur die zuletzt erzeugte Datei vorhanden.

    Du verwendest für den Bericht den Filter
    Filter = "[ID] = " & .Fields("ID")
    Diese ID dürfte doch jeden Bericht eindeutig identifizieren?
    Was auch immer für Daten im Bericht selbst enthalten sind?

    Wenn das stimmt, so wäre diese ID im Dateinamen anstelle Deiner Klimmzüge zu verwenden.
    Damit überschreibts Du bereits erzeugte Dateien mit derselben ID.
    Und wann die Datei erzeugt wurde ist sowieso immer gespeichert.
    Damit entfiele auch eine historische Speicherung der PDF-Dateinamen.

    Wenn Du ein schlüssiger Argument dagegen hast, dann bitte hier posten.

    Wolfgang
     
    wb_3001, 18. Oktober 2015
    #6
  7. Guten Abend (Wolfgang),

    Du sprichst von 2 Lösungen und ich dachte eben, es wäre rein von der Prozedur her gesehen "einfacher" diese vom Code her zu gestalten. Andererseits MUSS die "alte" Datei immer gelöscht werden, gerade wenn sich eines der Kriterien für den Dateinamen ändert.
    Wenn sich natürlich nur bei anderen Daten etwas ändert, wäre es natürlich ausreichend wenn die Datei einfach überschrieben wird.

    Der Unterschied ist folgender, man bedenke, ändern sich die Kriterien innerhalb des Datensatzes für den Dateinamen, ändert sich auch der Dateiname. In diesem Fall, gibt es ja keine Datei die bei gleichlautendem Dateinamen überschrieben werden kann und es muss die "alte Version" vor dem Speichern der neuen gelöscht werden.
    Ändern sich hingegen nur andere Daten im Datensatz würde natürlich ein Überschreiben reichen.

    Ja, die ID ist natürlich immer eindeutig, unabhängig davon was für Daten im Bericht stehen.
    ABER die ID als Dateinamen zu verwenden muss ich leider verneinen, WEIL der Dateiname für die Suche und das Finden unerlässlich ist.
     
    schwaelbchen, 19. Oktober 2015
    #7
  8. Drucken von Datensätzen per Bericht als PDF-Datei

    Auch dazu hatte Wolfgang bereits in seiner ersten Antwort eine Lösung vorgschlagen: Speicher den letzten Dateinamen ab, mit dem eine PDF-Datei erstellt wurde. Dann kannst du sie auch bei Änderung der Namens-Eigenschaften noch löschen.
    Zu deinem letzten Satz: Wer verbietet dir, die ID mit in den Dateinamen aufzunehmen? Wenn du die Datei eindeutig über die ID im Verzeichnis findest, kannst du sie ruhigen Gewissens löschen.
    Das mit der ID gefällt mir persönlich besser, da ich nicht so der Fan von unnötiger Datenhaltung bin.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Toast78, 19. Oktober 2015
    #8
  9. Hallo zusammen !

    Was lange währt, wird gut. *Smilie

    Nachdem ich nun endlich dazu gekommen bin mich wieder mit dieser Thematik zu beschäftigen, bin ich auch zu einem (fast fertigen) Ergebnis gekommen.

    Mit dem folgenden Code klappt sowohl das Löschen der bestehenden PDF-Datei, als auch das Erstellen einer neuen PDF-Datei.
    Eintzigstes Problem ist gerade nur, dass sich die Prozedur aufhängt, WENN noch kein Speicherpfad im Tabellenfeld steht, dieses also LEER ist.
    Es soll also in diesem Fall nix gelöscht werden, sondern mit der Prozedur fortgefahren werden ... wie stelle ich das noch an ?


    Code:
     
    schwaelbchen, 25. Oktober 2015
    #9
  10. Leider zeigst du nicht, an welcher Stelle der Cursor stehen bleibt. So mal aus dem Bauch heraus:
    Code:
     
  11. Danke für Deine Antwort.

    Also er bleibt in der Zeile "If Dir([Speicherpfad]) "" Then" hängen.

    Mit Deinem Vorschlag bleibt er ebenso hängenmit dem Hinweis: "Laufzeitfehler 13: Typen unverträglich"
     
    schwaelbchen, 26. Oktober 2015
    #11
  12. Hallo,

    Dann muss eben eine Prüfung auf NULL erfolgen - in dem Fall auf die Stringvariable:

    Code:
    btw - Speicherpfad wurde nicht deklariert - es empfiehlt sich dringend Option Explicit einzuschalten und damit die Variablendeklaration zu erzwingen. Zudem sollten "sprechende" Bezeichner vergeben werden - Befehl258 hilft bei Fehlersuche oder Überarbeitung des Codes nicht wirklich. Und dann solltest du dir eine Liste mit reservierten Wörtern besorgen und diese in Bezeichnern vermeiden - ich denke Filter könnte zu Ärger führen.

    hth
     
    el_gomero, 26. Oktober 2015
    #12
  13. Drucken von Datensätzen per Bericht als PDF-Datei

    Also so funktioniert es nicht ganz.
    Für einen neu angelegten Datensatz kann es noch keine Datei geben, somit fliege ich immer wieder aus der Prozedur, mit der ja eigentlich im Folgenden erstellt werden soll.

    Es soll wie gesagt in diesem Fall nix gelöscht werden, sondern mit der Prozedur einfach fortgefahren werden.
     
    schwaelbchen, 26. Oktober 2015
    #13
  14. Guten Abend,

    gibt's da vielleicht noch 'nen anderen Weg den Fehler zu umgehen bzw. das Problem zu lösen ?
     
    schwaelbchen, 26. Oktober 2015
    #14
  15. Hallo Jens!

    Es gibt da mehrere Möglichkeiten:
    1. Du vergibst im Form für das Textfeld der Datei den Standardwert "".
    Damit steht auf jeden Fall ein gültiger Wert in dem Feld und nie Null.
    2. Du vergibst in der Tabelle, die den Dateinamen aufnimmt, den Standardwert "".
    Folgen wie unter 1. beschrieben.
    3. Ob es sich um einen neuen Datensatz handelt kann man mit
    Me.NewRecord = True prüfen.

    Wolfgang
     
Thema:

Drucken von Datensätzen per Bericht als PDF-Datei

Die Seite wird geladen...
  1. Drucken von Datensätzen per Bericht als PDF-Datei - Similar Threads - Drucken Datensätzen Bericht

  2. User form Drucken Position

    in Microsoft Excel Hilfe
    User form Drucken Position: Hallo Leute Habe den Code für das Ausdrucken einer User Form.. Die User Form wird im A4 Blatt gedruckt habe aber links nur einen Abstand von einem 1 cm zum Blattrand. Wie kann ich den Abstand vom...
  3. Durchgestrichenen Text nicht drucken

    in Microsoft Excel Hilfe
    Durchgestrichenen Text nicht drucken: Hallo zusammen. Ich bin noch ziemlich unerfahren und bräuchte mal eure Hilfe. Folgende Situation: Ich habe eine Tabelle mit verschiedenen Blättern. Einige Blätter werden über einen Button...
  4. Neuste&Geänderte Datensätze drucken

    in Microsoft Access Hilfe
    Neuste&Geänderte Datensätze drucken: Es bezieht sich jetzt zwar auf keinem aktuellen Projekt, aber mich würde mal interessieren, wie man es am geschicktesten einrichtet, dass bei einem Bericht nur geänderte und/oder neue Datensätze...
  5. Serienetiketten Datensatz nicht drucken

    in Microsoft Word Hilfe
    Serienetiketten Datensatz nicht drucken: Liebe Comunity, ich möchte Serienetiketten (Windows 2016) erstellen, die aber nicht immer alle gedruckt werden sollen. Habe im Excel ein Feld "drucken", wo ich entweder '"j" oder "n" eintragen...
  6. Bericht nur mit aktuellem Datensatz aus Formular anzeigen und drucken

    in Microsoft Access Hilfe
    Bericht nur mit aktuellem Datensatz aus Formular anzeigen und drucken: Guten Tag, ich habe eine Datenbank im Rahmen meiner Ausbildung zum Industriekaufmann erstellt. Diese Datenbank beinhaltet z.B. die Tabellen: mitarbeiter, psaArtikel, psaPosten,psaAusgabe. Die...
  7. einzelne Datensätze aus Formular drucken

    in Microsoft Access Hilfe
    einzelne Datensätze aus Formular drucken: Hallo liebe Leute, ich weiß, das Thema hängt Euch bestimmt schon..... habe auch von 2002 und 2003 eure Erklärungen dazu gelesen, aber ich krieg's trotzdem nicht hin (heul) bin einfach zu...
  8. Aktuellen Datensatz drucken

    in Microsoft Access Hilfe
    Aktuellen Datensatz drucken: Hallo Leute. Hab ein kleines Problem mit einer Datensatzausgabe. Habe in einem Formular ein Datensatz einer Tabelle angezeigt und bearbeitet, wenn ich nun einen Druckbutton einsetze, um den...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden