Outlook: E-Mail per Drag and Drop nach Access

Lies in den Artikel rein und unten bekommst Du ein unschlagbares Angebot!

Wenn Du eine Kundendatenbank mit Access programmiert hast und die Kommunikation per E-Mail über Outlook läuft, möchtest Du vielleicht einem Kundendatensatz die E-Mails dieses Kunden zuweisen. Dafür gibt es verschiedene Möglichkeiten. In diesem Artikel schauen wir uns eine an, bei der Du die E-Mail per Drag and Drop auf einen Bereich in einem Access-Formular ziehst. Dort verarbeiten wir die E-Mail und speichern bestimmte Daten in einer Tabelle, damit die E-Mail bei Bedarf vom Kunden-Formular aus wieder in Outlook angezeigt werden kann. Wer sich schon mit dem Thema beschäftigt hat, weiß, dass man E-Mails eigentlich nicht nach Access ziehen kann. Deshalb umschiffen wir dieses Problem mit einem kleinen Trick.

Beschreibung der Lösung

Die Lösung soll folgenden Vorgang abbilden: In einer Access-Datenbank sind die Daten von Kunden gespeichert, die in einem Formular angezeigt werden können. Über Outlook kommunizieren wir per E-Mail mit diesem Kunden. Die E-Mails wollen wir nicht nur in Outlook sehen, sondern wir wollen auch in der Access-Kundendatenbank die E-Mails des Kunden sehen und diese gegebenenfalls in Outlook anzeigen.

Dabei wollen wir aber keineswegs alle E-Mails von diesem Kunden und an diesen Kunden automatisch in der Access-Datenbank speichern, sondern der Benutzer soll entscheiden, welche E-Mails des Kunden in der Datenbank gespeichert werden sollen.

Dazu benötigen wir eine einfache Möglichkeit, um die E-Mail zur Kundentabelle hinzuzufügen. Eine der intuitivsten Möglichkeiten, um Elemente von einer Anwendung zur anderen zu bewegen, ist Drag and Drop – also das Ziehen des Elements, in diesem Fall der E-Mail, mit der Maus.

Die E-Mail soll nach dem Ziehen in einen bestimmten Bereich im Formular mit den Kundendaten in einem Unterformular angezeigt werden. Im Hintergrund nutzen wir dazu neben der Kundentabelle eine Tabelle, die alle relevanten Daten zu den E-Mails des Kunden speichert. Darunter befindet sich auch der eindeutige Schlüssel dieser E-Mail in Outlook, mit dem wir diese in Outlook von der Kundendatenbank aus öffnen können.

Aufbau des Datenmodells

Das Datenmodell zu unserer Lösung umfasst lediglich zwei Tabellen:

  • tblKunden: Diese Tabelle enthält rudimentäre Kundendaten – eben so viele, dass wir diese in einem Kundenformular darstellen können.
  • tblMailItems: Diese Tabelle enthält ein Fremdschlüsselfeld zur Tabelle tblKunden, womit wir die E-Mail-Datensätze den Kundendatensätzen zuordnen können. Außerdem enthält sie ein Feld für den Betreff der E-Mail sowie für den eindeutigen Schlüssel der E-Mail.

Das Datenmodell sieht im Beziehungen-Fenster wie in Bild 1 aus.

Die Tabellen der Datenbank in der Übersicht

Bild 1: Die Tabellen der Datenbank in der Übersicht

Tabellen anlegen

Um die Tabellen anzulegen, fügst Du nach dem Erstellen einer neuen, leeren Access-Datenbank mit dem Ribbon-Befehl Erstellen|Tabellen|Tabellenentwurf jeweils eine neue Tabelle in der Entwurfsansicht an.

Für die Tabelle tblKunden fügst Du die Felder mit den Feldnamen und den Felddatentypen wie in Bild 2 hinzu.

Die Tabelle tblKunden in der Entwurfsansicht

Bild 2: Die Tabelle tblKunden in der Entwurfsansicht

Die Tabelle tblMailItems soll die Felder wie in Bild 3 enthalten. Für das Feld EntryID haben wir einen eindeutigen Index definiert, damit jede E-Mail nur einmal zu dieser Tabelle hinzugefügt werden kann. Um das Feld KundeID mit der Tabelle tblKunden zu verknüpfen, verwenden wir das Beziehungsfenster. Hier fügen wir die beiden Tabellen wie in der obigen Abbildung hinzu und ziehen dann das Feld KundeID der einen Tabelle auf das gleichnamige Feld der anderen Tabelle.

Die Tabelle tblMailItems in der Entwurfsansicht

Bild 3: Die Tabelle tblMailItems in der Entwurfsansicht

Im nun erscheinenden Dialog Beziehungen bearbeiten kannst Du noch die referentielle Integrität festlegen (siehe Bild 4).

Einstellungen für die angelegte Beziehung

Bild 4: Einstellungen für die angelegte Beziehung

Formulare erstellen

Das einzige Formular der Anwendung soll jeweils einen Kundendatensatz anzeigen sowie dessen E-Mails, die ihm per Drag and Drop zugewiesen wurden. Dazu benötigen wir ein Haupt- und ein Unterformular.

Unterformular zur Anzeige der E-Mails anlegen

Das Unterformular soll die Daten der Tabelle tblMailItems anzeigen. Dazu fügen wir mit dem Ribbonbefehl Erstellen|Formulare|Formularentwurf ein neues Formular in der Entwurfsansicht hinzu. Für seine Eigenschaft Datensatzquelle legen wir die Tabelle tblMailItems fest. Danach können wir über Formularentwurf|Tools|Vorhandene Felder hinzufügen die Felder Betreff und ErhaltenAm in den Formularentwurf ziehen. Damit die Daten in der Datenblattansicht angezeigt werden, stellen wir die Eigenschaft Standardansicht auf Datenblatt ein. Vor dem Schließen speichern wir das Formular unter dem Namen sfmKundenEMails.

Hauptformular für die Kundendaten anlegen

Anschließend legen wir ein weiteres Formular an, dem wir die Tabelle tblKunden als Datensatzquelle hinzufügen. Aus dieser ziehen wir alle Felder außer dem Primärschlüsselfeld KundeID in den Detailbereich des Formularentwurfs und ordnen diese nach Wunsch an.

Anschließend ziehen wir das bereits geschlossene Formular sfmKundenEMails aus dem Navigationsbereich in den Formularentwurf.

Dieses arrangieren wir unter den übrigen Steuerelementen. Außerdem fügen wir darunter noch eine Schaltfläche hinzu, mit der wir die aktuell im Unterformular markierte E-Mail öffnen wollen. Das Zwischenergebnis sieht wie in Bild 5 aus.

Haupt- und Unterformular in der Entwurfsansicht

Bild 5: Haupt- und Unterformular in der Entwurfsansicht

 

Schreibe einen Kommentar