|
Zu den Angaben, die in keiner
Adressenliste fehlen dürfen, gehört mittlerweile die
E-Mail-Adresse einer Person. In einer computergestützten Datenbank
die Mail-Anschrift aber einfach nur als Text abzulegen, wäre nicht
angemessen. Wirklich effektiv ist es, gleich einen Link einzufügen,
der per Mausklick das E-Mail-Programm mit der passenden Empfängeradresse
startet.
Für diese Zwecke bestens geeignet
ist in Access der Datentyp "Hyperlink", den Sie einem
Tabellenfeld zuweisen können. Allerdings hat die Sache einen Haken,
denn standardmässig erwartet Access in einem solchen Feld die
Eingabe einer WWW-Adresse, also einen Link auf eine Seite im World
Wide Web. Mit Hilfe eines Formulars und ein paar Zeilen VBA-Code können
Sie Access aber auch veranlassen, zum Mail-Programm zu verzweigen.
Zur Veranschaulichung stellen Sie das folgende Beispiel nach. Es
arbeitet mit einer simplen Tabelle, die nur die Felder
"Name" und "Email" enthält. Die Eingabe erfolgt
in einem Formular, welches den Text im Email-Feld automatisch in
einen Mail-Link umwandelt.
Beginnen Sie also damit, eine neue Tabelle mit den Feldern
"Name" und "Email" anzulegen. Im Entwurfsmodus
weisen Sie dem Feld "Email" den Felddatentyp
"Hyperlink" zu. "Name" ist ein einfaches
Textfeld. Nachdem Sie den Tabellenentwurf gespeichert haben, lassen
Sie mit der Symbolleistenschaltfläche Neues
Objekt: Autoformular ein Standardformular generieren.
Sobald das fertige Formular auf dem Bildschirm erscheint, füllen
Sie die beiden Eingabefelder mit beliebigen Beispieldaten. Anhand
der Unterstreichung sowie der Farbgebung erkennen Sie sofort, dass
Access den Inhalt des E-Mail-Feldes als Link betrachtet. Wenn Sie
mit der Maus darauf zeigen, - ohne zu klicken, - sehen Sie aber
auch, dass die Verknüpfung falsch ist: Access 97 zeigt die vollständige
Adresse in der Statusleiste an, Access 2000 blendet nach kurzer Zeit
eine Infobox neben dem Mauszeiger ein. So wird zum Beispiel aus
einer Adresseingabe wie "l.schmitz@t-online.de" der
Hyperlink "http://l.schmitz@t-online.de". Damit beim
Anklicken Ihr E-Mail-Programm gestartet wird, müsste der Link
"mailto:l.schmitz@t-online.de" lauten.
Noch etwas detailreicher wird es, wenn Sie sich mit der Tastatur in
das Feld mit der E-Mail-Adresse bewegen und dann die Taste F2
drücken. Bei genauer Durchsicht mit Hilfe der Richtungstasten
werden Sie feststellen, dass der Feldinhalt aus mehreren Teilen
besteht, die durch #-Zeichen getrennt sind. Grund dafür ist, dass
Access Hyperlink-Felder aus einem Anzeigetext, dem eigentlichen Link
inklusive Übertragungsprotokoll und gegebenenfalls einer
Unteradresse (ist hier leer) zusammensetzt.
Den korrekten Mail-Link erhalten Sie nun, indem Sie per VBA-Code
"http://" gegen "mailto:" austauschen. Diese
Aktion lassen Sie in einer Ereignisprozedur jedesmal dann ausführen,
wenn ein neuer Wert in das Feld "Email" eingegeben wurde.
Konkret schalten Sie hier zunächst in den Entwurfsmodus des
Formulars. Dann rufen Sie das Menü Ansicht-Code
auf, um in das zugehörige Codefenster zu wechseln. Dort geben Sie
eine Prozedur für das AfterUpdate-Ereignis des Feldes
"Email" ein, und zwar mit folgendem Inhalt:
Private Sub EMail_AfterUpdate()
Dim strAnzeige
strAnzeige = HyperlinkPart(Me.EMail, acDisplayedValue)
Me.EMail = strAnzeige & "#mailto:" &
strAnzeige & "#"
End Sub
In der Variablen "strAnzeige" speichern Sie zunächst nur
den Anzeigetext, also das, was Sie selbst als E-Mail-Adresse
eingegeben haben. Danach setzen Sie den Wert des E-Mail-Feldes neu
zusammen, wobei Sie das gewünschte Protokoll "mailto:"
einfügen.
Jetzt müssen Sie das Formular nur noch speichern und bereits
eingegebene Adressen noch einmal neu erfassen (die VBA-Prozedur
wirkt sich ausschliesslich auf neue Einträge aus). Wenn Sie dann
mit der Maus auf eine Mail-Anschrift zeigen, sehen Sie, dass Access
mit "mailto:" arbeitet, und beim Anklicken wird sich wie
gewünscht das Mail-Programm öffnen.
|