collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 27
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13811
  • stats Beiträge insgesamt: 64313
  • stats Themen insgesamt: 8696
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: Bericht per Mail senden  (Gelesen 145 mal)

Offline Mike2017

  • Newbie
  • Beiträge: 7
Bericht per Mail senden
« am: Dezember 29, 2017, 10:05:19 »
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

« Letzte Änderung: Dezember 29, 2017, 10:12:06 von Mike2017 »
 

Offline Lachtaube

  • Access-Meister
  • ***
  • Beiträge: 957
Re: Bericht per Mail senden
« Antwort #1 am: Dezember 29, 2017, 10:14:01 »
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 (⌒▽⌒)
 

Offline steffen0815

  • Access-Profi
  • **
  • Beiträge: 122
Re: Bericht per Mail senden
« Antwort #2 am: Dezember 29, 2017, 10:28:49 »
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
 

Offline Mike2017

  • Newbie
  • Beiträge: 7
Re: Bericht per Mail senden
« Antwort #3 am: Dezember 29, 2017, 10:36:19 »
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
 

Offline Joss

  • Access-User
  • *
  • Beiträge: 60
Re: Bericht per Mail senden
« Antwort #4 am: Dezember 31, 2017, 19:35:06 »
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