Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Berichte mit Alias versehen

Begonnen von OrionVII, Heute um 10:11:00

⏪ vorheriges - nächstes ⏩

OrionVII

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.

jens05

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
mfg
jens05

Knobbi38

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.