Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 7/2001.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Serien-E-Mails mit Access und Outlook

Autor: Klaus Giesen, Wuppertal

Die mittlerweile fast schon selbstverständliche Internetanbindung von Arbeitsplätzen wirkt sich unter anderem auch auf die Ansprüche aus, die an die Funktionalität von Datenbankanwendungen gestellt werden. Eine in diesem Zusammenhang weit verbreitete - und auch nahe liegende - Anforderung ist der komfortable Versand von E-Mails. Dazu bietet sich beispielsweise eine Adressen-Datenbank an. Im vorliegenden Beitrag erfahren Sie, wie Sie Ihre Adressdatenbank um eine Funktion zum Versenden von E-Mails an einen oder mehrere Empfänger erweitern können. Dabei können Sie alle gewünschten Aktionen direkt aus Ihrer Datenbank heraus initiieren, ohne Outlook starten zu müssen. Natürlich können Sie zu jedem Eintrag Ihres Adressbuches auch alle bisher versendeten Mails anzeigen lassen.

Grundlagen zum Versenden von E-Mails mit Access

Das Versenden von E-Mails mit Access ist auf unterschiedliche Arten möglich. Die folgenden beiden Abschnitte beschreiben die beiden wesentlichen Möglichkeiten.

Die SendenObjekt-Aktion

Mit Hilfe der SendenObjekt-Aktion kann eine E-Mail direkt in Access erstellt und versendet werden.

Abb. 1: Das Dialogfenster zur Auswahl des Formats

Außerdem können Sie ein Datenblatt, ein Formular, einen Bericht oder ein Modul an eine E-Mail anhängen. Hierzu gehen Sie wie folgt vor:

  • Markieren Sie das gewünschte Objekt im Datenbankfenster.
  • Wählen Sie aus dem Menü Datei den Befehl Senden/An Mailempfänger oder Senden/An Mailempfänger (Als Anlage)... aus.
  • Markieren Sie im daraufhin erscheinenden Dialogfenster Senden das gewünschte Dateiformat (s. Abb. 1).
  • Bestätigen Sie Ihre Auswahl mit einem Klick auf die Schaltfläche OK.
  • Hinweis

    Damit die Art des E-Mail-Versands auch funktioniert, muss auf Ihrem Rechner ein MAPI-kompatibler E-Mail-Client - wie beispielsweise Microsoft Outlook - installiert sein. (

    Abb. 2: Verweis auf die Microsoft Outlook 9.0 Object Library

    Die SendenObjekt-Aktion kann übrigens auch in einem Makro oder einer VBA-Prozedur aufgerufen werden.

    Automation

    Die vorgestellte Lösung eignet sich sehr gut dazu, einzelne Objekte per E-Mail zu versenden. Ein Versand von Serien-E-Mails lässt sich damit jedoch nicht realisieren.

    Um eine solche Funktionalität zu erreichen, muss man sich der "Automation" bedienen. Hiermit greifen Sie direkt auf Objekte und Methoden der Client-Anwendung - hier Outlook - zu. Dazu ist es zunächst einmal notwendig, in der Datenbank einen Verweis auf die Outlook-Objektbibliothek zu erstellen.

  • Öffnen Sie in der Access-Datenbank ein Modul in der Entwurfsansicht oder erstellen Sie ein neues Modul, falls keines vorhanden ist.
  • Wählen Sie aus dem Menü Extras den Befehl Verweise aus.
  • Markieren Sie im Dialogfenster Verweise das Kontrollkästchen neben dem Eintrag Microsoft Outlook 9.0 Object Library (s. Abb. 2).
  • Schließen Sie das Dialogfenster Verweise mit einem Klick auf die Schaltfläche OK.
  • Damit haben sie die notwendige Voraussetzung für das weitere Vorgehen geschaffen.

    Anforderungen für den automatischen
    E-Mail-Versand

    Die folgenden Abschnitte enthalten eine Zusammenstellung der Minimalanforderungen an eine Datenbankanwendung zum automatischen E-Mail-Versand.

    Filterung bzw. Auswahl der Empfänger

    Zur Lösung dieser Aufgabe gibt es verschiedene Möglichkeiten. Eine davon ist, die gewünschten Empfänger im Listenfeld eines speziellen Auswahlformulars zu markieren (s. Abb. 3).

    Abb. 3: Formular zur Auswahl der Empfänger

    Automatische Übernahme der Anrede

    Zur jeder Adresse gehört in diesem Fall auch eine entsprechende Anrede. Diese soll automatisch aus der zugrunde liegenden Tabelle übernommen werden.

    Abb. 4: Das Formular frmFAdressen mit Mailinghistorie

    Personalisierung der Anrede

    Zu einer Anrede wird automatisch der dazugehörige Nachname hinzugefügt.

    Anzeige einer Mailing-Historie

    Sinnvoll ist ein Überblick über versandte Mailings. Deswegen wird zu jedem Datensatz in der Adressdatenbank eine Mailing-Historie angezeigt, aus der Betreff, Text und vor allem auch der genaue Zeitpunkt des Versands zu erkennen sind (s. Abb. 4).

    Versandstatus

    Nach der Fertigstellung einer E-Mail in Outlook kann diese entweder direkt versendet oder zunächst einmal angezeigt werden. Diese Auswahlmöglichkeit sollte auch bei einer Datenbankanwendung enthalten sein (s. Abb. 5).

    Die Beispieldatenbank

    Die Beispieldatenbank auf der CD liegt in den Versionen für Access 97 und Access 2000 vor.

    Abb. 5: Auswahl des Versandstatus

    Falls Sie die Arbeitsschritte von Grund auf nachvollziehen wollen, muss unter Access 2000 ein Verweis auf die Microsoft DAO 3.6 Library erstellt werden. (

    Das Datenmodell der
    Beispieldatenbank

    Das Datenmodell ist im Prinzip relativ einfach. Es gilt lediglich eine Besonderheit zu beachten.

    Verknüpfungen

    Abb. 6: Das Dialogfenster Beziehungen der Beispieldatenbank

    Abb. 7: Die Tabelle tblAdressen in der Entwurfsansicht

    Wenn man sich die praktische Arbeit mit einer solchen Anwendung vor Augen hält, sind die folgenden Situationen denkbar:

  • Ein Empfänger kann verschiedene Mailings erhalten.
  • Ein Mailing kann an verschiedene Empfänger gerichtet sein.
  • Die datenbanktechnische Umsetzung einer solchen Situation erfolgt am elegantesten mit Hilfe einer so genannten n:m-Beziehung.

    Da eine n:m-Beziehung nichts anderes als zwei 1:n-Beziehungen darstellt, kann sie nur über eine Verknüpfungstabelle realisiert werden.

    Genaue Einzelheiten zum Aufbau der Verknüpfungstabelle und zu den Beziehungen finden Sie im folgenden Abschnitt.

    Die Tabellen

    Die Beispieldatenbank enthält drei Tabellen (s. Abb. 6).

    Die Tabelle tblAdressen

    Die Tabelle tblAdressen (s. Abb. 7) ist zur Speicherung der personenbezogenen Daten be-stimmt und kann leicht an Ihre persönlichen Erfordernisse an-gepasst werden.

    Das Primärschlüsselfeld AdressenID besitzt den Felddatentyp AutoWert.

    In der Abfrage, die dem Formular frmFAdressen zugrunde liegt, wird nach dem Feld txtNachname sortiert.

    Also ist es sinnvoll, dieses Feld zu indizieren, da eine Indizierung neben dem Suchen auch die Sortierung beschleunigt.

  • Wählen Sie das Feld txtNachname in der Entwurfsansicht der Tabelle aus.
  • Klicken Sie im Register Allgemein in das Listenfeld Indiziert und wählen Sie den Eintrag Ja (Duplikate möglich) aus (s. Abb. 8).
  • Die Tabelle tblMailings

    Die Tabelle tblMailings dient zum Speichern der Mailings. Den Aufbau können Sie der Tab. 1 entnehmen.

    Feldname

    Felddatentyp

    MailingID

    AutoWert

    txtBetreff

    Text

    memMailing

    Memo

    datSendMail

    Datum/Zeit

    Tab. 1: Die Tabelle tblMailings

    Abb. 8: Indiziertes Feld

    In das Feld datSendMail werden beim Versand einer E-Mail per VBA das Datum und die Uhrzeit eingetragen. So kann dieser Zeitpunkt auf die Sekunde genau in der Mailing-Historie festgehalten werden.

    Abb. 9: Entwurfsansicht der Tabelle tblAdrMail

    Abb. 10: Das Dialogfenster Indizes

    Die Tabelle tblAdrMail

    Diese Tabelle ist - wie schon erwähnt - zur Realisierung der n:m-Beziehung notwendig.

  • Erstellen Sie eine neue Tabelle in der Entwurfsansicht und stellen Sie für beide Felder im Register Allgemein des Entwurfsfensters die Eigenschaften gemäß der Abb. 9 ein.
  • Markieren Sie die beiden Felder AdressenID und MailingID im Entwurfsfenster und klicken Sie in der Symbolleiste auf das Symbol Primärschlüssel.
  • Speichern Sie die Tabelle unter dem Namen tblAdrMail.
  • Damit ist ein gemeinsamer Primärschlüssel für die Felder AdressenID und MailingID festgelegt worden.

    Das hat zur Folge, dass eine Beziehung zwischen einem Empfänger und einer E-Mail nur einmal vorkommen kann.

    Andererseits können Adressen und Mailings mehrfach vorkommen. Das Ganze wird deutlicher, wenn Sie das Dialogfenster Indizes öffnen (s. Abb. 10) und die Indexeigenschaften betrachten.

    Abb. 11: Das Dialogfenster Tabelle anzeigen

    Abb. 12: Das Dialogfenster Beziehungen bearbeiten

    Abb. 13: Das Dialogfenster Verknüpfungseigenschaften

    Festlegen der Beziehungen zwischen den Tabellen

    Der abschließende Schritt zur Erstellung des Datenmodells ist das Festlegen der Beziehungen zwischen den beiden Haupttabellen und der Verknüpfungstabelle.

  • Öffnen Sie mit dem Menübefehl Extras ( Beziehungen das Dialogfenster Beziehungen und wählen Sie im Dialogfenster Tabelle anzeigen alle drei Tabellen der Datenbank aus (s. Abb. 11).
  • Klicken Sie auf das Feld AdressenID in der Tabelle tblAdressen und ziehen Sie es auf das Feld AdressenID in der Tabelle tblAdrMail. Damit ist eine 1:n-Beziehung zwischen diesen beiden Tabellen erstellt.
  • Markieren Sie im Dialogfenster Beziehungen bearbeiten das Kontrollkästchen Mit referentieller Integrität und klicken Sie anschließend auf die Schaltfläche Verknüpfungstyp (s. Abb. 12).

    Vergewissern Sie sich, ob im Dialogfenster Verknüpfungseigenschaften (s. Abb. 13) die Verknüpfungsoption 1 aktiviert ist und klicken Sie auf die Schaltfläche OK.

  • Klicken Sie abschließend im Dialogfenster Beziehungen bearbeiten auf die Schaltfläche Erstellen.
  • Erstellen Sie auf die gleiche Art eine Beziehung zwischen den Tabellen tblAdrMail und tblMailings. Das Resultat sollte nun wie in der Abb. 6 aussehen.
  • Die Formulare der
    Beispieldatenbank

    In der Beispieldatenbank sind insgesamt vier Formulare vorhanden, von denen eines ein Unterformular ist.

    Das Formular frmFAdressen dient zunächst zur Eingabe und Bearbeitung von Adressen. Gleichzeitig dient es als Startpunkt der Funktionalität für den E-Mail-Versand.

    Das Unterformular subMailingHistorie befindet sich im Formular frmFMailings. Es zeigt die ver- sendete Mail der im Hauptformular ausgewählten Adresse an.

    Das Formular frmFEmpfänger dient lediglich zur Auswahl der Empfänger einer Mailing-Aktion. Es können ein oder auch mehrere Empfänger ausgewählt werden.

    Abb. 14: Entwurfsansicht der Auswahlabfrage

    Abb. 15: Das Eigenschaftsfenster des Kombinationsfeldes

    Das Formular frmFMailings dient zum Eingeben bzw. Bearbeiten von E-Mail-Nachrichten und zum Start der Übergabe an Outlook.

    Das Formular frmFAdressen

    Das Formular frmFAdressen ist ein ganz normales Formular des Typs Einzelnes Formular mit Befehlsschaltflächen im Formularfuß ohne weitere Besonderheiten.

    Datenherkunft

    Als Datenherkunft des Formulars dient die Auswahlabfrage qryFfrmAdressen, mit der die Felder der Tabelle tblAdressen nach Nachnamen sortiert zusammengefasst werden (s. Abb. 14) können.

    Das Kombinationsfeld zur Auswahl der Anrede

    Diese Auswahlmöglichkeit soll relativ simpel mittels Kombinationsfeld und Werteliste gelöst werden.

  • Öffnen Sie das Formular in der Entwurfsansicht.
  • Ziehen Sie das Steuerelement txtAnrede aus der Feldliste auf das Formular und öffnen Sie das Eigenschaftsfenster des Steuerelements (s. Abb. 15).
  • Wählen Sie für die Eigenschaft Herkunftstyp die Einstellung Werteliste aus.
  • Geben Sie für die Eigenschaft Datensatzherkunft die gewünschten Begriffe ein. Achten Sie darauf, die einzelnen Einträge jeweils durch ein Semikolon (;) voneinander zu trennen.
  • Stellen Sie Spaltenanzahl und Gebundene Spalte jeweils auf den Wert 1 ein.
  • Das Unterformular
    subMailingHistorie

    Abb. 16: Das Eigenschaftsfenster des Unterformulars

    Die Standardansicht dieses Formulars ist die Ansicht Datenblatt.

    Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

    Sind Sie Abonnent?Jetzt einloggen ...
     

    Kompletten Artikel lesen?

    Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

    E-Mail:

    Verwandte Beiträge:

    Outlook: Mails

    Outlook und Access - Import und Export von Access-Daten

    © 2003-2015 André Minhorst Alle Rechte vorbehalten.