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 6/2003.

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

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.

    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:

    Termine in Berichten darstellen

    Berichte manuell füllen

    Gruppensummen ohne Gruppen im Berichtsfuß

    © 2003-2015 André Minhorst Alle Rechte vorbehalten.