Hallo an alle VPA Freunde :)
Hab schon etwas gegoogelt aber leider nocht nicht das gefunden was mir weiterhilft deshalb würde ich gern von jemanden
Hilfe bekommen.
Hab ein formular erstellt wo ich mit zwei textfeldern DatumVon und DatumBis eingeben kann. Dazu noch ein combo wo das Objekt
ausgewählt wird.
Eine Abfrage ist erstellt die mir diese Datensätze per button ausgibt.
Soweit so gut alles funktioniert. Auch hab ich einen button der mr diese Datensätze als bericht anzeigt...Auch gut.
Nun würde ich diesen Bericht gern als pdf zu den dazugehörigen Kunden und als dateiname z.B. Huber1.1.12bis30.1.12 speichern.
Ich habe schon einen Code für das Speichern einer pdf file gefunden aber da ja mein Bericht dynamisch erzeugt wird komm ich leider
selbst nicht weiter.
Ich hoffe ich habe mich verständlich ausgedrückt und jemand wär so nett und kann mir tipps dazu geben.
Vielen Dank
Albert
Hallo Albert,
"Ich habe schon einen Code für das Speichern einer pdf file gefunden ... "
welchen denn - innerhalb des Codes wird ja wahrscheinlich auch der Dateinamen erzeugt - und genau da musst du ansetzen.
Kannst du den Code mal posten?
Hallo Peter!
Schön das ich wieder was von Dir höre!!
Hier ist der code:
Private Sub cmdRptStunden_Click()
Dim stDocName As String
stDocName = "rptObjektStunden"
DoCmd.OpenReport stDocName, acPreview
DoEvents
DoCmd.RunCommand acCmdZoom100 '100% einstellen, falls gewünscht
DoEvents
If MsgBox("Drucken", vbYesNo) = vbYes Then
DoCmd.RunCommand acCmdPrint 'Druckerdialog
Else
DoCmd.Close acReport, stDocName
End If
End Sub
Das wäre der Code um es einfach zu drucken
und hier der code um ein pdf zu speichern
DoCmd.OutputTo acOutputReport, "rptObjektStunden", acFormatPDF, "c:\MeinPfad\MeinDateiname.pdf"
Hab leider vergessen was man eingeben muss um den Code besser lesen zu können :( tut mir leid!!
Albert
Hallo Albert,
Hab leider vergessen was ....
Schließe den Code in die Code-Tags ein:
und
hier ... DoCmd.OutputTo acOutputReport, "rptObjektStunden", acFormatPDF, "c:\MeinPfad\MeinDateiname.pdf"
muß die Angabe "C:\...." durch eine String-Variable ersetzt werden, die zuvor aus dem StandardSpeierort und dem Kundennamen sowie den Beginn-und Enddatumswerten zusammenfesetzt wird.
Also in Etwa so:
Dim strPfadundDatei as String
Dim strKunde as String
strKunde = '.... entweder aus dem Formular oder per DLookup emittelt
strPfadundDatei = "C:\DeinPfad\" & strKunde & Me!DatumVon & "bis" & me.DatumBis & ".pdf"
DoCmd.OutputTo acOutputReport, "rptObjektStunden", acFormatPDF, strPfadundDatei
Teste mal so ... ::)
Hallo Peter,
was meinst Du den mit
strKunde = '.... entweder aus dem Formular oder per DLookup emittelt
also da geht leider noch nichts ...
Da bin ich jetzt leider noch etwas überfragt wie der Code zusammengesetzt werden soll :-[
Hallo nochmal,
Der Bericht wird jetzt als Pdf gespeichert aber erst in diesem Pfad C:\Dokumente und Einstellungen\Office\Eigene Dateien\Arbeit\Kunden
Wie soll ich denn nun oder wie kann ich den Ordner auswählen.
Danke ::)
Hallo Albert,
Ich gehe davon aus, dass entweder der Kundenname oder dessen ID auf deinem Formular vorhanden ist.
Daher:
strKunde = Me!DeinFeldmitKundenname
bzw. mit der ID strKunde = DLookup("Kundenname","tblKunden","KundenID=" & Me!DeinFeldMirderKundenID)
wenn du nun für jeden Kunden einen eigenen Ordner hast:
strPfadundDatei = "C:\" & strKunde & "\" & strKunde & Me!DatumVon & "bis" & me.DatumBis & ".pdf"
oder wenn du einen 'Sammelordner' verwendest:
strPfadundDatei = "C:\NameDesOrdners\" & strKunde & Me!DatumVon & "bis" & me.DatumBis & ".pdf"
im Prinzip enthält die Variable strPfadundDatei den Pfad und den Dateinamen, den deine abgelegte Datei ehalten soll und würde so wie in deinem Beispiel .... "c:\MeinPfad\MeinDateiname.pdf" ... entsprechen.
In dieser Variablen wird daher diese Information durch Stringverkettung zusammengesetzt und der Funktion ... DoCmd.OutputTo übergeben.
Der Laufwerksbuchstabe und das Speicherverzeichnis müssen bereits bestehen sonst stellt die Funktion deine *.pdf ins Standarddateiverzeichnis!
HTH
Danke für Deine Antwort und Hilfe,
werde es gleich probieren!!
Ich lass es Dich wissen ob es funktioniert hat ;D
Hi,
na dann wollen wir mal hoffen dass es klappt! ::) ;)