Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo,

ich möchte aus Access heraus einen Bericht als Email anhang versenden. Da ich das an verschiedenen stellen machen muss, habe ich ein Moudl sendMail erstellt, dem jetzt die entsprechenden Daten mitgegeben werden soll.

ich habe schon viele Foren durchsucht, finde aber immer nur angaben mit Dateipfaden, aber ich will den Bericht ja nicht speichern, sondern direkt aus Access heraus als pdf verschicken.

Ist das überhaupt mölich?

mein bisheriger code:


Option Compare Database


Public Sub send_Mail(empfaenger$, betreff As String, text As String, Optional cempfaenger As String, Optional pfad As String)


Dim objwShell As Object

'aktiveirt ClickYes

    Set objwShell = CreateObject("wscript.shell")

    objwShell.Run ("""C:\Programme\Express ClickYes\ClickYes.exe"" -activate")


Dim myMail      As Outlook.MailItem

Dim myOutlApp   As Outlook.Application


' Ein neue Outlook-Instanz und ein neues Mailitem erstellen

    Set myOutlApp = New Outlook.Application

    Set myMail = myOutlApp.CreateItem(0)



    With myMail

        ' Den Empfänger der Mail festlegen

        .To = empfaenger

        ' Einen CC-Empfänger hinzufügen

        .CC = cempfaengeer

        ' Den Betreff der Mail festlegen

        .Subject = betreff

        ' Text in die Mail einfügen

        .Body = text

        ' Ein Attachment aus dem Dateisystem anhängen

        If Not pfad = "" Then

            .Attachments.Add pfad

        End If


        ' Die Email abschicken

        .Send

        ' Anstatt die Email sofort zu senden, kann man auch die Display-Methode des

        ' Mailitems verwenden, um die Email anzuzeigen und sie vom Benutzer manuell

        ' verschicken zu lassen.


    End With


    ' Objektvariablen zerstören und Speicher freigeben

    Set myMail = Nothing

    Set myOutlApp = Nothing


'beendet ClickYes

    objwShell.Run ("""C:\Programme\Express ClickYes\ClickYes.exe"" -stop")


End Sub
und mein Funktionsaufruf:

'Email_var erstellen

    Dim empfaenger As String

    Dim betreff As String

    Dim text As String

    Dim pfad As String


'Zuordnung

    empfaenger = "meine Adresse"

    betreff = "betreff"

    text = "Inhalt"

    pfad = "Berichtname"


Call sendMail.send_Mail(empfaenger, betreff, text, , pfad)

vielen Dank im vorraus

nora

Hallo

da du einen Access- Bericht hast, der def. noch kein PDF ist musst du natürlich erst einmal den Bericht in PDF umwandeln. Was spricht dann dagegen diese PDF auf dem FileSystem abzulegen, dann als Dateianhang zu versenden und dann im FileSystem wieder zu löschen.

Um einen Bericht in ein PDF umzuwandeln kannst du z.B. PDF-Creator verwenden, dort gibt es auch viele BeispielCodes.

Gruß Hans-Jörg

da du einen Access- Bericht hast, der def. noch kein PDF ist musst du natürlich erst einmal den Bericht in PDF umwandeln. Was spricht dann dagegen diese PDF auf dem FileSystem abzulegen, dann als Dateianhang zu versenden und dann im FileSystem wieder zu löschen.

klingt erst mal ganz gut, kann ich das aus Access heraus löschen?

Um einen Bericht in ein PDF umzuwandeln kannst du z.B. PDF-Creator verwenden, dort gibt es auch viele BeispielCodes.

das geht leider nicht, weil der User nichts von der E-Mail mitbekommen soll... das ganze soll so zusagen im Hintergrund laufen... d.h. wenn ein User eine bestimmte Funktion ausführt (bei mir ein Click-Ereignis, die eine Aktualisierung durchführt) soll mir eine E-Mail mit geschickt werden, in der der aktuelle Bericht/ ein aktuelles Formular als Datei angehängt wird.

mir ist dabei egal, ob Excel/Word/pdf/rtf/snapshot

hauptsache der User bekommt es nicht mit.

danke für deine schnelle Antwort,

nora

Hallo

also wenn ich das richtig verstanden habe geht es dir weniger um die Optik sondern eher darum zu sehen welche Daten in dem Bericht stehen. Wenn dem so ist, kannst du ja einfach eine TextEmail (ähnlich wie eine LOG- Datei) wegschicken.

Noch zum PDF-Creater:

Wenn ich mich nicht komplett irre, kannst du Programmiertechnisch den PDF- Creator so verwenden, dass KEINE Maske des PDF-Creators hoch kommt, dies wiederum heißt, dass der Endanwender nichts mitbekommt.

Dateien löschen sollte über Access schon gehen.

Gruß Hans-Jörg

also wenn ich das richtig verstanden habe geht es dir weniger um die Optik sondern eher darum zu sehen welche Daten in dem Bericht stehen. Wenn dem so ist, kannst du ja einfach eine TextEmail (ähnlich wie eine LOG- Datei) wegschicken.

kannst du mir den Code zum erzeugen dieser Text-Mail schreiben?

Noch zum PDF-Creater:

Wenn ich mich nicht komplett irre, kannst du Programmiertechnisch den PDF- Creator so verwenden, dass KEINE Maske des PDF-Creators hoch kommt, dies wiederum heißt, dass der Endanwender nichts mitbekommt.

Das habe ich bis jetzt noch nicht gefunden, in den Foren steht immer nur, das der Creator Speicherort und -name abfragt, egal wie man ihn programmiert.

Dateien löschen sollte über Access schon gehen.

kannst du mir auch hierfür den Code senden?

ich bin noch nicht so fit in VBA, ich habe letzten Sommer damit angefangen, aber immer nur so "hier ist eine Aufgabe - mach mal" dann habe ich im Internet gesucht und gefunden. Da ich C, C++ und C# im Studium lerne, fällt mir das programmieren nicht so schwer, aber leider kenne ich die VBA-Syntax nicht ausreichend :(

Danke für deine Hilfe,

Nora

Hallo

hier sind ein paar Beispiel Access- Dateien

MS Access Downloads

Hier hat mir die "Knowhow 3.0" früher immer viel geholfen

Löschen von Dateien

http://forum.fachinformatiker.de/datenbanken/37159-datei-loeschen-access-per-vba.html

Noch eine gute Seite für Access- Infos

donkarls Access-Seiten

Für den PDF-Creator-Test musst dir mal den PDF-Creator herunterladen und installieren. Achtung nicht vergessen die Programmierbeispiele mit zu installieren.

Gruß Hans-Jörg

Bearbeitet von HJST1979

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.