Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Bericht als pdf exportieren

Begonnen von tismo, Juli 19, 2017, 18:32:30

⏪ vorheriges - nächstes ⏩

MzKlMu

Hallo,
wenn das eine Mehrbenutzerumgebung ist, so muss doch jeder User sein eigenes Frontend haben. Und dort kann man (der User) den Pfad doch fest eintragen. Zu seiner Hilfe könnte man noch den Dateiauswahldialog anbieten, damit sich der User seinen Pfad aussuchen kann.
Und auch gleich in einer Tabelle speichern. Diese Tabelle dann im Frontend.

Gruß Klaus

el_gomero

Hallo,

bei der von Franz vorgeschlagegen Methode werden die Umgebungsvariablen des Benutzers ausgelesen und davon ausgehend ein weiterer vorgegebener Pfad berücksichtigt. Wenn dem Benutzer der Speicherort frei definierbar möglich sein soll, muss eine individuelle Speicherung erfolgen. Diese würde ich aber im Backend vornehmen, sonst müsste bei jeder Änderung am Frontend diese Tabelle vor Tausch aktualisiert werden.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

tismo

Hallo Klaus!

du hast das glaube ich richtig verstanden. Jeder User (Computer) hat eine eigenes Frontend. In diesem Fall in Form eines Formulares Systemsteuerung (basierend auf der Tabelle 'tblSystemsteuerung'). Ich arbeite mit MS Access 2010 weil hiermit die Tabellen noch repliziert werden können. Die Tabelle 'Systemsteuerung' wird nicht repliziert und jeder User (Computer) hat seine eigene Systemsteuerung. Also ist es meines Erachtens am sinnvollsten in dieser Systemsteuerung einmal den Pfad einzugeben, dann muss der User nicht bei jedem Start den Pfad eingegeben oder den Pfad aus einer Liste aussuchen. Der Speicherpfad soll immer gleich sein.
ZitatDann wäre nur beim ersten Start des Frontends ein Erstellen des Verzeichnisses notwendig.


Ich versuche die Anwendung für den Anwender so einfach wie möglich zu gestalten, da einige Anwender jenseits der 70 sind.

MzKlMu

Hallo,
wenn jeder User seine eigenes Frontend hat, wo ist dann das Problem ?
Lege den Pfad in die Tabelle "Systemsteuerung" und gut ist.

Zitatda einige Anwender jenseits der 70 sind.
Vorsicht bitte, das wird schnell diskriminierend.  :D ;D  8)

Gruß Klaus

DF6GL

Hallo,


ZitatDer Speicherpfad soll immer gleich sein

das ist er sowieso..  Es stellt sich eher die Frage, ob das Speicher-Verzeichnis von vornherein genau definiert sein muss. Das Ganze geht doch "automatisch", wenn einfach festgelegt wird, dass das PDF-Speicherverzeichnis (grundsätzlich) unter dem FE-Verzeichnis zu liegen kommt.  Dann kann das FE-Verzeichnis liegen, wo es will, es wird immer ein darunter liegendes "PDF"-Verzeichnis geben, was man (, wie Lachtaube gezeigt hat,) beim ersten Start der DB auf Existenz prüfen und ggfls. anlegen kann.

Wo ist da noch ein Problem?


@Klaus:
ZitatVorsicht bitte, das wird schnell diskriminierend.

Gut, dass Du mich auch darauf aufmerksam machst..  8)  ;D ;D

tismo

Hallo Klaus
Zitat
Vorsicht bitte, das wird schnell diskriminierend.  :D ;D  8)

dabei geht es hauptsächlich um meinen Vater und Onkel  ;)

@DF6GL
ZitatWo ist da noch ein Problem?

Wie sieht der code aus  um den Pfad aus der Systemsteuerung einzubinden? ???

DoCmd.OutputTo acOutputReport, "Organisation Beerdigung-Trauerfeier", acFormatPDF, "D:\Users\User\Documents\Bemopro\" & SterbefallName & ", " & Me.SterbefallVorname & " - Datenblatt-Trauerfeier.pdf"


tismo

ZitatJeder User (Computer) hat eine eigenes Frontend. In diesem Fall in Form eines Formulares Systemsteuerung (basierend auf der Tabelle 'tblSystemsteuerung')

MzKlMu

Hallo,
DoCmd.OutputTo acOutputReport, "Organisation Beerdigung-Trauerfeier", acFormatPDF, Me.FeldNameMitPfad & SterbefallName & "_" & Me.SterbefallVorname & "_Datenblatt_Trauerfeier.pdf"
Me.FeldNameMitPfad ist das Formularfeld das den Pfad aus der Tabelle "tblSystemsteuerung" anzeigt.
Ich würde Dir dringend raten auf Leer und Sonderzeichen in Dateinamen zu verzichten. Kein - und erst recht kein Komma und auch kein Leerzeichen. Allenfalls der Unterstrich (_). Ich habe das mal angepasst.
Gruß Klaus

tismo

Fehlermeldung:

Methode oder Datenobjekt nicht gefunden.

Ich gehe davon aus, dass noch kein Bezug zur Tabelle tblSystemsteuerung erstellt wurde.

MzKlMu

Hallo,
zeigt das Formularfeld den Pfad an ?
Weiter oben hast Du geschrieben:
ZitatIn diesem Fall in Form eines Formulares Systemsteuerung (basierend auf der Tabelle 'tblSystemsteuerung').
Dann ist doch der Bezug zur Tabelle da und das Formularfeld kann den Pfad anzeigen.

Und bitte, bitte immer auch den Code zeigen, damit man sieht, ob sich ggf. andere Fehler eingeschlichen haben. Lasse mal im Direktbereich den zusammengesetzten Namen anzeigen.
Debug.Print Me.FeldNameMitPfad & SterbefallName & "_" & Me.SterbefallVorname & "_Datenblatt_Trauerfeier.pdf"
Stop
DoCmd.OutputTo acOutputReport, "Organisation Beerdigung-Trauerfeier", acFormatPDF, Me.FeldNameMitPfad & SterbefallName & "_" & Me.SterbefallVorname & "_Datenblatt_Trauerfeier.pdf"
Gruß Klaus

tismo

#26
Hallo Klaus,

hier der Code

DoCmd.OpenReport "Organisation Beerdigung-Trauerfeier", acViewPreview, , "Rechnungsnummer =" & Me!Rechnungsnummer, acHidden
DoCmd.OutputTo acOutputReport, "Organisation Beerdigung-Trauerfeier", acFormatPDF, Me.pdfPfad & SterbefallName & "_" & Me.SterbefallVorname & "-Datenblatt-Trauerfeier.pdf"
DoCmd.Close acReport, "Organisation Beerdigung-Trauerfeier"


Wie kommt der Bezug zum Formular oder der Tabelle Systemsteuerung zustande?
Der Befehl zum Erstellen einer pdf-Datei erfolgt aus dem Formular RegisterDaten (Tabelle tblRegisterDaten). Das Formular Systemsteuerung (Tabelle tblSystemsteuerung)ist nicht geöffnet.

MzKlMu

Hallo,
wenn das Formular nicht geöffnet ist, geht das natürlich nicht.
Du kannst den Pfad per DLookup direkt aus der Tabelle holen.

Dim DateiPfad As String
DateiPfad=DLookup("Pfad","tblSystemsteuerung")

Für OutputTo musst Du dann die Variable DateiPfad verwenden.


Gruß Klaus

tismo

Danke für deine Geduld  :)
Klappt super.