Office: (Office 2010) Anhang, der in Access gespeichert ist, soll an eine eMail gehängt werden

Helfe beim Thema Anhang, der in Access gespeichert ist, soll an eine eMail gehängt werden in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Community das aktuelle Access-Projekt behandelt das Thema Erfassung und Bearbeitung von Fehlermeldungen von Kunden. Ausgangslage Der Erfasser... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Invocation, 24. März 2017.

  1. Anhang, der in Access gespeichert ist, soll an eine eMail gehängt werden


    Hallo Community

    das aktuelle Access-Projekt behandelt das Thema Erfassung und Bearbeitung von Fehlermeldungen von Kunden.

    Ausgangslage
    Der Erfasser legt für jede Meldung via einem Formular einen neuen Datensatz an. Dabei speichert er auch Dateien wie Bilder etc. direkt in Access ab.
    Dazu gibt es in der entsprechenden Tabelle ein Feld mit dem Typ "Anlage" und im Formular ein entsprechendes Steuerfeld.

    Soweit, so gut.

    Problem
    Nun soll nach dem Erfassen eines neuen Tickets eine eMail erstellt werden. Dies funktioniert soweit auch schon recht gut via VBA, einzig alleine suche ich nach einer Möglichkeit, die dem Datensatz zugehörigen Anlagen beizufügen.

    Frage
    Wie kann ich via VBA (Code siehe unten) die Anlage hinzufügen?

    Danke euch im Voraus & Grüsse
    Ralf

    Code:
    :)
     
    Invocation, 24. März 2017
    #1
  2. Könntest den Inhalt als Bericht ausgeben
    und den als Anhang nutzen.
    Dazu gibts hier im Forum einige Beispiele.
    Einfach mal die Suchfunkion nutzen... *wink.gif*
     
    Mattes2, 25. März 2017
    #2
  3. Hallo Mattes,

    das wäre zwar eine Variante, von daher gut zu wissen, Danke...
    Aber nicht die, die ich favorisieren würde *Smilie

    Die eMail sieht schon recht schick aus, erhält noch HTML Formatierung etc. daher würde ich die Datei(en) gerne - wenn möglich - direkt anhängen.

    Grüsse
    Ralf
     
    Invocation, 25. März 2017
    #3
  4. Anhang, der in Access gespeichert ist, soll an eine eMail gehängt werden

    Hallo,
    du musst die Anlagen zunächst als Datei speichern und dann per "Attachments.Add" anhängen.
    Arbeiten mit Anlagen in DAO

    Im Formular dann etwas in der Art: Code:
     
    Steffen0815, 25. März 2017
    #4
  5. Hallo Steffen,

    ok, es führt also kein Weg um das Extrahieren der Anlage und zumindest temporären Speichern auf der Festplatte herum, richtig?

    Das dürfte machbar sein - allerdings würde ich dann auch gleich dafür sorgen wollen, dass die Datei tatsächlich nur temporär dort gespeichert wird, d.h.
    a) eMail Aufbereitung für ausgewählten Datensatz wird im Formular angestossen
    b) Datei des gewählten Datensatzes wird auf Festplatte gespeichert
    c) Datei wird an eMail angehängt
    d) eMail wird erzeugt
    e) Access löscht automatisch im Background die erzeugte Datei

    b) und c) schaue ich mir näher an, aber vom Prinzip her klar.

    Nur für e) habe ich noch keine konkrete Idee, wie ich das sauber machen kann.

    Danke & Grüsse
    Ralf
     
    Invocation, 26. März 2017
    #5
  6. Servus Invocation,
    Warum nicht gleich die Anlagenfelder meiden und eine separate Tabelle n:1
    zu den Fehlermeldungen machen, in welchen die Links zu den Dokumenten
    festgehalten sind, welche auf der Festplatte gespeichert wurden.
    Siehe Beispiel DB
    Die Dokumente auf der Festplatte kannst Du über das FileSystemObjekt
    wieder löschen, falls Du das unbedingt tun willst. Das sollte aber dann mit dem Löschen des zugehörigen Datensatzes stattfinden.
    Daten sollte man aber nicht löschen, sondern nur als gelöscht markieren, damit sie im normalen Procedere dann nicht mehr auftauchen.
    Das ist natürlich auch eine Problematik des Datenschutzes btw.
     
    Ohrkester, 26. März 2017
    #6
  7. Hallo Ohrkester,

    ich hatte selbst vorher schon kurz darüber nachgedacht, die Idee aber wieder verworfen. Das Big-Picture hilft hier vermutlich *Smilie

    Zweck und Umfeld der Access-DB
    Die DB soll in einem Konzernumfeld ausserhalb der regulären IT-Prozesse für eine bessere Standardisierung von Kundenbeschwerden verwendet werden. Dies wird heute via Excel, Papier, eMail etc. geregelt.
    Das Umfeld ist damit auch recht dynamisch und somit würde ich mich nicht auf die Stabilität der Links etc. verlassen wollen. Daher auch die Idee, die Anlagen innerhalb von Access zu speichern.
    Die DB werde ich in ein Backend aufteilen und in 3 Front-Ends, die insgesamt von 10 Usern mit einer jeweils lokalen Kopie verwendet werden.

    Sinn der Anlagen
    Der User soll z.B. Fotos von beschädigten Sendungen, die er zusätzlich vom Kunden erhält, beifügen können.
    In dem aktuellen Setting würde also der Export der Anlage lediglich temp. für den eMail Versand erfolgen. Wird die Datei später wieder gelöscht ist sie noch immer im Datensatz gespeichert, was auch so bleiben soll.
    Aktuell habe ich mir einfach überlegt, ein zentrales temp. Verzeichnis anzulegen, in das die exportierten Dateien temporär abgespeichert werden. Anschliessend wird das ganze Verzeichnis geleert.

    Ist der Gedanke so nachvollziehbarer oder macht das überhaupt keinen Sinn auf diese Art? *Smilie

    Danke & Grüsse
    Ralf
     
    Invocation, 26. März 2017
    #7
  8. Anhang, der in Access gespeichert ist, soll an eine eMail gehängt werden

    Hallo,
    Nimm einfach noch mal den gleichen Code wie beim Speichern.
    Statt Code:
    Dann Code:
    Btw: Gegen Anlagenfelder spricht erst mal nix, wenn die Datenmenge nicht zu groß ist.
     
    Steffen0815, 26. März 2017
    #8
  9. Coole Idee, Danke. Ich verfolg das weiter, sobald ich die Einzelteile zusammengefügt habe.
    Denn momentan sehe ich wohl den Wald vor lauter Bäumen nicht mehr. *grins

    Exportieren der Anlagen aus Access geht mit dem Script von Dir, Steffen, 1a. Danke!
    Ich habe das Script auch schon so eingebaut, dass der Export beim Aufrufen der eMail Prozedur erfolgt.

    Wo ich momentan hänge, ist vermutlich simpel:
    Ich möchte jetzt via .Attachments.Add die zuvor exportierte Datei(en) anhängen. Beim Exportieren werden diese ja schön mit Namen deklariert.

    Aber ich hänge gerade, wie ich auf die Bezeichnung der Dateien komme.

    Mein Code (etwas verkürzt) aktuell, der aber nicht funktioniert *Smilie
    Gleiches Thema gilt auch für Kill. Eigentlich muss ich nur die Dateinamen als Variablen irgendwie zwischenspeichern...

    Code:
     
    Invocation, 26. März 2017
    #9
  10. Hallo!

    Dein Code etwas umgebaut (in mehrere Prozeduren zerlegt, damit man besser erkennt, was passiert) und um eine API für das Temp-Verzeichnis erweitert:
    Code:
    mfg
    Josef
     
    Josef P., 26. März 2017
    #10
  11. Servus,
    @Invocation: Ich wünsche Dir, dass niemand auf die Idee kommt,
    von Dir mal grössere Auswertungen über längere Zeitläufe zu verlangen.
    Da müsstest Du dann die Hosen herunterlassen und Dein für kurze Zeitläufe
    praktikables System offenbaren, wobei dann sofort jeder fragen wird, warum
    das wegen stetig gelöschter tempDaten ganz furchtbare Ermittlungslöcher ergibt.
    Spätestens dann würden in Access gespeicherte Dokumente das 2 gbyte Problem sprengen, wenn Du sie pro Vorfall in der DB behalten wolltest.

    Deine DB ist keine DB, sondern ein Notiz-Zettelsystem mit laufend weggeworfenen Notizen. Also ein Excelsystem auf Accessbasis.
     
    Ohrkester, 26. März 2017
    #11
  12. Ein wenig mehr ist schon dahinter *Smilie Aber ja, zentrale Elemente fehlen wie eine saubere Historisierung, error Handling, User Management etc.

    Aber x-mal mehr als das, was momentan da ist. Es läuft strukturierter, ist standardisierter, Reports können schneller erstellt werden und mehrere User damit arbeiten.

    Da ich aber lediglich auf Goodwill Basis unterstütze, noch nicht einmal dort arbeite, ist mein Einsatz dafür limitiert.

    Man kann das nun DB nennen oder Notiz-Zettelsystem - so lange es den Zustand jetzt deutlich verbessert, finde ich das nicht relevant.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Invocation, 26. März 2017
    #12
  13. Anhang, der in Access gespeichert ist, soll an eine eMail gehängt werden

    @Josef: HAMMER! Vielen Dank schon einmal dafür!

    Habe den Code in VBA eingefügt und gehe jetzt Stück für Stück durch. Melde mich, sobald ich durchsteige oder doch noch auf Probleme stosse *Smilie
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    Invocation, 26. März 2017
    #13
  14. Hallo Zusammen,

    ich habe Josef's Code nun integriert und es funktioniert mit Ausnahme eines kleinen Problems *Smilie

    Die eMail wird erzeugt, die korrekten Daten werden vom Recordset verwendet bis auf die Anlage(n). Diese werden zwar immer schön ins .tmp Verzeichnis geschrieben anschliessend an die eMail gehängt und wieder gelöscht. Nur sind es jeweils immer nur die Anlagen, des ersten Records.

    D.h. ich navigiere z.B. im Formular zu Record 44, erhalte eine eMail mit Angaben aus diesem Record nur eben die Anhänge stammen aus Record 1.

    Hat jemand von euch Ideen? Ich vermute, es liegt an der Definition des Recordsets...

    Grüsse & schönen Abend
    Ralf
     
    Invocation, 27. März 2017
    #14
  15. Hallo!

    Das kommt von:
    Code:
    Hier steht der Datensatzzeiger im ersten Record.
    (Das übersah ich, da ich meine Bearbeitungsmasken immer auf ein "Haupt"-Recordset filtere. *wink.gif*)

    Ausweg (nur Luftcode, aber das Prinzip wird schon zu erkennen sein):
    Code:
    oder:
    Code:
    Da mit dem Recordset keine Zeigerbewegung erfolgt, sondern nur der Zugriff auf die Felder genutzt wird, finde ich das ok. Die Variante mit dem Clone beugt nur Folgefehler vor, falls auch einmal eine Zeigerbewegung im recordset gemacht würde. (Typischer Fall: Nutzung von Excel.Range.CopyFromRecordset)

    mfg
    Josef
     
    Josef P., 27. März 2017
    #15
Thema:

Anhang, der in Access gespeichert ist, soll an eine eMail gehängt werden

Die Seite wird geladen...
  1. Anhang, der in Access gespeichert ist, soll an eine eMail gehängt werden - Similar Threads - Anhang Access gespeichert

  2. MS Office 2021

    in Microsoft Outlook Hilfe
    MS Office 2021: Hallo, ich möchte alle .xml Anhänge in einem Ordner automatisch speichern mit einem Skript. Habe aber keine Ahnung wie das geht. Kann mir bitte jamand halfen?
  3. Email mit Anhang aus Access senden

    in Microsoft Access Hilfe
    Email mit Anhang aus Access senden: Hallo zusammen, Vielleicht kann mir jemand weiterhelfen! Ich habe in Access ein Formular erstellt um direkt aus dem Formular Emails mit Anhang (Fotos) zu versenden. Nun habe ich folgenden VBA...
  4. Access Tabelle in email body kopieren (nicht anhängen)

    in Microsoft Access Hilfe
    Access Tabelle in email body kopieren (nicht anhängen): Hallo zusammen, ich habe nach langem Suchen diese Funktion gefunden, die mir eine Outlook message erzeugt und die Tabelle in den Body kopiert. Code: Public Function HTMLMail(SendTo As String,...
  5. Mail mit Anhang aus Access senden

    in Microsoft Access Hilfe
    Mail mit Anhang aus Access senden: Hallo zusammen, ich habe vor, aus Access automatisiert Emails zu versenden. Datenbasis hierzu liefert eine Abfrage. Zum Thema, wie man Serienmails aus Access sendet, habe ich schon eine Anleitung...
  6. Email mit verschiedenem Anhang aus Access

    in Microsoft Access Hilfe
    Email mit verschiedenem Anhang aus Access: Hallo! Ich habe folgendes Problem und bräuchte einen Rat, wie ich da am besten rangeh: Wir haben einen Wachdienst und versenden am nächsten Tag immer Protokolle an unsere Kunden, was die letzte...
  7. Hilfe bei Makroimplementierung in Access - mit Anleitung im Anhang

    in Microsoft Access Hilfe
    Hilfe bei Makroimplementierung in Access - mit Anleitung im Anhang: [ATTACH][ATTACH][ATTACH][ATTACH][ATTACH][ATTACH][ATTACH] Hallo, ich benötige Hilfe bei der Implementierung einer Makro in meine Access-Datei. Ich sitze seit Stunden an der Aufgabe, die in...
  8. [Access 2003] - Access + Email-Versand mit Anhang

    in Microsoft Access Hilfe
    [Access 2003] - Access + Email-Versand mit Anhang: Hallo zusammen, ich habe eine kleine Auftragsdatenbank erstellt, in der ich hinterlege, welcher Dienstleister beauftragt wird. Jeder Auftrag hat eine eindeutige ID. Nun möchte ich den...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden