Neuigkeiten:

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

Mobiles Hauptmenü

Bericht per Mail senden

Begonnen von Mike2017, Dezember 29, 2017, 10:05:19

⏪ vorheriges - nächstes ⏩

Mike2017

Hallo zusammen
Ich habe da ein Problem und könnte eure Hilfe brauchen.
Und zwar möchte ich einen Bericht per Mail Anhang versenden.  Der Nutzer soll dabei die Adresse im Mail Client selber eingeben.
Beim aufrufen des Codes wird also ein Bericht mit entsprechender Sortierung erstellt und auf dem Desktop als PDF Datei gespeichert wo auch aktuell das Access Frontend liegt. Funktioniert auch.  Nur beim Versuch die Datei zu versenden kommt immer ein Laufzeitfehler 2059, kann Objekt '|1' nicht finden.  Das verstehe ich nicht, die Datei ist doch da.  Muss ich eventuell beim versenden auch den Pfad angeben?  Oder wo liegt der Fehler?
Mike



Private Sub ctrl_BerichtPerEmail_Click()
    Dim strDateiname As String
   
    DoCmd.OpenReport "rptSuche", View:=acViewPreview, _
        WhereCondition:="[Anlage]=" & g_SucheAnlage & " AND [Status]<100"
       
     strDateiname = CurrentProject.Path & "\Bericht.pdf"
     
     DoCmd.OutputTo acOutputReport, "rptSuche", acFormatPDF, strDateiname
     DoCmd.Close acReport, "rptSuche"
   
    DoCmd.SendObject acSendReport, "Bericht", acFormatPDF, , , , "Betrifft irgendwas", "Beispiel Text", True
End Sub


Lachtaube

Bericht (optional gefiltert) und (optional versteckt) in der Seitenansicht öffnen, dann DoCmd.SendObject absetzen und danach die Seitenvorschau schließen - oder wo drückt der Schuh konkret?
Grüße von der (⌒▽⌒)

steffen0815

Hallo,
die Speicherung als Datei (OutPutTo) macht keinen Sinn. Du kannst mit "DoCmd.SendObject" keine gespeicherten Dateien versenden.Private Sub ctrl_BerichtPerEmail_Click()
    DoCmd.OpenReport "rptSuche", View:=acViewPreview, _
        WhereCondition:="[Anlage]=" & g_SucheAnlage & " AND [Status]<100"
    DoCmd.SendObject acSendReport, "rptSuche", acFormatPDF, , , , "Betrifft irgendwas", "Beispiel Text", True
    DoCmd.Close acReport, "rptSuche"
End Sub
Gruß Steffen

Mike2017

Na das ging ja fix, vielen Dank für eure Antworten. 
Jetzt wird es mir klar.  Ich hatte irgendwo gelesen das man den Bericht nicht mit bestimmter Sortierung versenden kann ohne ihn zwischen zu speichern.  Deswegen habe ich das so gemacht. 
Habe es jetzt entsprechend abgeändert und es funktioniert.  Vielen Dank.
Mike

Joss

Als Nachtrag noch ein Link zum DBWiki:
http://dbwiki.net/wiki/VBA_Tipp:_Bericht_als_PDF_per_Mail_%C3%BCber_Outlook_versenden
siehe Alternative Lösung: SendObject-Methode

Gruß
Josef