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.

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

Ihren XING-Kontakten zeigen

Diesen Beitrag Ihrem XING-Kontakten vorstellen

Diesen Beitrag auf Facebook teilen

Verwandte Beiträge:

Termine in Berichten darstellen

Berichte manuell füllen

Gruppensummen ohne Gruppen im Berichtsfuß

Alle verwandten Beiträge ansehen ...

Bisherige Kommentare:

Noch keine Kommentare vorhanden.

Alle Kommentare ansehen oder Kommentar abgeben

Über den Autor:

André Minhorst

Bitte nutzen Sie das XING-Profil nicht
für Fragen zum Artikel, sondern nur für
den Kontaktaustausch beziehungsweise
Projekt- oder Supportanfragen.

Briefe erstellen und verwalten

André Minhorst, Duisburg

Das Erstellen von Briefen ist eigentlich das Spezialgebiet von Textverarbeitungen wie Microsoft Word. Es gibt allerdings genügend Gründe, einmal über den Tellerrand zu schauen und dabei einen Blick auf Access zu werfen. Access bildet in Form der Bereitstellung von Adresstabellen die Grundlage für die Erstellung vieler Serienbriefe. Es enthält ein Objekt namens Bericht, das prinzipiell für die Erstellung von Briefen geeignet ist. Und außerdem bietet es die Möglichkeit, die in einem Brief enthaltenen Informationen und die Adressaten zu speichern und damit leichter zu verwalten - das sind mindestens drei Gründe, um die Brieftauglichkeit von Access im Rahmen einer Musterlösung genau zu untersuchen.

Hinweis

Auf der beiliegenden Heft-CD finden Sie die Beispieldatenbanken zu der vorliegenden Musterlösung unter den Dateinamen Adress97.mdb (Access 97) und Adress00.mdb (Access 2000 und Access XP). (

Einführung

Wenn in Zusammenhang mit der Erstellung von Briefen von Microsoft Access die Rede ist, dann soll in der Regel ein in Word erstelltes Serienbriefdokument mit den in Access gespeicherten Adressen verknüpft werden. Das ist sicher die gängigste Methode, um beispielsweise Serienbriefe zu erstellen. Für Leute mit wenig Office-Kenntnissen ist dies aber dennoch meist eine zu große Hürde, sodass die Erstellung von Serienbriefen oft in eine Copy&Paste-Orgie ausartet.

Wenn Sie also verhindern möchten, dass einer Ihrer Mitarbeiter oder vielleicht auch Freunde und Bekannte an solchen oder ähnlichen Problemen scheitern, sollten Sie sich den vorliegenden Beitrag sowie die dazugehörende Musterlösung einmal genauer ansehen. Damit lassen sich nicht nur Serienbrief-, sondern auch noch ganz andere Probleme lösen. Im ersten, vorliegenden Teil dieser Beitragsreihe erfahren Sie, wie Sie einfache Briefe mit geringstmöglichem Aufwand in Access erstellen können. Dazu gehört, dass Sie einmalig eine Vorlage erstellen, die festlegt, an welche Stelle die Anschrift kommt, wie der Briefkopf aussehen soll, wie sich das Layout der ersten und der Folgeseiten unterscheiden und an welcher Stelle sich der eigentliche Inhalt des Briefes befindet. Im zweiten Teil in Ausgabe 1/2004 von Access im Unternehmen fügen Sie der Anwendung weitere Funktionen hinzu. Welche das sind, erfahren Sie in Kapitel 6 des vorliegenden Beitrags.

Datenmodell der
Briefverwaltung

Das Datenmodell für die im ersten Teil der Briefverwaltung vorgestellten Funktionen ist gegenüber dem kompletten Datenmodell stark vereinfacht. Es enthält lediglich eine Tabelle zum Speichern der Daten je eines Briefes sowie eine Tabelle zum Speichern von Absenderinformationen.

Hinweis

Im Rahmen des ersten Teils dieser Beitragsreihe soll zunächst die grundlegende Funktionalität der Briefverwaltung erläutert werden. Später kommen Funktionen wie die Verwendung von Adressen aus externen Adressdatenbanken und so weiter hinzu. Daher enthält die vorliegende Fassung der Musterlösung zum Beispiel keine eigene Tabelle zur Verwaltung der Empfängeradressen. (

Abb. 1 zeigt das Datenmodell der Musterlösung. Die Tabelle tblBriefe enthält alle Daten, die für das Ausdrucken eines Briefes erforderlich sind. Da die Daten der Briefe gespeichert, aber eventuelle Änderungen an den Daten der Adressaten nach dem Erstellen von Briefen in dieser Tabelle nicht berücksichtigt werden sollen, werden auch alle Adressdaten des Empfängers in der Tabelle gespeichert. Das bezieht sich auf die Daten Firma, Anrede, Vorname, Nachname, Straße, PLZ, Ort und Land. Das Feld Betreff enthält die Betreffzeile des Briefes. Das wichtigste Feld ist das Feld Inhalt. Es enthält den in Form eines RTF-Dokumentes gespeicherten Text des Briefes.

Die verknüpfte Tabelle tblRTFAbsaetze ist eine Tabelle zum temporären Speichern von Daten.

Abb. 1: Datenmodell der Musterlösung

Abb. 2: Formular zur Verwaltung von Briefen

Die Tabelle hat folgende Funktion: Der Inhalt des Memofeldes zum Speichern des Textes im RTF-Format kann unter Umständen so groß werden, dass er nicht mehr auf eine Briefseite passt und umbrochen werden muss.

Das RTF-Steuerelement, das der Anzeige des Textes dient, kann die Position des Umbruchs nicht steuern und bricht möglicherweise so um, dass eine Zeile genau im Umbruch liegt und auf der ersten Seite nur die obere Hälfte der Zeile enthält. Daher wird der Inhalt in die einzelnen Absätze aufgeteilt und in mehreren Datensätzen gespeichert. Dadurch kann ein Umbruch nur zwischen zwei Absätzen erfolgen.

Hinweis

Ausführliche Informationen zu diesem Thema erhalten Sie im Beitrag Formatierte Texte in Berichten in der vorliegenden Ausgabe von Access im Unternehmen. (

Formulare

Die Datenbank enthält neben dem Startformular zwei weitere Formulare. Die beiden Formulare dienen der Verwaltung von Briefen und der Anzeige eines einzelnen Briefes zum Bearbeiten.

Funktionalität in Menüleisten

Neben den Formularen enthält die Datenbank gleich drei verschiedene Menüleisten. Aus Gründen der Übersichtlichkeit wurde versucht, die Formulare nicht unnötig mit Schaltflächen zu überfrachten. In einigen Fällen ist das besonders sinnvoll, zum Beispiel, wenn eine Funktion von mehreren Formularen aus aufgerufen werden kann. Wenn Sie die Funktion in einer Menü- oder Symbolleiste unterbringen, können sich die Anwender vermutlich leichter an sie gewöhnen, als wenn die Funktion in verschiedenen Formularen in Form einer Schaltfläche untergebracht ist, die sich dazu noch immer an anderen Stellen befindet.

Die einzelnen Menüleisten werden in Zusammenhang mit den jeweiligen Formularen und Funktionen vorgestellt.

Verwalten der Briefe

Private Sub cmdSuche_Click()

    Dim strSQL As String

    Dim strSucheInhalt As String

    strSucheInhalt = Nz(Me.txtInhalt, "")

    strSQL = "SELECT * FROM tblBriefe WHERE "

    If IsNull(Me.txtDatumVon) Then

        strSQL = strSQL & " Datum >= " & ISODatum("1.1.1900")

    Else

        strSQL = strSQL & " Datum >= " & ISODatum(Me.txtDatumVon)

    End If

    If IsNull(Me.txtDatumBis) Then

        strSQL = strSQL & " AND Datum <= " & ISODatum(Date)

    Else

        strSQL = strSQL & " AND Datum <= " & ISODatum(Me.txtDatumBis)

    End If

    If Not IsNull(Me.txtInhalt) Then

        strSQL = strSQL & " AND (Betreff LIKE ""*" & strSucheInhalt & "*"""

        strSucheInhalt = ZeichenErsetzen(strSucheInhalt, "ä", "\'e4")

        strSucheInhalt = ZeichenErsetzen(strSucheInhalt, "ö", "\'f6")

        '...weitere Ersetzungen

        strSQL = strSQL & " OR Inhalt LIKE ""*" & strSucheInhalt & "*"")"

    End If

    If Not IsNull(Me.txtEmpfaenger) Then

        strSQL = strSQL & " AND"

        strSQL = strSQL & " (Vorname LIKE ""*" & Me.txtEmpfaenger & "*"""

        '...weitere Kriterien

        strSQL = strSQL & " OR Land LIKE ""*" & Me.txtEmpfaenger & "*"")"

    End If

    Me.RecordSource = strSQL

    Me.Requery

End Sub

Quellcode 1

Das Formular frmBriefe gibt eine Übersicht über alle vorhandenen Briefe und enthält eine Möglichkeit, nach verschiedenen Kriterien zu filtern (s. Abb. 2).

Das Formular kann über den Menüeintrag Briefe/Briefauswahl geöffnet werden. Nach dem Öffnen dieses Formulars erscheint die damit verknüpfte Symbolleiste (s. Abb. 3).

Dort können Sie folgende Funktionen aufrufen:

  • Vorschau anzeigen: Öffnet den Bericht rptBrief in der Vorschauansicht.
  • Brief anzeigen: Öffnet die Briefdetails für den aktuell ausgewählten Brief.
  • Neuer Brief: Öffnet die Briefdetails mit einem leeren Brief.
  • Brief kopieren: Legt einen neuen Brief an, kopiert alle Daten mit Ausnahme von Datum, Betreff und Inhalt des aktuell ausgewählten Datensatzes und zeigt den neuen Brief an.
  • Brief löschen: Löscht den aktuell ausgewählten Brief.
  • Abb. 3: Die Funktionen der Briefübersicht sind über die Symbolleiste zu erreichen.

    Abb. 4: Formular zum Bearbeiten eines Briefes

    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.

    Sie sind nicht angemeldet!
    Für den kompletten Artikel plus Beispieldatenbanken müssen Sie sich einloggen!
    Jetzt einloggen ...
     

    Sie haben keine Benutzerdaten? Na, dann aber schnell:

    Benutzerdaten erhalten Sie auf zwei Arten:

    1. Testen Sie das Online-Archiv von 'Access im Unternehmen' für eine Woche. Sie müssen Sie lediglich für den 'Access im Unternehmen'-Newsletter anmelden.
    Ja, ich will den einwöchigen Testzugang und den Newsletter!

    2. Greifen Sie ein ganzes Jahr auf das Online-Archiv zu und erhalten Sie zusätzlich alle zwei Monate das brandneue "Access im Unternehmen"-Magazin - für nur EUR 108,-* im Jahr!
    Ja, ich will Access im Unternehmen bestellen!

     

    * inkl. MwSt., zzgl. Versandkostenpauschale, EUR 140,- inkl. MwSt., zzgl. Versandkostenpauschale ab dem zweiten Jahr

    Verwandte Beiträge:

    Termine in Berichten darstellen

    Berichte manuell füllen

    Gruppensummen ohne Gruppen im Berichtsfuß

    Kommentare und Ergänzungen

    Wenn Sie Kommentare, Fragen oder Ergänzungen zu diesem Artikel haben, können Sie diese hier eintragen. Wir bemühen uns, kurzfristig auf Ihren Kommentar einzugehen.

    Ihr Name:

    Ihre E-Mail-Adresse (für
    Rückfragen, wird nicht veröffentlicht:

    Betreff:

    Ihr Kommentar zu diesem Artikel:

    © 2003-2010 André Minhorst Alle Rechte vorbehalten.