Categories: Software

Outlook-Tipps für IT-Manager




Das in Abbildung A gezeigte Formular verwendet eine Listenbox-Steuerung zur Anzeige aller Reports in der Nordwind-Musterdatenbank, die in Access integriert ist. Zum Versand eines Reports per E-Mail, braucht man nur einen auszuwählen und auf die Schaltfläche „Mail Report“ zu klicken.


Abbildung A: Dieses Musterformular versendet ein Access-Objekt mit Hilfe des im System als Standard definierten E-Mail-Clients. (Foto: ZDNet)

Zur Erstellung des Formulars öffnet man ein leeres Formular und ergänzt es um eine Listenbox und eine Befehlsschaltfläche. Tabelle C führt die Eigenschaften für das Formular und beide Steuerungen an. Speichern Sie das Formular unter dem Namen frmSendMail. Nachdem die beiden Steuerungen hinzugefügt wurden, klicken Sie auf die Schaltfläche Code in der Werkzeugleiste Form Design, um das Modul des Formulars zu öffnen und die beiden in Listing A und Listing B gezeigten Ereignisprozeduren einzugeben. Das Ereignis ‚load‘ des Formulars sorgt für die Einträge in der Listenbox, während die Befehlsschaltfläche die Methode SendObject aufruft.

Tabelle C: Forumular-Eigenschaften

Steuerelement Eigenschaft Einstellung
Formular Bildlaufleisten Neither
&nbsp Record-Selektor No
&nbsp Navigationsschaltflächen No
&nbsp Trennlinien No
Listenbox Name lstObject
Befehlsschaltfläche Name cmdSendMail
&nbsp Caption Mail Report

Die Verwendung des Formulars

Nun sind wir soweit, dass wir tatsächlich Mails versenden können. Dafür wählen wir aus der Liste einen Report aus, beispielsweise Catalog, und klicken auf die Schaltfläche Mail Report. Daraufhin öffnet sich das in Abbildung B dargestellte Fenster „Neue Nachricht“. Man beachte, dass der Report als Dateianhang aufgeführt ist. Das Fenster kann auch anders aussehen. Man sollte dabei bedenken, dass Access den im System als Standard definierten E-Mail-Client benutzt.


Abbildung B: Die Methode SendObject öffnet eine neue Nachricht im E-Mail-Programm. (Foto: ZDNet)

Es fällt auf, dass viele Felder noch leer sind. Vor dem Versand der Mail müssen die Anwender noch eine Menge Informationen eingeben: den/die Empfänger, einen eventuellen Betreff, sowie den Text der Nachricht. Soll den Anwendern diese Information oder ein Teil davon bereits vorgegeben werden, lassen sich die entsprechenden Werte in der SendObject-Methode festlegen.

Geben Sie zum Testen des Formulars Ihre eigene E-Mail-Adresse ein und versenden Sie es. Sollten Sie im Moment gerade nicht online sein, ist dies auch kein Problem. Ihr E-Mail-Client speichert die Nachricht und ihre Dateianhänge, bis Sie sich das nächste Mal wieder mit dem Netz verbinden.

Erweiterungen

In den Beispielen wurden absichtlich so wenig Informationen wie möglich spezifiziert, damit man sich auf die Methode SendObjects konzentrieren kann und nicht auf ein schickes Formular, das dem Anwender die ganze Arbeit abnimmt. Man sollte leicht in der Lage sein, weitere Informationen von seinen Anwendern einzuholen und diese an die SendObject-Methode weiterzugeben, wodurch die Informationsmenge und der Zugriff des Anwenders auf die E-Mail-Nachricht selbst verringert werden. Alternativ kann man die Information auch selbst als direkten Wert in das SendObject-Statement eingeben.

Zudem beinhaltet das Beispiel keine Fehlerverarbeitung. Die Aufzeichnung von Fehlern ist jedoch sicherlich wünschenswert. Hier nur einige wenige, auf die man vorbereitet sein sollte:

  • Der Fehler, wenn das benannte Objekt nicht existiert.

  • Der Fehler, wenn der Objekttyp für das benannte Objekt nicht korrekt ist.

  • Der Fehler, wenn der SendObject-Auftrag unerwartet abgebrochen wird.

  • Der Fehler, wenn die Datenquelle des Objekts nicht vorhanden ist.

  • Der Fehler, wenn der Anwender ein Objekt angibt, das nicht per E-Mail versendet werden kann (Makro).

Man sollte versuchen, zu vermeiden, dass die Anwender E-Mail-Adressen manuell eingeben. Dies ist sehr fehleranfällig, denn jeder Eintrag muss einem exakten Format entsprechen und selbstverständlich muss es sich um eine gültige E-Mail-Adresse handeln. Dafür muss man Code integrieren, der diese Adressen überprüft. Anderenfalls muss man dafür sorgen, dass die Anwender die Empfänger nur aus dem Adressbuch des E-Mail-Programms auswählen können.

Snapshot-Dateien per E-Mail versenden

Wenn man damit vertraut ist, Access-Reports per E-Mail zu versenden, kennt man vielleicht auch schon den in Access 2000 und die neueren Versionen integrierten Snapshot Viewer. (Nutzer von Access 97 müssen das Programm separat downloaden und installieren.) Dieses Programm speichert Access-Reports als Snapshot-Datei (.snp), die praktisch ganz genauso aussieht wie der Original-Report.

Ist der Snapshot Viewer installiert, kann man die Konstante des Snapshot-Formats (acFormatSNP) im Argument outputformat von SendObject angeben. Das vorherige Beispiel würde also das folgende Statement verwenden:
DoCmd.SendObject acSendReport, strReport, _ acFormatSNP, , , , , , True

Man muss nur bedenken, dass der Report, auf den man sich im Argument objectname bezieht, eine gültige Snapshot-Datei (mit der Dateierweiterung .snp) sein muss. Liegt der Report im Access-Format, nicht aber im Snapshot-Format vor, kann man sich ein paar Schritte ersparen, indem man den Access-Report exportiert. Dazu verwendet man das Format SnapshotFormat (*.snp) in dieser Form:
DoCmd.SendObject acSendReport, strReport, _ „SnapshotFormat(*.snp)“, , , , , , True

Zum Betrachten einer Datei im Format .snp muss der Empfänger nicht über Access, wohl aber über den Snapshot Viewer verfügen. Dieser kann in Artikel 175274 der Microsoft Knowledge Base heruntergeladen werden.

Page: 1 2 3 4 5 6 7 8 9 10

ZDNet.de Redaktion

Recent Posts

Nach Cyberangriff: Wayback Machine des Internet Archive wieder online

Ein DDoS-Angriff legt große Teil des Internet Archive lahm. Während die Wayback Machine wieder im…

3 Wochen ago

Lift2Market: Die Agentur für Webdesign, SEO und E-Mail-Marketing speziell für KMUs

In der heutigen digitalen Ära ist eine starke Online-Präsenz für kleine und mittlere Unternehmen (KMU)…

3 Wochen ago

Studie zur Beliebtheit von Adblockern

Werbemüdigkeit ist weit verbreitet. Fast jeder zweite deutsche Internetnutzer setzt Adblocker ein, um Online-Werbung zu…

3 Wochen ago

Weltweiter Tabletmarkt wächst 15 Prozent im zweiten Quartal

Neue Geräte von Apple und Samsung kurbeln die Nachfrage an. Aber auch chinesische Hersteller wie…

3 Wochen ago

Blockchain und Datenschutz: Wie die Technologie die Anonymität im Internet schützt

Blockchain hat sich in den letzten Jahren als eine Technologie hervorgetan, die den Schutz der…

3 Wochen ago

Google stopft schwerwiegendes Sicherheitsloch in Chrome

Es erlaubt das Einschleusen und Ausführen von beliebigem Code. Dem Entdecker der Chrome-Lücke zahlt Google…

4 Wochen ago