{"id":55000130,"date":"2003-12-01T00:00:00","date_gmt":"2020-05-06T15:17:33","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=130"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Briefe_erstellen_und_verwalten","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Briefe_erstellen_und_verwalten\/","title":{"rendered":"Briefe erstellen und verwalten"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg08.met.vgwort.de\/na\/ede4f7c981694eb792e32bcc03f06167\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Andr&eacute; Minhorst, Duisburg<\/b><\/p>\n<p><b>Das Erstellen von Briefen ist eigentlich das Spezialgebiet von Textverarbeitungen wie Microsoft Word. Es gibt allerdings gen&uuml;gend Gr&uuml;nde, einmal &uuml;ber den Tellerrand zu schauen und dabei einen Blick auf Access zu werfen. Access bildet in Form der Bereitstellung von Adresstabellen die Grundlage f&uuml;r die Erstellung vieler Serienbriefe. Es enth&auml;lt ein Objekt namens Bericht, das prinzipiell f&uuml;r die Erstellung von Briefen geeignet ist. Und au&szlig;erdem bietet es die M&ouml;glichkeit, die in einem Brief enthaltenen Informationen und die Adressaten zu speichern und damit leichter zu verwalten &#8211; das sind mindestens drei Gr&uuml;nde, um die Brieftauglichkeit von Access im Rahmen einer Musterl&ouml;sung genau zu untersuchen.<\/b><\/p>\n<h3>Hinweis<\/h3>\n<p>Auf der beiliegenden Heft-CD finden Sie die Beispieldatenbanken zu der vorliegenden Musterl&ouml;sung unter den Dateinamen Adress97.mdb (Access 97) und Adress00.mdb (Access 2000 und  Access XP). <\/p>\n<p>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&uuml;pft werden. Das ist sicher die g&auml;ngigste Methode, um beispielsweise Serienbriefe zu erstellen. F&uuml;r Leute mit wenig Office-Kenntnissen ist dies aber dennoch meist eine zu gro&szlig;e H&uuml;rde, sodass die Erstellung von Serienbriefen oft in eine Copy&#038;Paste-Orgie ausartet.<\/p>\n<p>Wenn Sie also verhindern m&ouml;chten, dass einer Ihrer Mitarbeiter oder vielleicht auch Freunde und Bekannte an solchen oder &auml;hnlichen Problemen scheitern, sollten Sie sich den vorliegenden Beitrag sowie die dazugeh&ouml;rende Musterl&ouml;sung einmal genauer ansehen. Damit lassen sich nicht nur Serienbrief-, sondern auch noch ganz andere Probleme l&ouml;sen. Im ersten, vorliegenden Teil dieser Beitragsreihe erfahren Sie, wie Sie einfache Briefe mit geringstm&ouml;glichem Aufwand in Access erstellen k&ouml;nnen. Dazu geh&ouml;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&uuml;gen Sie der Anwendung weitere Funktionen hinzu. Welche das sind, erfahren Sie in Kapitel 6 des vorliegenden Beitrags.<\/p>\n<p>Das Datenmodell f&uuml;r die im ersten Teil der Briefverwaltung vorgestellten Funktionen ist gegen&uuml;ber dem kompletten Datenmodell stark vereinfacht. Es enth&auml;lt lediglich eine Tabelle zum Speichern der Daten je eines Briefes sowie eine Tabelle zum Speichern von Absenderinformationen.<\/p>\n<h3>Hinweis<\/h3>\n<p>Im Rahmen des ersten Teils dieser Beitragsreihe soll zun&auml;chst die grundlegende Funktionalit&auml;t der Briefverwaltung erl&auml;utert werden. Sp&auml;ter kommen Funktionen wie die Verwendung von Adressen aus externen Adressdatenbanken und so weiter hinzu. Daher enth&auml;lt die vorliegende Fassung der Musterl&ouml;sung zum Beispiel keine eigene Tabelle zur Verwaltung der Empf&auml;ngeradressen. <\/p>\n<p>Bild 1 zeigt das Datenmodell der Musterl&ouml;sung. Die Tabelle tblBriefe enth&auml;lt alle Daten, die f&uuml;r das Ausdrucken eines Briefes erforderlich sind. Da die Daten der Briefe gespeichert, aber eventuelle &auml;nderungen an den Daten der Adressaten nach dem Erstellen von Briefen in dieser Tabelle nicht ber&uuml;cksichtigt werden sollen, werden auch alle Adressdaten des Empf&auml;ngers in der Tabelle gespeichert. Das bezieht sich auf die Daten Firma, Anrede, Vorname, Nachname, Stra&szlig;e, PLZ, Ort und Land. Das Feld Betreff enth&auml;lt die Betreffzeile des Briefes. Das wichtigste Feld ist das Feld Inhalt. Es enth&auml;lt den in Form eines RTF-Dokumentes gespeicherten Text des Briefes.<\/p>\n<p>Die verkn&uuml;pfte Tabelle tblRTFAbsaetze ist eine Tabelle zum tempor&auml;ren Speichern von Daten. <\/p>\n<p><IMG height=\"283\" src=\"..\/fileadmin\/_temp_\/{9DE9E0E5-CF07-468F-8E9F-5812644A48A7}\/pic001.png\" width=\"296\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1:  Datenmodell der Musterl&ouml;sung<\/span><\/b><\/p>\n<p><IMG height=\"257\" src=\"..\/fileadmin\/_temp_\/{9DE9E0E5-CF07-468F-8E9F-5812644A48A7}\/pic002.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2:  Formular zur Verwaltung von Briefen<\/span><\/b><\/p>\n<p>Die Tabelle hat folgende Funktion: Der Inhalt des Memofeldes zum Speichern des Textes im RTF-Format kann unter Umst&auml;nden so gro&szlig; werden, dass er nicht mehr auf eine Briefseite passt und umbrochen werden muss.<\/p>\n<p>Das RTF-Steuerelement, das der Anzeige des Textes dient, kann die Position des Umbruchs nicht steuern und bricht m&ouml;glicherweise so um, dass eine Zeile genau im Umbruch liegt und auf der ersten Seite nur die obere H&auml;lfte der Zeile enth&auml;lt. Daher wird der Inhalt in die einzelnen Abs&auml;tze aufgeteilt und in mehreren Datens&auml;tzen gespeichert. Dadurch kann ein Umbruch nur zwischen zwei Abs&auml;tzen erfolgen.<\/p>\n<h3>Hinweis<\/h3>\n<p>Ausf&uuml;hrliche Informationen zu diesem Thema erhalten Sie im Beitrag Formatierte Texte in Berichten in der vorliegenden Ausgabe von Access im Unternehmen. <\/p>\n<p>Die Datenbank enth&auml;lt neben dem Startformular zwei weitere Formulare. Die beiden Formulare dienen der Verwaltung von Briefen und der Anzeige eines einzelnen Briefes zum Bearbeiten.<\/p>\n<h3>Funktionalit&auml;t in Men&uuml;leisten<\/h3>\n<p>Neben den Formularen enth&auml;lt die Datenbank gleich drei verschiedene Men&uuml;leisten. Aus Gr&uuml;nden der &uuml;bersichtlichkeit wurde versucht, die Formulare nicht unn&ouml;tig mit Schaltfl&auml;chen zu &uuml;berfrachten. In einigen F&auml;llen ist das besonders sinnvoll, zum Beispiel, wenn eine Funktion von mehreren Formularen aus aufgerufen werden kann. Wenn Sie die Funktion in einer Men&uuml;- oder Symbolleiste unterbringen, k&ouml;nnen sich die Anwender vermutlich leichter an sie gew&ouml;hnen, als wenn die Funktion in verschiedenen Formularen in Form einer Schaltfl&auml;che untergebracht ist, die sich dazu noch  immer an anderen Stellen befindet.<\/p>\n<p>Die einzelnen Men&uuml;leisten werden in Zusammenhang mit den jeweiligen Formularen und Funktionen vorgestellt.<\/p>\n<h2>Verwalten der Briefe<\/h2>\n<pre>Private Sub cmdSuche_Click()\r\n    Dim strSQL As String\r\n    Dim strSucheInhalt As String\r\n    strSucheInhalt = Nz(Me.txtInhalt, \"\")\r\n    strSQL = \"SELECT * FROM tblBriefe WHERE \"\r\n    If IsNull(Me.txtDatumVon) Then\r\n        strSQL = strSQL & \" Datum &gt;= \" & ISODatum(\"1.1.1900\")\r\n    Else\r\n        strSQL = strSQL & \" Datum &gt;= \" & ISODatum(Me.txtDatumVon)\r\n    End If\r\n    If IsNull(Me.txtDatumBis) Then\r\n        strSQL = strSQL & \" AND Datum &lt;= \" & ISODatum(Date)\r\n    Else\r\n        strSQL = strSQL & \" AND Datum &lt;= \" & ISODatum(Me.txtDatumBis)\r\n    End If\r\n    If Not IsNull(Me.txtInhalt) Then\r\n        strSQL = strSQL & \" AND (Betreff LIKE \"\"*\" & strSucheInhalt & \"*\"\"\"\r\n        strSucheInhalt = ZeichenErsetzen(strSucheInhalt, \"&auml;\", \"\\''e4\")\r\n        strSucheInhalt = ZeichenErsetzen(strSucheInhalt, \"&ouml;\", \"\\''f6\")\r\n        ''...weitere Ersetzungen\r\n        strSQL = strSQL & \" OR Inhalt LIKE \"\"*\" & strSucheInhalt & \"*\"\")\"\r\n    End If\r\n    If Not IsNull(Me.txtEmpfaenger) Then\r\n        strSQL = strSQL & \" AND\"\r\n        strSQL = strSQL & \" (Vorname LIKE \"\"*\" & Me.txtEmpfaenger & \"*\"\"\"\r\n        ''...weitere Kriterien\r\n        strSQL = strSQL & \" OR Land LIKE \"\"*\" & Me.txtEmpfaenger & \"*\"\")\"\r\n    End If\r\n    Me.RecordSource = strSQL\r\n    Me.Requery\r\nEnd Sub<\/pre>\n<p><!--30percent--><\/p>\n<p><b>Quellcode 1<\/b><\/p>\n<p>Das Formular frmBriefe gibt eine &uuml;bersicht &uuml;ber alle vorhandenen Briefe und enth&auml;lt eine M&ouml;glichkeit, nach verschiedenen Kriterien zu filtern (siehe Bild 2).<\/p>\n<p>Das Formular kann &uuml;ber den Men&uuml;eintrag Briefe\/Briefauswahl ge&ouml;ffnet werden. Nach dem &ouml;ffnen dieses Formulars erscheint die damit verkn&uuml;pfte Symbolleiste (siehe Bild 3).<\/p>\n<p>Dort k&ouml;nnen Sie folgende Funktionen aufrufen:<\/p>\n<li>Vorschau anzeigen: &ouml;ffnet den Bericht rptBrief in der Vorschauansicht.<\/li>\n<li>Brief anzeigen: &ouml;ffnet die Briefdetails f&uuml;r den aktuell ausgew&auml;hlten Brief.<\/li>\n<li>Neuer Brief: &ouml;ffnet die Briefdetails mit einem leeren Brief.<\/li>\n<li>Brief kopieren: Legt einen neuen Brief an, kopiert alle Daten mit Ausnahme von Datum, Betreff und Inhalt des aktuell ausgew&auml;hlten Datensatzes und zeigt den neuen Brief an.<\/li>\n<li>Brief l&ouml;schen: L&ouml;scht den aktuell ausgew&auml;hlten Brief.<\/li>\n<p><IMG height=\"202\" src=\"..\/fileadmin\/_temp_\/{9DE9E0E5-CF07-468F-8E9F-5812644A48A7}\/pic003.png\" width=\"367\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3:  Die Funktionen der Brief&uuml;bersicht sind &uuml;ber die Symbolleiste zu erreichen.<\/span><\/b><\/p>\n<p><IMG height=\"471\" src=\"..\/fileadmin\/_temp_\/{9DE9E0E5-CF07-468F-8E9F-5812644A48A7}\/pic004.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4:  Formular zum Bearbeiten eines Briefes<\/span><\/b><\/p>\n<h3>Filtern von Briefen<\/h3>\n<p>Im oberen Bereich des Formulars frmBrief befinden sich einige Textfelder und Schaltfl&auml;chen zum Filtern der in der &uuml;bersicht angezeigten Datens&auml;tze. Die Schaltfl&auml;che cmdSuche wertet die angegebenen Kriterien aus und stellt eine entsprechende SQL-Abfrage zusammen, die anschlie&szlig;end die Datenherkunft des Formulars ersetzt (s. Quellcode 1).<\/p>\n<p>Dabei ist eine Besonderheit zu beachten: Das Durchsuchen des Briefinhalts, der sich in dem Memofeld Inhalt befindet, erfordert die vorherige Umwandlung des Suchbegriffes.<\/p>\n<p>In dem Memofeld wird der Text inklusive der f&uuml;r die Formatierungen erforderlichen Steuerzeichen gespeichert. RTF kann zwar Umlaute darstellen, aber es verwendet Steuerzeichen daf&uuml;r &#8211; zum Beispiel \\&#8220;d6 f&uuml;r &ouml; oder \\&#8220;df f&uuml;r &szlig;.<\/p>\n<h2>Bearbeiten von Briefen<\/h2>\n<p>Das Formular frmBrief zeigt je einen Brief zur Bearbeitung an (siehe Bild 4). Das Formular enth&auml;lt Eingabefelder f&uuml;r alle ben&ouml;tigten Daten.<\/p>\n<p>Der Clou des Formulars ist das Feld zur Eingabe des Briefinhalts. Es handelt sich dabei um das RTF2-Steuerelement, das sowohl zur Eingabe von formatierten Texten in Formularen als auch zu deren Ausgabe in Berichten dient.<\/p>\n<p>Es bietet die M&ouml;glichkeit, Texte in beliebigen Schriftarten, Schriftgr&ouml;&szlig;en und -formatierungen anzuzeigen.<\/p>\n<p>Dadurch, dass der Text wegen des Problems mit den Seitenumbr&uuml;chen in einzelne Abs&auml;tze umgewandelt werden muss, k&ouml;nnen leider nicht alle von dem Steuerelement zur Verf&uuml;gung gestellten Formatierungen verwendet werden, sondern nur die in der Symbolleiste angebotenen.<\/p>\n<p>Die Symbolleiste, die immer angezeigt wird, wenn das RTF2-Steuerelement im Formular frmBrief den Fokus hat, ist in Bild 5 dargestellt.<\/p>\n<p>Neben den Funktionen zum Formatieren des Textes finden Sie dort noch Schaltfl&auml;chen zum Ausrichten des Textes mit den herk&ouml;mmlichen Methoden, zum Kopieren, Ausschneiden und Einf&uuml;gen von Inhalten der Zwischenablage sowie eine Schaltfl&auml;che zum R&uuml;ckg&auml;ngigmachen der letzten Aktion.<\/p>\n<p><IMG height=\"351\" src=\"..\/fileadmin\/_temp_\/{9DE9E0E5-CF07-468F-8E9F-5812644A48A7}\/pic005.png\" width=\"353\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5:  Die Symbolleiste zum Formatieren und Editieren des Briefinhalts<\/span><\/b><\/p>\n<p><IMG height=\"722\" src=\"..\/fileadmin\/_temp_\/{9DE9E0E5-CF07-468F-8E9F-5812644A48A7}\/pic006.png\" width=\"497\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6:  Ausgabe eines Briefes per Bericht<\/span><\/b><\/p>\n<p>Wenn der Brief fertig gestellt ist, soll er nat&uuml;rlich auch gedruckt werden. Dazu ist zun&auml;chst seine  Anzeige in einem Bericht erforderlich. Dieser Bericht k&ouml;nnte beispielsweise wie in Bild 6 aussehen. Die Abbildung zeigt die erste Seite des Berichts. Der Bericht ist ebenso wie das Formular frmBrief mit dem RTF2-Steuerelement  ausgestattet. Bei der Verwendung des Steuerelements sind einige Tricks anzuwenden &#8211; vor allem unter Access 97. Details zu der Verwendung des RTF2-Steuerelements finden Sie im Beitrag Formatierte Texte in Berichten der vorliegenden Ausgabe von Access im Unternehmen.<\/p>\n<p>Neben dem Steuerelement zur Anzeige des Inhalts des Briefes werden ausschlie&szlig;lich Text- und Bezeichnungsfelder verwendet.<\/p>\n<h2>Zusammensetzen der Adresse<\/h2>\n<p>Bild 7 zeigt die Entwurfsansicht des Berichts. Die Felder im rechten oberen Bereich sind in der Vorschauansicht nicht zu sehen, da deren Eigenschaft Sichtbar den Wert Nein hat.<\/p>\n<p>Die Felder werden lediglich als Grundlage f&uuml;r die Anzeige der Empf&auml;ngeradresse ben&ouml;tigt. Diese befindet sich im Textfeld txtAnschrift. Der Steuerelementinhalt des Textfeldes wird in der Prozedur zusammengesetzt, die durch die Ereigniseigenschaft Beim Formatieren des Berichtskopfes ausgel&ouml;st wird (s. Quellcode 2).<\/p>\n<p>Au&szlig;erdem besitzt der Bericht zwei Prozeduren, die beim Aktivieren beziehungsweise Deaktivieren des Berichts ausgel&ouml;st werden und den Men&uuml;eintrag zum Drucken des Berichts an- und ausschalten.<\/p>\n<pre>Private Sub Berichtskopf_Format(Cancel As Integer, FormatCount As Integer)\r\n    Dim strAnschrift As String\r\n    If Not Me.Firma = \"\" Then\r\n        strAnschrift = strAnschrift & Me!Firma & vbCrLf\r\n    End If\r\n    If Not (IsNull(Me.Anrede) And IsNull(Me.Nachname)) Then\r\n        If Not IsNull(Me.Anrede) Then\r\n            strAnschrift = strAnschrift & Me.Anrede & \" \"\r\n        End If\r\n        strAnschrift = strAnschrift & Me.Vorname & IIf(IsNull(Me.Vorname), \"\", \" \") & Me.Nachname & vbCrLf\r\n    End If\r\n    If Not IsNull(Me.Strasse) Then\r\n        strAnschrift = strAnschrift & Me.Strasse & vbCrLf\r\n    End If\r\n    strAnschrift = strAnschrift & Me.PLZ & \" \" & Me.Ort & vbCrLf\r\n    Me.txtAnschrift = strAnschrift\r\nEnd Sub<\/pre>\n<p><b>Quellcode 2<\/b><\/p>\n<p><IMG height=\"581\" src=\"..\/fileadmin\/_temp_\/{9DE9E0E5-CF07-468F-8E9F-5812644A48A7}\/pic007.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 7:  Entwurfsansicht des Berichts rptBrief<\/span><\/b><\/p>\n<h3>Hinweis<\/h3>\n<p>Wenn Sie den Bericht an Ihre Bed&uuml;rfnisse anpassen m&ouml;chten, k&ouml;nnen Sie dies leicht erledigen. &auml;ndern Sie die beiden Beschriftungsfelder f&uuml;r die Absenderdaten und die Fu&szlig;zeile, f&uuml;gen Sie einen individuellen Briefkopf hinzu oder &auml;hnliches. Beachten Sie aber, dass auch nur geringe &auml;nderungen an dem Detailbereich die Funktion des Berichts beeintr&auml;chtigen k&ouml;nnten. <\/p>\n<p>Die Musterl&ouml;sung enth&auml;lt drei Men&uuml;- beziehungsweise Symbolleisten. Die Hauptmen&uuml;leiste enth&auml;lt Eintr&auml;ge f&uuml;r das Drucken sowie f&uuml;r die Anzeige der beiden Formulare.<\/p>\n<p>Die Erste der beiden Symbolleisten wird nur angezeigt, wenn das RTF2-Steuerelement den Fokus hat. Sie enth&auml;lt Schaltfl&auml;chen zum Aufrufen der Funktionen zum Durchf&uuml;hren der unterschiedlichen Formatierungen.<\/p>\n<p>Die Zweite ist immer sichtbar, wenn eines der beiden Formulare ge&ouml;ffnet ist. Die Symbolleiste interagiert mit den beiden Formularen. Ist das Formular frmBriefe ge&ouml;ffnet, sind alle Schaltfl&auml;chen der Symbolleiste aktiviert (mit Ausnahme des Falls, dass noch kein Brief vorhanden ist &#8211; dann kann nat&uuml;rlich auch keiner angezeigt oder ausgedruckt werden). Beim Anzeigen eines einzelnen Briefes im Formular frmBrief werden die rechten vier Schaltfl&auml;chen ausgeblendet. Nur die Schaltfl&auml;che zur Anzeige der Vorschau bleibt aktiviert.<\/p>\n<p>Diese Interaktion wird durch eine Sammlung von Men&uuml;-Funktionen m&ouml;glich, die sich im Modul mdlMenueleisten befindet. Dort finden Sie auch beispielsweise die Funktion BriefeSymbolleisteErstellen, die dem Erstellen dieser Symbolleiste dient (s. Quellcode 3). Hier werden die einzelnen Elemente der Symbolleiste und deren Eigenschaften wie Symbol, aufzurufende Funktion und so weiter festgelegt.<\/p>\n<pre>Public Sub BriefeSymbolleisteErstellen()\r\n    Dim cbr As Object\r\n    MenueleisteLoeschen \"SymbolleisteBriefe\"\r\n    SymbolleistenErstellen \"SymbolleisteBriefe\", msoBarTop\r\n    Set cbr = CommandBars(\"SymbolleisteBriefe\")\r\n    cbr.Visible = True\r\n    SymbolleisteneintragErstellen cbr, \"&Vorschau anzeigen\", \"BriefVorschau\", _        \"=BriefVorschau()\", False, msoButtonIcon, 109\r\n    SymbolleisteneintragErstellen cbr, \"Brief &anzeigen\", \"BriefAnzeigen\", _        \"=BriefAnzeigen()\", True, msoButtonIcon, 324\r\n    ''...Erstellung weiterer Eintr&auml;ge\r\nEnd Sub<\/pre>\n<p><b>Quellcode 3<\/b><\/p>\n<pre>Public Function BriefVorschau()\r\n    Dim intBriefID As Integer\r\n    If Application.CurrentObjectName = \"frmBrief\" Then\r\n        DoCmd.RunCommand acCmdSaveRecord\r\n        intBriefID = Forms!frmBrief!BriefID\r\n    ElseIf Application.CurrentObjectName = \"frmBriefe\" Then\r\n        intBriefID = Forms!frmBriefe.BriefID\r\n    End If\r\n    RichtextAufteilen intBriefID\r\n    DoCmd.OpenReport \"rptBrief\", View:=acViewPreview, _            WhereCondition:=\"BriefID = \" & intBriefID\r\nEnd Function<\/pre>\n<p><b>Quellcode 4<\/b><\/p>\n<p>Die hier verwendeten Funktionen sind alle im gleichen Modul vorhanden. Ein gutes Beispiel f&uuml;r die Interaktion zwischen Symbolleiste und Formular ist die Funktion BriefVorschau (s. Quellcode 4). Die Funktion &uuml;berpr&uuml;ft zun&auml;chst, ob das Formular frmBrief das aktuell ge&ouml;ffnete Formular ist. Falls ja, wird der hier angezeigte Brief in der Berichtsvorschau angezeigt. Falls nein, &uuml;berpr&uuml;ft die Funktion das Formular frmBriefe und &ouml;ffnet den dort ausgew&auml;hlten Brief.<\/p>\n<p>Ob die Schaltfl&auml;che beziehungsweise die Symbolleiste &uuml;berhaupt angezeigt wird, h&auml;ngt indes davon ab, ob eines dieser beiden Formulare ge&ouml;ffnet ist.<\/p>\n<p>Mit der vorliegenden Fassung der Briefverwaltung haben Sie den Grundstein f&uuml;r eine professionelle Anwendung gelegt. Sie k&ouml;nnen damit bereits Briefe neu erstellen, bestehende Briefe bearbeiten, eine Briefsuche nach bestimmten Kriterien durchf&uuml;hren und die Briefe komfortabel ausdrucken.<\/p>\n<p>In Ausgabe 1\/2004 von Access im Unternehmen geht es weiter. Dort werden der Briefverwaltung die organisatorischen Funktionen hinzugef&uuml;gt: Dazu geh&ouml;rt die Verwendung bestehender Adressen aus der Adressverwaltung, das Erstellen von Serienbriefen und die Verwendung unterschiedlicher Vorlagen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das Erstellen von Briefen ist eigentlich das Spezialgebiet von Textverarbeitungen wie Microsoft Word. Es gibt allerdings gen&uuml;gend Gr&uuml;nde, einmal &uuml;ber den Tellerrand zu schauen und dabei einen Blick auf Access zu werfen. Access bildet in Form der Bereitstellung von Adresstabellen die Grundlage f&uuml;r die Erstellung vieler Serienbriefe. Es enth&auml;lt ein Objekt namens Bericht, das prinzipiell f&uuml;r die Erstellung von Briefen geeignet ist. Und au&szlig;erdem bietet es die M&ouml;glichkeit, die in einem Brief enthaltenen Informationen und die Adressaten zu speichern und damit leichter zu verwalten &#8211; das sind mindestens drei Gr&uuml;nde, um die Brieftauglichkeit von Access im Rahmen einer Musterl&ouml;sung genau zu untersu-chen.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662003,66062003,44000027],"tags":[],"class_list":["post-55000130","post","type-post","status-publish","format-standard","hentry","category-662003","category-66062003","category-Loesungen"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Briefe erstellen und verwalten - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Briefe_erstellen_und_verwalten\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Briefe erstellen und verwalten\" \/>\n<meta property=\"og:description\" content=\"Das Erstellen von Briefen ist eigentlich das Spezialgebiet von Textverarbeitungen wie Microsoft Word. Es gibt allerdings gen&uuml;gend Gr&uuml;nde, einmal &uuml;ber den Tellerrand zu schauen und dabei einen Blick auf Access zu werfen. Access bildet in Form der Bereitstellung von Adresstabellen die Grundlage f&uuml;r die Erstellung vieler Serienbriefe. Es enth&auml;lt ein Objekt namens Bericht, das prinzipiell f&uuml;r die Erstellung von Briefen geeignet ist. Und au&szlig;erdem bietet es die M&ouml;glichkeit, die in einem Brief enthaltenen Informationen und die Adressaten zu speichern und damit leichter zu verwalten - das sind mindestens drei Gr&uuml;nde, um die Brieftauglichkeit von Access im Rahmen einer Musterl&ouml;sung genau zu untersu-chen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Briefe_erstellen_und_verwalten\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-06T15:17:33+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg08.met.vgwort.de\/na\/ede4f7c981694eb792e32bcc03f06167\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"12\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Briefe_erstellen_und_verwalten\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Briefe_erstellen_und_verwalten\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Briefe erstellen und verwalten\",\"datePublished\":\"2020-05-06T15:17:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Briefe_erstellen_und_verwalten\\\/\"},\"wordCount\":2108,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Briefe_erstellen_und_verwalten\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/ede4f7c981694eb792e32bcc03f06167\",\"articleSection\":[\"2003\",\"6\\\/2003\",\"L\u00f6sungen\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Briefe_erstellen_und_verwalten\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Briefe_erstellen_und_verwalten\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Briefe_erstellen_und_verwalten\\\/\",\"name\":\"Briefe erstellen und verwalten - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Briefe_erstellen_und_verwalten\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Briefe_erstellen_und_verwalten\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/ede4f7c981694eb792e32bcc03f06167\",\"datePublished\":\"2020-05-06T15:17:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Briefe_erstellen_und_verwalten\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Briefe_erstellen_und_verwalten\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Briefe_erstellen_und_verwalten\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/ede4f7c981694eb792e32bcc03f06167\",\"contentUrl\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/ede4f7c981694eb792e32bcc03f06167\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Briefe_erstellen_und_verwalten\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Briefe erstellen und verwalten\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Briefe erstellen und verwalten - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Briefe_erstellen_und_verwalten\/","og_locale":"de_DE","og_type":"article","og_title":"Briefe erstellen und verwalten","og_description":"Das Erstellen von Briefen ist eigentlich das Spezialgebiet von Textverarbeitungen wie Microsoft Word. Es gibt allerdings gen&uuml;gend Gr&uuml;nde, einmal &uuml;ber den Tellerrand zu schauen und dabei einen Blick auf Access zu werfen. Access bildet in Form der Bereitstellung von Adresstabellen die Grundlage f&uuml;r die Erstellung vieler Serienbriefe. Es enth&auml;lt ein Objekt namens Bericht, das prinzipiell f&uuml;r die Erstellung von Briefen geeignet ist. Und au&szlig;erdem bietet es die M&ouml;glichkeit, die in einem Brief enthaltenen Informationen und die Adressaten zu speichern und damit leichter zu verwalten - das sind mindestens drei Gr&uuml;nde, um die Brieftauglichkeit von Access im Rahmen einer Musterl&ouml;sung genau zu untersu-chen.","og_url":"https:\/\/access-im-unternehmen.de\/Briefe_erstellen_und_verwalten\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-06T15:17:33+00:00","og_image":[{"url":"http:\/\/vg08.met.vgwort.de\/na\/ede4f7c981694eb792e32bcc03f06167","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"12\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Briefe_erstellen_und_verwalten\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Briefe_erstellen_und_verwalten\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Briefe erstellen und verwalten","datePublished":"2020-05-06T15:17:33+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Briefe_erstellen_und_verwalten\/"},"wordCount":2108,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Briefe_erstellen_und_verwalten\/#primaryimage"},"thumbnailUrl":"http:\/\/vg08.met.vgwort.de\/na\/ede4f7c981694eb792e32bcc03f06167","articleSection":["2003","6\/2003","L\u00f6sungen"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Briefe_erstellen_und_verwalten\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Briefe_erstellen_und_verwalten\/","url":"https:\/\/access-im-unternehmen.de\/Briefe_erstellen_und_verwalten\/","name":"Briefe erstellen und verwalten - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Briefe_erstellen_und_verwalten\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Briefe_erstellen_und_verwalten\/#primaryimage"},"thumbnailUrl":"http:\/\/vg08.met.vgwort.de\/na\/ede4f7c981694eb792e32bcc03f06167","datePublished":"2020-05-06T15:17:33+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Briefe_erstellen_und_verwalten\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Briefe_erstellen_und_verwalten\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Briefe_erstellen_und_verwalten\/#primaryimage","url":"http:\/\/vg08.met.vgwort.de\/na\/ede4f7c981694eb792e32bcc03f06167","contentUrl":"http:\/\/vg08.met.vgwort.de\/na\/ede4f7c981694eb792e32bcc03f06167"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Briefe_erstellen_und_verwalten\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Briefe erstellen und verwalten"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000130","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000130"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000130\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}