Neuigkeiten:

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

Mobiles Hauptmenü

Datensammlung per E-Mail: Empfangsdatum und -uhrzeit per VBA in Tabelle schreibe

Begonnen von Samurai2_de, August 23, 2016, 00:29:25

⏪ vorheriges - nächstes ⏩

Samurai2_de

Hallo ihr Wissenden!

Kaum ist ein Problem gelöst, da kommt der Samurai2_de schon wieder mit einem neuen um die Ecke geschossen.  8)

Wie im Betreff bereits beschreiben wollte ich in meinem aktuellen Datenbankprojekt eine Datensammlung per E-Mail einbinden. Die Tabelle für den "Posteingang" zum Anzeigen der angekommenen Mails existiert bereits (tbl_inbox), die Felder sind definiert und die E-Mail mithilfe des Assistenten von Access 2007 geschrieben und versandbereit. Erste Tests laufen auch vollkommen zufriedenstellend, es funktioniert alles so wie gewollt.
Jetzt kommt nur eine kleine Hürde:
In zwei Felder in der Tabelle sollen zum einen das Eingangsdatum der E-Mail, als auch die Eingangsuhrzeit der E-Mail eingetragen werden.
Lässt es sich über VBA realisieren, dass das diese beiden Daten zum Zeitpunkt des Posteingang der E-Mail ausgelesen und in die Tabelle eingetragen werden? Oder gibt es einen Kniff, so dass Access immer dann, wenn es (durch den Eingang der E-Mail) einen Datensatz der Tabelle tbl_inbox hinzufügt, das Datum und die Uhrzeit, wann der Datensatz hinzugefügt wurde, in die vorgesehenen Felder der Tabelle schreibt?

Ich tappe gerade im stockdunkeln, was dieses Thema angeht und Tante Google konnte mir auch noch nicht so recht helfen...

Sollte also jemand von euch ein Idee haben, würde ich sie sehr gerne hören... äh... lesen!

Vielen Dank schon einmal für die Hilfe!

Mit Gruß aus dem dunklen Nachtdienst

Samurai2_de
"Vegetarier" ist das indianische Wort für "zu doof zum jagen"!

Ein Tag ohne Lachen ist ein verschenkter Tag!

Samurai2_de

Kleiner Edit noch:
wichtig ist tatsächlich, das Datum und die Uhrzeit des Posteingangs der E-Mail festzuhalten und nicht einfach nur in der Tabelle zu speichern, wann der entsprechende Datensatz erzeugt wurde. Diese beiden Zeitpunkte können nämlich im schlimmsten Fall mehrere Stunden auseinander liegen (Fall: DAU) und an das Datum und die Uhrzeit des Posteingangs der Mail sind Zeitfristen geknüpft...

Daher funktioniert die Lösung, die Standardwerte für das Datumsfeld in der Tabelle auf Datum() und für das Uhrzeitfeld auf Jetzt() zu setzen, leider nicht...
"Vegetarier" ist das indianische Wort für "zu doof zum jagen"!

Ein Tag ohne Lachen ist ein verschenkter Tag!

MaggieMay

Hallo,

ohne nähere Kenntnisse zur Sache zu haben, möchte ich nur den Einwurf bringen, dass mWn diese Funktion bereits wieder "ad acta" gelegt wurde, d.h. in neueren Office-Versionen schon nicht mehr vorhanden ist.

Da läge also die Überlegung nahe, sich nach einer anderen (langlebigeren!) Lösung umzuschauen.
Freundliche Grüße
MaggieMay

Samurai2_de

Moin!

In neueren Office-Versionen kann man nicht mehr per E-Mails Daten sammeln? Oh, das wusste ich nicht.  :(

Dann stellt sich tatsächlich die Frage nach einer "langlebigeren" Lösung. Hat da jemand einen Hinweis für mich, was ich da einbinden könnte?
Hintergrund zur Datenbank: es sollte die Möglichkeit geschaffen werden, die Ankunft von Ware anzuzeigen, ohne dass jeder, der Ware erhält, auf Zugriff auf die Datenbank haben muss. Daher erschien mir die Lösung mit der E-Mail noch die Beste...
Kennt jemand noch eine andere Möglichkeit, dass "fremde" Personen bestimmte, normierte Daten in die DB einspielen könne, ohne direkten Zugriff auf das Frontend zu haben?

Verwirrte Grüße aus dem Nachtdienst

Samurai2_de

UPDATE:
Ich habe gerade nochmal gegoogelt. Im Supportforum von Office heißt es hier:
"In Access 2013 wird das Erstellen neuer Datensammlungsformulare nicht mehr unterstützt. Sie können aber Datensammlungsformulare verarbeiten, die in Vorgängerversionen von Access erstellt wurden."
Demnach ist doch sozusagen nur der Assistent zum Erzeugen der E-Mail-Formular nicht mehr vorhanden, die Datensammelfunktion per E-Mail selber ist aber noch da, oder sehe ich das falsch?
"Vegetarier" ist das indianische Wort für "zu doof zum jagen"!

Ein Tag ohne Lachen ist ein verschenkter Tag!

ebs17

Zitates sollte die Möglichkeit geschaffen werden, die Ankunft von Ware anzuzeigen
Wie genau stellt sich die Ankunft von Ware dar (in elektronisch verarbeitbarer Form)?

ZitatKennt jemand noch eine andere Möglichkeit, dass "fremde" Personen bestimmte, normierte Daten in die DB einspielen könne, ohne direkten Zugriff auf das Frontend zu haben?
Wenn Du Outlook als EMail-Client benutzt: Dieses hat ein Ereignis NewMail. Also könnte per VBA dieses genutzt werden, um Inhalte von Mails mit bestimmten Merkmalen direkt in das Backend zu schreiben, und das dann unmittelbar.
Eine entsprechende Standardisierung dieser EMails ist da natürlich sehr hilfreich.
Mit freundlichem Glück Auf!

Eberhard

Samurai2_de

Moin ebs17!

Vielen Dank für deine Antworten, das klingt schon sehr interessant!
Zu deinen Fragen:
ZitatWie genau stellt sich die Ankunft von Ware dar (in elektronisch verarbeitbarer Form)?
Ich hoffe, ich habe deine Frage richtig verstanden, daher meine Antwort erstmal so, wie ich die Frage verstanden habe:
Ware kommt körperlich in einem nicht an die IT-Infrastruktur der Firma angeschlossen Außenlager an, z.B. bei einem Subunternehmer. Diese Ware ist für meine Firma bestimmt und wird in der Produktion benötigt.
Der Subunternehmer trägt nun in einem E-Mail-Formular die für die Produktion wichtigen Informationen ein (z.B. Qulität und Menge der Ware, vorgesehener Liefertermin mit Tag und Uhrzeit usw.) und sendet dieses Formular per Mail an die Firma. Dort übernimmt die DB die automatische Verarbeitung der ankommenden E-Mail und stellt die Infos denen für die Produktion verantwortlichen Personen zur Verfügung, die dann den weiteren Produktionsablauf weiter planen können.
Ich hoffe, ich habe deine Frage damit beantwortet.

ZitatWenn Du Outlook als EMail-Client benutzt: Dieses hat ein Ereignis NewMail. Also könnte per VBA dieses genutzt werden, um Inhalte von Mails mit bestimmten Merkmalen direkt in das Backend zu schreiben, und das dann unmittelbar.
Eine entsprechende Standardisierung dieser EMails ist da natürlich sehr hilfreich.
Ja, es wird Outlook als E-Mail-Client genutzt. Das von dir beschriebene Vorgehen erscheint mir als genau die Arbeitsschritte, die Access bei der Datensammlung per E-Mail durchführt. Hier wäre es jetzt nur fraglich, wo der Code für dieses Vorgehen versteckt ist und in wie weit er manipuliert werden muss, damit die benötigten Informationen meiner Tabelle tbl_inbox mit hinzugefügt werden. Kannst du mir dazu einen Tipp geben?

Es tut mir leid, wenn ich noch keine so tiefe Einsicht in die Accessprogrammierung und VBA habe, mein Wissensstand würde ich momentan noch als "Ambitionierter Laie" beschreiben...  :P Und solange mir mein Arbeitgeber hier keine Förderung zukommen lässt, um meinen Wissensstand zu erhöhen, ist Tante Google, meine private Literatur und natürlich dieses Forum mein bester, treuster und insbesondere dieses Forum auch liebster Wissenslieferant.

Mit Gruß aus dem warmen Nachtdienst an der Küste

Samurai2_de
"Vegetarier" ist das indianische Wort für "zu doof zum jagen"!

Ein Tag ohne Lachen ist ein verschenkter Tag!

ebs17

ZitatHier wäre es jetzt nur fraglich, wo der Code für dieses Vorgehen versteckt ist
Ich würde an zwei Stellen suchen:
1) In Outlook, dort wäre er auch am sinnvollsten.
- Outlook öffnen
- per Alt+F11 VBA-Editor öffnen und da nach Codes suchen

2) In Access würde man einen  Formulartimer benötigen, um in Outlook regelmäßig nachzufragen. Also mal schauen, ob es da ein verdächtiges Formular gibt (evtl. auch ausgeblendet).
Mit freundlichem Glück Auf!

Eberhard