Hallo zusammen
schönen Feiertag an alle. Inzwischen kann ich durch die hier erteilte Hilfe problemlos Rechnungen per Mail an Kunden verschicken. Dabei ist auch immer die Rechnung als PDF im Anhang.
Nun heißen die aber immer rptRechnung. Kann ich einen Alias zusammensetzen?
Also so etwas wie: SELECT Nachname AS KName FROM Kunden bei Abfragen
Ich hätte gerne, dass jede Rechnung individuell aus der Kundennummer, dem Rechnungsdatum und dem Kundennachnamen besteht.
Hallo,
anbei mal ein Vorschlag, wenn du mit SendObject arbeitest
On Error GoTo errhandle
Dim strReport As String
Dim strRepDesc As String
strReport = "rptRechnung"
DoCmd.OpenReport strReport, acViewPreview, , , acHidden
With CurrentDb().OpenRecordset("SELECT * from qryDeineAbfrage") 'evtl mit Where Kriterium
If Not .EOF Then
strRepDesc = !Kundennummer & "_" & Format(!Rechnungsdatum, "YYYYMMDD") & "_" & !NachnameKunde
Else
MsgBox "Fehler bei Abfrage", vbCritical
DoCmd.Close acReport, strReport
Exit Sub
End If
End With
Reports(strReport).Caption = strRepDesc
DoCmd.SendObject acSendReport, strReport, acFormatPDF, "email@domain.de", , , "Betreff", "Mailtext", True
Exit Sub
errhandle:
If Err.Number <> 2501 Then _
MsgBox Err.Description
Das geht über einen kleinen Umweg:
Dim strBerichtName As String
Dim strWunschName As String
strBerichtName = "MeinBericht" ' Name Ihres Berichts in Access
strWunschName = "Rechnung_Firma_XYZ.pdf" ' Der neue Dateinamen-Wunsch
DoCmd.OpenReport strBerichtName, acViewPreview, , , acHidden
' Beschriftung (Caption) auf den neuen Dateinamen ändern
Reports(strBerichtName).Caption = strWunschName
DoCmd.SendObject acSendReport, strBerichtName, acFormatPDF, _
"empfaenger@email.de", , , "Ihr Betreff", "Hier steht der Text", True
DoCmd.Close acReport, strBerichtName
Nachtrag:
Ich sehe gerade, Jens hatte eine ähnliche Idee. Vermutlich kann man sich das mit dem Recordset auch sparen und die Kundennummer direkt aus dem Report auslesen.