Office: (Office 2016) E-Mail Report-Daten aus Outlook einlesen

Helfe beim Thema E-Mail Report-Daten aus Outlook einlesen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hi, ich möchte Report Daten die ich per EMail (Outlook) zugeschickt bekomme, in Access einlesen. Bei den Daten handelt es sich um Nutzereingaben wie... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Kainer, 5. Juni 2017.

  1. E-Mail Report-Daten aus Outlook einlesen


    Hi, ich möchte Report Daten die ich per EMail (Outlook) zugeschickt bekomme, in Access einlesen.

    Bei den Daten handelt es sich um Nutzereingaben wie
    Name: ..
    Vorname: ..
    Anschrift: ..
    .
    .
    .

    Ich habe eine Verknüpfung mit dem Outlook Ordner erstellt, nur packt der mir alles (vom Body der E-Mail) in eine Spalte als Memo.
    Die Daten möchte ich gerne aber in meiner Tabelle als neuen Datensatz haben.

    Habt ihr da Ideen?

    :)
     
    Kainer, 5. Juni 2017
    #1
  2. Mit Instr() & Mid() die Daten extrahieren?

    Code:
    ?getsubstring("Name: Catboy Jones" & vbcrlf & "Anschrift: Zu Hause" & vbcrlf, "Name:")
    Catboy Jones
     
    CatboyJones, 7. Juni 2017
    #2
  3. Danke CatboyJones,

    kannst du mir den Code etwas erklären?

    was übergeb ich dort der Funktion und wie kann ich damit einen neuen Datensatz in einer Tabelle erstellen?
     
    Kainer, 7. Juni 2017
    #3
  4. E-Mail Report-Daten aus Outlook einlesen

    Hi!

    Ausgehend von der Annahme, der Mail-Body hat immer denselben Aufbau
    bezüglich der Daten die Du einlesen willst. Bestehend aus einem Bezeichner
    und dem darauf folgenden Wert, der mit einem Zeilenabschluss (vbcrlf) endet.
    Dann kannst Du die DS einer Tabelle mit den Mail-Bodys durchlaufen,
    den Body in die einzelnen Werte splitten, und diese in eine Zieltabelle speichern.

    Code:
    Im Body wird der Bezeichner gefunden und damit die Startposition des folgenden Wertes.
    Die Endposition ist das erste vbCrLf das nach der Startposition auftritt.
    Mit diesen Positionen wird der Wert ausgeschnitten.

    Sollte z.B. die Anschrift mehrzeilig sein, musst Du schauen ob das auch lösbar ist.
    Angenommen es folgt noch die Telefon-Nr. dann könntest du so vorgehen:

    Code:
    Na ja, das ist halt programmieren. Du musst ggf. die einzelnen Befehle
    recherchieren (Google / Online-Hilfe) und mit Fantasie ein bisschen testen.

    Gruss
    Jones
     
    CatboyJones, 7. Juni 2017
    #4
  5. Habe das mal kurz bei mir getestet.

    Wenn ein Kunde den Lizenzkey erneuert, dann wird dabei das OK dafür von
    meiner Website eingeholt, und die schickt mir dann ein EMail mit Infos zu
    diesem Vorgang. Die Mail hat immer denselben Aufbau, und das kann
    ich wie folgt einlesen. Ich setzte einen Filter auf [Erhalten] damit
    nicht die bereits übernommenen Daten behandelt werden.
    Außerdem werden die Mails ohne "Lizenznehmer"
    ausgelassen.

    Code:
     
    CatboyJones, 8. Juni 2017
    #5
  6. vielen Dank CatboyJones,

    ich werde mich jetzt dran setzen um den Code erstmal zu verstehen
     
    Kainer, 8. Juni 2017
    #6
  7. Hi, ich habe den Code nun versucht umzubauen, da ich die Daten aktualisieren möchte und nicht neue Datensätze erstellen will. Leider läuft das noch nicht. Wisst ihr was ich falschgemacht habe?

    Ziel ist es, z.B. wenn ich eine report e-Mail erhalte, dass der geänderte Status in der Datenbank aktualisiert wird, um den Status dem Datensatz in der Tabelle reportTbl eindeutig zuzuweisen, kann ich die PersonalNr nehmen.

    Code:
     
    Kainer, 12. Juni 2017
    #7
  8. E-Mail Report-Daten aus Outlook einlesen

    Hi!

    Du änderst das Feld im DS eines Recordsets direkt und verwendest keine
    SQL-Anweisung dafür. Mit FindFirst suchst Du den DS mit der PersonalNr.
    Anschließend zeigt dir .NoMatch ob der DS gefunden wurde. Ist der Wert
    false, dann ist der aktuelle DS der gefundene. In diesem kannst Du dann
    das Feld ändern:

    Code:
     
    CatboyJones, 12. Juni 2017
    #8
  9. Danke CatboyJones,

    das hat super funktioniert!
     
    Kainer, 14. Juni 2017
    #9
  10. Hi, nachdem ich jetzt soweit alles fertig habe, bin ich auf ein großes Problem gestoßen. Wenn ich das HTML Formular zurückgeschickt bekomme, speichert er die HTML Tabelle als Text im verknüpften Outlook Ordner je nach EMail Programm des Versenders anders.

    Da ich zuerst nicht wusste, dass je nach EMail Programm der "Text" anders ausschaut, habe ich die Suchfunktion für die Web-Mail gemacht die auch wunderbar funktioniert, aber das bringt nichts wenn alle anderen nicht gehen.

    Habt ihr Ideen was man da machen kann? Vielleicht etwas am HTML Code ändern dass er sicht nicht so auseinander nehmen lässt?

    Tabelle ist so aufgebaut;

    Code:
    Antworten aus Outlook 2010:
    Code:
    Antworten aus Thunderbird:
    Code:
    Antworten aus Web-EMail:
    Code:
     
    Kainer, 19. Juni 2017
    #10
  11. Wenn der Aufbau der Daten verschieden ist, musst den Code für jedes "Format" entsprechend gestalten. Du weißt also nie, wann du die nächste Anpassung vornehmen musst. Ein Krampf.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    markusxy, 19. Juni 2017
    #11
  12. Code:
    So müsste es für die ersten beiden Werte funktionieren.
    Für den letzten Wert sollte die alte Methode langen.

    Gruss
    Jones
     
    CatboyJones, 19. Juni 2017
    #12
  13. E-Mail Report-Daten aus Outlook einlesen

    Hi danke für die Antworten,
    leider weiß ich nicht wie die anderen E-Mai Provider die Daten senden,
    ich habe mir überlegt wenn ich das Formular ändere, sodass die Antworten immer unter den "Fragen" stehen, dann müsste ich nur dieses Zeichen "
     
    Kainer, 20. Juni 2017
    #13
  14. Upsi, habe nicht erkannt, dass das '>' nicht von Dir fürs posten kam.

    Entfernen immer mit Replace(sText, "suche", "ersetze")
    Dann also:

    Code:
    Lass den Aufbau lieber mehrspaltig, aber füge noch ein abschließende
    Zeile ein mit einem erkennbaren Text, damit du den letzten Wert
    auch noch auf diese Weise erfassen kannst:

    Code:
    Gruss
    Jones
     
    CatboyJones, 20. Juni 2017
    #14
  15. Hi, danke für deine ständige Hilfe CatboyJones,

    ich bin leider immernoch nicht weitergekommen, ich habe jetzt mal Message Boxes auspucken lassen wo das Problem liegt.

    Die Personalnummer in der E-Mail soll ja mit der in der Datenbank verglichen werden, bei manchen E-Mails funktioniert das und bei manchen nicht.

    Ich habe mal Screenshots reingestellt bei dem ich geschaut habe was er einliest.
    Manchmal so scheint es, ersetzt er nicht alle Leerzeichen, ich habe dann nochmal folgendes nach dem einlesen hinzugefügt um die Leerzeichen anzuzeigen:
    Code:
    Bei dem Fehler Screenshot ersetzt er nur 3 Leerzeichen mit a, die anderen sind unbekannt. Ich habe auch nochmal versucht Zeilenumbrüche zu ersetzen (b), leider war es das auch nicht.
    Die Länge der Nummer darf hier eigentlich nur 6 Zeichen sein, bei dem Fehler sind es 12.

    Hast du/ ihr Ideen was die restlichen Zeichen sein können?
     
    Kainer, 22. Juni 2017
    #15
Thema:

E-Mail Report-Daten aus Outlook einlesen

Die Seite wird geladen...
  1. E-Mail Report-Daten aus Outlook einlesen - Similar Threads - Mail Report Daten

  2. Wann genau wird Mail zu verpassten Aktivitäten versandt

    in Microsoft Teams Hilfe
    Wann genau wird Mail zu verpassten Aktivitäten versandt: Hallo miteinander, wird das Mail zu verpassten Teams-Aktivitäten nur versandt, wenn man nicht in Teams oder am PC angemeldet ist oder wird es auch versandt, wenn man in Teams angemeldet ist aber...
  3. Mail verschieben, wenn sie "als erledigt markiert ist

    in Microsoft Outlook Hilfe
    Mail verschieben, wenn sie "als erledigt markiert ist: Halo liebes Forum-Team, mein Problem: ich arbeite in einem großen Unternehmen mit vielen Mitarbeitern. Ich könnte in der Archivierung viel Zeit sparen, wenn ich nicht die lange Ordnerstrucktur...
  4. Empfänger sieht primäre Adresse statt Alias, an den die Mail ging

    in Microsoft Outlook Hilfe
    Empfänger sieht primäre Adresse statt Alias, an den die Mail ging: Moin. Ein Kollege muss ein paar Apps registrieren, von denen dann ab und zu auch eine Statusmail an ihn gesendet wird. Für seine primäre E-Mail-Adresse Vorname.Nachname@Firma.de habe ich den Alias...
  5. Spam Mail

    in Microsoft FrontPage Hilfe
    Spam Mail: Hallo, ich wollte für eine Bekannte ein Konto einrichten, Sie bekommt eine Mail, beim Link wir aber auf eine unsichere Seite verwiesen. <img...
  6. Falsche E-Mail-Adresse in Outlook Live nach IONOS-Migration

    in Microsoft Outlook Hilfe
    Falsche E-Mail-Adresse in Outlook Live nach IONOS-Migration: Hallo zusammen, ich habe kürzlich meinen Vertrag bei IONOS umgestellt und musste dabei auch meine E-Mail-Adressen über ein IONOS-Tool migrieren. Outlook auf meinem Desktop-Rechner und auch auf...
  7. Bestimmte Mail automatisch nach X Tagen löschen

    in Microsoft Outlook Hilfe
    Bestimmte Mail automatisch nach X Tagen löschen: Hallo, ich erhalte immer einmal in der Woche Mails wobei ich immer nur die aktuellste Mail benötige und die anderen Mails veraltet sind und somit endgültig gelöscht werden können, da diese sonst...
  8. Mail System Delivery Report

    in Microsoft Outlook Hilfe
    Mail System Delivery Report: Hallo! Habe vorige Woche den Office Outlook 2003 installiert und bekomm da bei jeder Mail die ich sende dieses Mail: Betreff: Mail System Delivery Report Your message was successfully...
  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