{"id":55000348,"date":"2017-02-01T00:00:00","date_gmt":"2020-01-24T15:59:46","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=348"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Platzhalter_in_Textdateien_fuellen","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Platzhalter_in_Textdateien_fuellen.html","title":{"rendered":"Platzhalter in Textdateien f&uuml;llen"},"content":{"rendered":"<p class='introduction'>Texte mit Platzhaltern zu f&uuml;llen und die Platzhalter dann durch in der Datenbank gespeicherte Daten zu ersetzen ist ein oft ben&ouml;tigter Anwendungsfall. Im Prinzip bildet Word das mit der Seriendokument-Funktion ab: Hier werden im Dokument Verkn&uuml;pfungen zur Datenquelle hergestellt und dann gef&uuml;llt. Wir wollen es eine Nummer kleiner angehen und einfache Text mit entsprechenden formatierten Platzhaltern wie [Vorname] versehen und diese dann nach Bedarf mit den Daten aus der Datenbank f&uuml;llen.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1701_PlatzhalterInTextenFuellen.accdb<\/b>. <\/p>\n<h2>Textdatei mit Platzhaltern erstellen<\/h2>\n<p>Der erste Schritt besteht daraus, eine geeignete Textdatei zu erstellen, die wir mit Platzhaltern versehen. Hier kommt bereits die erste H&uuml;rde: Wie sollen die Platzhalter aussehen, damit wir diese sp&auml;ter auch zuverl&auml;ssig finden k&ouml;nnen Die erste Voraussetzung ist, dass die Namen der Platzhalter mit den Datenfeldern korrelieren. Wenn wir aus einer Tabelle Felder namens <b>Vorname<\/b>, <b>Nachname <\/b>und <b>Strasse <\/b>in die Textdateien f&uuml;llen wollen, sollten die Platzhalter auch entsprechend benannt werden. Das hat allein praktische Gr&uuml;nde: Wir k&ouml;nnen so sp&auml;ter einfach die Felder der Datenherkunft in einer Schleife durchlaufen und die Werte direkt in die Platzhalter einsetzen.<\/p>\n<p>Die zweite Voraussetzung ist, dass die Platzhalter vom &uuml;brigen Text unterschieden werden k&ouml;nnen. Wenn Sie beispielsweise nur den Namen des betroffenen Feldes als Platzhalter verwenden, ist die Wahrscheinlichkeit gegeben, dass dieser Name auch im eigentlichen Text zum Einsatz kommt.<\/p>\n<p>Also m&uuml;ssen wir die Platzhalter noch mit einer Start- und einer Endmarkierung versehen, die in dieser Art sonst nicht im Text vorkommt. Dazu eignen sich beispielsweise eckige Klammern. <b>[Vorname] <\/b>w&auml;re also ein geeigneter Platzhalter. Auf Nummer Sicher gehen Sie, wenn Sie die Start- und die Endmarkierung noch ein wenig eindeutiger gestalten, beispielsweise mit <b>@[Vorname@]<\/b>. Auf diese Weise sollte nichts anbrennen.<\/p>\n<p>Die Vorlage sieht dann beispielsweise wie in Bild 1 aus. Sie enth&auml;lt einige Platzhalter, die mit @[ beginnen und mit ]@ enden. Nun ben&ouml;tigen wir eine Tabelle beziehungsweise Abfrage, welche die angegebenen Platzhalterbezeichnungen innerhalb der Begrenzungszeichen aufweist. Dazu legen wir eine Tabelle namens <b>tblKunden <\/b>an, deren Entwurf Sie in Bild 2 finden. Das Feld <b>AnredeID <\/b>ist ein Fremdschl&uuml;sselfeld, das noch mit der Tabelle <b>tblAnreden <\/b>verkn&uuml;pft ist.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_348_002.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_348_002.png\" alt=\"Entwurf der Tabelle tblKunden\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Entwurf der Tabelle tblKunden<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_348_001.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_348_001.png\" alt=\"Beispielvorlage als Textdatei\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Beispielvorlage als Textdatei<\/p>\n<p><b>tblAnreden <\/b>enth&auml;lt die Felder <b>ID <\/b>(Prim&auml;rschl&uuml;sselfeld) und <b>Bezeichnung<\/b> sowie zwei Felder mit speziellen Formen der Anrede: <b>AnredeAdresse <\/b>nimmt die Form der Anrede f&uuml;r den Adressblock auf (<b>Herrn<\/b>\/<b>Frau<\/b>), <b>AnredeBrief <\/b>die Anrede f&uuml;r die erste Zeile des Brieftextes (<b>Sehr geehrter Herr<\/b>\/<b>Sehr geehrte Frau<\/b>) &#8211; siehe Bild 3.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_348_003.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_348_003.png\" alt=\"Die Tabelle tblAnreden mit einigen Werten\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 3: Die Tabelle tblAnreden mit einigen Werten<\/p>\n<h2>Abfrage als Quelle f&uuml;r die Platzhalter<\/h2>\n<p>Nun ben&ouml;tigen wir noch eine Abfrage, welche die Daten der beiden Tabellen so zusammenf&uuml;hrt, dass wir diese in der anschlie&szlig;end zu erstellenden VBA-Prozedur zum Ersetzen der Platzhalter nutzen k&ouml;nnen. Diese Abfrage soll die beiden Tabellen <b>tblKunden <\/b>und <b>tblAnreden <\/b>als Datenherkunft nutzen und alle Felder dieser beiden Tabellen mit Ausnahme des Feldes <b>AnredeID <\/b>der Tabelle <b>tblKunden <\/b>und des Feldes <b>ID <\/b>der Tabelle <b>tblAnreden <\/b>enthalten. Der Entwurf dieser Abfrage, die wir unter dem Namen <b>qryKundenMitAnrede <\/b>speichern, sieht wie in Bild 4 aus.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_348_004.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_348_004.png\" alt=\"Entwurf der Abfrage qryKundenMitAnrede\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 4: Entwurf der Abfrage qryKundenMitAnrede<\/p>\n<p>Das Ergebnis der Abfrage aus Bild 5 liefert alle Daten der Tabelle <b>tblKunden <\/b>plus die dazugeh&ouml;rigen Anreden aus der Tabelle <b>tblAnreden<\/b>.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_348_005.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_348_005.png\" alt=\"Die Abfrage qryKundenMitAnrede in der Datenblattansicht\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 5: Die Abfrage qryKundenMitAnrede in der Datenblattansicht<\/p>\n<h2>Formular zum F&uuml;llen der Platzhalter in der Textdatei<\/h2>\n<p>Die Funktionen zum Ausw&auml;hlen der Vorlage mit den Platzhaltern, zum Ausw&auml;hlen der Zieldatei und zum Festlegen des Kunden, f&uuml;r den die Vorlage gef&uuml;llt werden soll, wollen wir in eine Benutzeroberfl&auml;che integrieren &#8211; sprich: in ein Formular. Dieses sieht in der Entwurfsansicht wie in Bild 6 aus. Es enth&auml;lt im oberen Bereich zwei Textfelder namens <b>txtVorlage <\/b>und <b>txtZiel<\/b>. In beiden soll der Benutzer die Namen der Dateien eintragen, die verwendet werden sollen. Beide Dateien sollen der Einfachheit halber im Verzeichnis der aktuellen Datenbankdatei liegen.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_348_006.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_348_006.png\" alt=\"Das Formular frmPlatzhalterErsetzen in der Entwurfsansicht\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 6: Das Formular frmPlatzhalterErsetzen in der Entwurfsansicht<\/p>\n<h2>Vorlagendatei &ouml;ffnen<\/h2>\n<p>Die Schaltfl&auml;che rechts vom Textfeld f&uuml;r die Vorlagendatei soll die angegebene Datei zum Betrachten und Bearbeiten &ouml;ffnen. Dazu l&ouml;st diese die Prozedur <b>cmdVorlageOeffnen <\/b>aus (siehe Listing 1). Diese f&uuml;gt den mit <b>CurrentProject.Path <\/b>ermittelten Datenbankpfad und die im Textfeld <b>txtVorlage <\/b>angegebene Datei in einer Variablen namens <b>strVorlage <\/b>zusammen und pr&uuml;ft mithilfe der <b>Dir<\/b>-Funktion, ob die Datei &uuml;berhaupt vorhanden ist. Diese Funktion w&uuml;rde in diesem Fall den reinen Dateinamen zur&uuml;ckliefern. Hat <b>Dir(strVorlage) <\/b>also eine L&auml;nge gr&ouml;&szlig;er <b>0<\/b>, dann ist die Datei vorhanden.<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdVorlageOeffnen_Click()\r\n     <span style=\"color:blue;\">Dim <\/span>strVorlage<span style=\"color:blue;\"> As String<\/span>\r\n     strVorlage = CurrentProject.Path & \"\\\" & Me!txtVorlage\r\n     <span style=\"color:blue;\">If <\/span><span style=\"color:blue;\">Len<\/span>(Dir(strVorlage)) > 0<span style=\"color:blue;\"> Then<\/span>\r\n         DateiOeffnen strVorlage\r\n     <span style=\"color:blue;\">Else<\/span>\r\n         <span style=\"color:blue;\">MsgBox<\/span> \"Die Datei '\" & Me!txtVorlage & \"' ist nicht im aktuellen Ordner der Datenbank vorhanden.\"\r\n     <span style=\"color:blue;\">End If<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p class='imagetext'>Listing 1: Anzeige der Vorlagendatei im Text-Editor<\/p>\n<p>In diesem Fall ruft die Prozedur eine weitere Routine namens <b>DateiOeffnen <\/b>auf, die im Modul <b>mdlTools <\/b>angelegt ist. Diese verwendet eine API-Funktion namens <b>ShellExecute<\/b>, um die mit dem Parameter <b>strPfad <\/b>&uuml;bergebene Datei zu &ouml;ffnen (siehe Listing 2).<\/p>\n<pre><span style=\"color:blue;\">Public <\/span>Declare Function ShellExecute Lib \"shell32.dll\" Alias \"ShellExecuteA\" (ByVal hWnd<span style=\"color:blue;\"> As Long<\/span>, ByVal lpOperation<span style=\"color:blue;\"> As String<\/span>, ByVal lpFile<span style=\"color:blue;\"> As String<\/span>, ByVal lpParameters<span style=\"color:blue;\"> As String<\/span>, ByVal lpDirectory<span style=\"color:blue;\"> As String<\/span>, ByVal nshowcmd<span style=\"color:blue;\"> As Long<\/span>)<span style=\"color:blue;\"> As Long<\/span>\r\n<span style=\"color:blue;\">Public <\/span>Const SW_NORMAL = 1\r\n<span style=\"color:blue;\">Public Function <\/span>DateiOeffnen(strPfad<span style=\"color:blue;\"> As String<\/span>)<span style=\"color:blue;\"> As Boolean<\/span>\r\n     <span style=\"color:blue;\">Call<\/span> ShellExecute(0, \"open\", strPfad, \"\", \"\", SW_NORMAL)\r\n<span style=\"color:blue;\">End Function<\/span><\/pre>\n<p class='imagetext'>Listing 2: Diese Prozedur &ouml;ffnet ein neues Formular oder zeigt dieses an, wenn es bereits ge&ouml;ffnet ist.<\/p>\n<h2>Auswahl des Kunden, mit dem die Platzhalter gef&uuml;llt werden sollen<\/h2>\n<p>Das Listenfeld <b>lstKunden <\/b>dient der Anzeige aller Kunden der Abfrage <b>qryKundenMitAnrede <\/b>und der Auswahl des Kunden, f&uuml;r den die Platzhalter in der Vorlage ersetzt werden sollen. Dazu stellen Sie die Eigenschaft <b>Datensatzherkunft <\/b>auf den Namen der Abfrage <b>qryKundenMitAnrede <\/b>ein. Damit das Prim&auml;rschl&uuml;sselfeld der Abfrage nicht angezeigt wird, sondern nur die ersten beiden Felder <b>Vorname <\/b>und <b>Nachname<\/b>, stellen Sie die Eigenschaft <b>Spaltenanzahl <\/b>auf den Wert <b>3 <\/b>und die Eigenschaft <b>Spaltenbreiten <\/b>auf den Wert <b>0cm;4cm;4cm <\/b>ein.<\/p>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Access &#091;basics&#093;<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000\"><a style=\"color: #ff0000\" href=\"https:\/\/shop.minhorst.com\/magazine\/282\/access-basics?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000\">Danach greifen Sie sofort auf <strong>alle rund 400 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000348\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Passwort<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Angemeldet bleiben<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/index.php\/data\/wp\/v2\/posts\/55000348?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000348\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"7b166cdc94\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Anmelden\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Texte mit Platzhaltern zu f&uuml;llen und die Platzhalter dann durch in der Datenbank gespeicherte Daten zu ersetzen ist ein oft ben&ouml;tigter Anwendungsfall. Im Prinzip bildet Word das mit der Seriendokument-Funktion ab: Hier werden im Dokument Verkn&uuml;pfungen zur Datenquelle hergestellt und dann gef&uuml;llt. Wir wollen es eine Nummer kleiner angehen und einfache Text mit entsprechenden formatierten Platzhaltern wie [Vorname] versehen und diese dann nach Bedarf mit den Daten aus der Datenbank f&uuml;llen.<\/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,"footnotes":""},"categories":[66012017,662017,44000014],"tags":[],"class_list":["post-55000348","post","type-post","status-publish","format-standard","hentry","category-66012017","category-662017","category-Loesungen"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"Texte mit Platzhaltern zu f\u00fcllen und die Platzhalter dann durch in der Datenbank gespeicherte Daten zu ersetzen ist ein oft ben\u00f6tigter Anwendungsfall. Im Prinzip bildet Word das mit der Seriendokument-Funktion ab: Hier werden im Dokument Verkn\u00fcpfungen zur Datenquelle hergestellt und dann gef\u00fcllt. Wir wollen es eine Nummer kleiner angehen und einfache Text mit entsprechenden formatierten Platzhaltern wie [Vorname] versehen und diese dann nach Bedarf mit den Daten aus der Datenbank f\u00fcllen.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Andr\u00e9 Minhorst\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Platzhalter_in_Textdateien_fuellen.html\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Access [basics] - DAS ACCESS-MAGAZIN F\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Platzhalter in Textdateien f\u00fcllen - Access [basics]\" \/>\n\t\t<meta property=\"og:description\" content=\"Texte mit Platzhaltern zu f\u00fcllen und die Platzhalter dann durch in der Datenbank gespeicherte Daten zu ersetzen ist ein oft ben\u00f6tigter Anwendungsfall. Im Prinzip bildet Word das mit der Seriendokument-Funktion ab: Hier werden im Dokument Verkn\u00fcpfungen zur Datenquelle hergestellt und dann gef\u00fcllt. Wir wollen es eine Nummer kleiner angehen und einfache Text mit entsprechenden formatierten Platzhaltern wie [Vorname] versehen und diese dann nach Bedarf mit den Daten aus der Datenbank f\u00fcllen.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Platzhalter_in_Textdateien_fuellen.html\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/access-basics.de\/wp-content\/uploads\/2021\/02\/logo400.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/access-basics.de\/wp-content\/uploads\/2021\/02\/logo400.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"400\" \/>\n\t\t<meta property=\"og:image:height\" content=\"127\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-24T15:59:46+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"-001-11-30T00:00:00+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Platzhalter in Textdateien f\u00fcllen - Access [basics]\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Texte mit Platzhaltern zu f\u00fcllen und die Platzhalter dann durch in der Datenbank gespeicherte Daten zu ersetzen ist ein oft ben\u00f6tigter Anwendungsfall. Im Prinzip bildet Word das mit der Seriendokument-Funktion ab: Hier werden im Dokument Verkn\u00fcpfungen zur Datenquelle hergestellt und dann gef\u00fcllt. Wir wollen es eine Nummer kleiner angehen und einfache Text mit entsprechenden formatierten Platzhaltern wie [Vorname] versehen und diese dann nach Bedarf mit den Daten aus der Datenbank f\u00fcllen.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/access-basics.de\/wp-content\/uploads\/2021\/02\/logo400.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Platzhalter_in_Textdateien_fuellen.html#blogposting\",\"name\":\"Platzhalter in Textdateien f\\u00fcllen - Access [basics]\",\"headline\":\"Platzhalter in Textdateien f&uuml;llen\",\"author\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/author\\\/andreminhorst-com#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"..\\\/tl_files\\\/images\\\/pic_348_002.png\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Platzhalter_in_Textdateien_fuellen.html\\\/#articleImage\"},\"datePublished\":\"2017-02-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"inLanguage\":\"de-DE\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Platzhalter_in_Textdateien_fuellen.html#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Platzhalter_in_Textdateien_fuellen.html#webpage\"},\"articleSection\":\"1\\\/2017, 2017, L&ouml;sungen\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Platzhalter_in_Textdateien_fuellen.html#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-basics.de\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/category\\\/2017#listItem\",\"name\":\"2017\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/category\\\/2017#listItem\",\"position\":2,\"name\":\"2017\",\"item\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/category\\\/2017\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/category\\\/2017\\\/1\\\/2017#listItem\",\"name\":\"1\\\/2017\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/category\\\/2017\\\/1\\\/2017#listItem\",\"position\":3,\"name\":\"1\\\/2017\",\"item\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/category\\\/2017\\\/1\\\/2017\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Platzhalter_in_Textdateien_fuellen.html#listItem\",\"name\":\"Platzhalter in Textdateien f&uuml;llen\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/category\\\/2017#listItem\",\"name\":\"2017\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Platzhalter_in_Textdateien_fuellen.html#listItem\",\"position\":4,\"name\":\"Platzhalter in Textdateien f&uuml;llen\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/category\\\/2017\\\/1\\\/2017#listItem\",\"name\":\"1\\\/2017\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/#organization\",\"name\":\"Access [basics]\",\"description\":\"DAS ACCESS-MAGAZIN F\\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN\",\"url\":\"https:\\\/\\\/access-basics.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/access-basics.de\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/logo400.png\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Platzhalter_in_Textdateien_fuellen.html\\\/#organizationLogo\",\"width\":400,\"height\":127},\"image\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Platzhalter_in_Textdateien_fuellen.html\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/author\\\/andreminhorst-com#author\",\"url\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/author\\\/andreminhorst-com\",\"name\":\"Andr\\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Platzhalter_in_Textdateien_fuellen.html#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Andr\\u00e9 Minhorst\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Platzhalter_in_Textdateien_fuellen.html#webpage\",\"url\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Platzhalter_in_Textdateien_fuellen.html\",\"name\":\"Platzhalter in Textdateien f\\u00fcllen - Access [basics]\",\"description\":\"Texte mit Platzhaltern zu f\\u00fcllen und die Platzhalter dann durch in der Datenbank gespeicherte Daten zu ersetzen ist ein oft ben\\u00f6tigter Anwendungsfall. Im Prinzip bildet Word das mit der Seriendokument-Funktion ab: Hier werden im Dokument Verkn\\u00fcpfungen zur Datenquelle hergestellt und dann gef\\u00fcllt. Wir wollen es eine Nummer kleiner angehen und einfache Text mit entsprechenden formatierten Platzhaltern wie [Vorname] versehen und diese dann nach Bedarf mit den Daten aus der Datenbank f\\u00fcllen.\",\"inLanguage\":\"de-DE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/Platzhalter_in_Textdateien_fuellen.html#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/author\\\/andreminhorst-com#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/index.php\\\/author\\\/andreminhorst-com#author\"},\"datePublished\":\"2017-02-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-basics.de\\\/#website\",\"url\":\"https:\\\/\\\/access-basics.de\\\/\",\"name\":\"Access [basics]\",\"description\":\"DAS ACCESS-MAGAZIN F\\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN\",\"inLanguage\":\"de-DE\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-basics.de\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Platzhalter in Textdateien f\u00fcllen - Access [basics]","description":"Texte mit Platzhaltern zu f\u00fcllen und die Platzhalter dann durch in der Datenbank gespeicherte Daten zu ersetzen ist ein oft ben\u00f6tigter Anwendungsfall. Im Prinzip bildet Word das mit der Seriendokument-Funktion ab: Hier werden im Dokument Verkn\u00fcpfungen zur Datenquelle hergestellt und dann gef\u00fcllt. Wir wollen es eine Nummer kleiner angehen und einfache Text mit entsprechenden formatierten Platzhaltern wie [Vorname] versehen und diese dann nach Bedarf mit den Daten aus der Datenbank f\u00fcllen.","canonical_url":"https:\/\/access-basics.de\/index.php\/Platzhalter_in_Textdateien_fuellen.html","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/access-basics.de\/index.php\/Platzhalter_in_Textdateien_fuellen.html#blogposting","name":"Platzhalter in Textdateien f\u00fcllen - Access [basics]","headline":"Platzhalter in Textdateien f&uuml;llen","author":{"@id":"https:\/\/access-basics.de\/index.php\/author\/andreminhorst-com#author"},"publisher":{"@id":"https:\/\/access-basics.de\/#organization"},"image":{"@type":"ImageObject","url":"..\/tl_files\/images\/pic_348_002.png","@id":"https:\/\/access-basics.de\/index.php\/Platzhalter_in_Textdateien_fuellen.html\/#articleImage"},"datePublished":"2017-02-01T00:00:00+00:00","dateModified":"-0001-11-30T00:00:00+00:00","inLanguage":"de-DE","mainEntityOfPage":{"@id":"https:\/\/access-basics.de\/index.php\/Platzhalter_in_Textdateien_fuellen.html#webpage"},"isPartOf":{"@id":"https:\/\/access-basics.de\/index.php\/Platzhalter_in_Textdateien_fuellen.html#webpage"},"articleSection":"1\/2017, 2017, L&ouml;sungen"},{"@type":"BreadcrumbList","@id":"https:\/\/access-basics.de\/index.php\/Platzhalter_in_Textdateien_fuellen.html#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/access-basics.de\/#listItem","position":1,"name":"Home","item":"https:\/\/access-basics.de\/","nextItem":{"@type":"ListItem","@id":"https:\/\/access-basics.de\/index.php\/category\/2017#listItem","name":"2017"}},{"@type":"ListItem","@id":"https:\/\/access-basics.de\/index.php\/category\/2017#listItem","position":2,"name":"2017","item":"https:\/\/access-basics.de\/index.php\/category\/2017","nextItem":{"@type":"ListItem","@id":"https:\/\/access-basics.de\/index.php\/category\/2017\/1\/2017#listItem","name":"1\/2017"},"previousItem":{"@type":"ListItem","@id":"https:\/\/access-basics.de\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/access-basics.de\/index.php\/category\/2017\/1\/2017#listItem","position":3,"name":"1\/2017","item":"https:\/\/access-basics.de\/index.php\/category\/2017\/1\/2017","nextItem":{"@type":"ListItem","@id":"https:\/\/access-basics.de\/index.php\/Platzhalter_in_Textdateien_fuellen.html#listItem","name":"Platzhalter in Textdateien f&uuml;llen"},"previousItem":{"@type":"ListItem","@id":"https:\/\/access-basics.de\/index.php\/category\/2017#listItem","name":"2017"}},{"@type":"ListItem","@id":"https:\/\/access-basics.de\/index.php\/Platzhalter_in_Textdateien_fuellen.html#listItem","position":4,"name":"Platzhalter in Textdateien f&uuml;llen","previousItem":{"@type":"ListItem","@id":"https:\/\/access-basics.de\/index.php\/category\/2017\/1\/2017#listItem","name":"1\/2017"}}]},{"@type":"Organization","@id":"https:\/\/access-basics.de\/#organization","name":"Access [basics]","description":"DAS ACCESS-MAGAZIN F\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN","url":"https:\/\/access-basics.de\/","logo":{"@type":"ImageObject","url":"https:\/\/access-basics.de\/wp-content\/uploads\/2021\/02\/logo400.png","@id":"https:\/\/access-basics.de\/index.php\/Platzhalter_in_Textdateien_fuellen.html\/#organizationLogo","width":400,"height":127},"image":{"@id":"https:\/\/access-basics.de\/index.php\/Platzhalter_in_Textdateien_fuellen.html\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/access-basics.de\/index.php\/author\/andreminhorst-com#author","url":"https:\/\/access-basics.de\/index.php\/author\/andreminhorst-com","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","@id":"https:\/\/access-basics.de\/index.php\/Platzhalter_in_Textdateien_fuellen.html#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","width":96,"height":96,"caption":"Andr\u00e9 Minhorst"}},{"@type":"WebPage","@id":"https:\/\/access-basics.de\/index.php\/Platzhalter_in_Textdateien_fuellen.html#webpage","url":"https:\/\/access-basics.de\/index.php\/Platzhalter_in_Textdateien_fuellen.html","name":"Platzhalter in Textdateien f\u00fcllen - Access [basics]","description":"Texte mit Platzhaltern zu f\u00fcllen und die Platzhalter dann durch in der Datenbank gespeicherte Daten zu ersetzen ist ein oft ben\u00f6tigter Anwendungsfall. Im Prinzip bildet Word das mit der Seriendokument-Funktion ab: Hier werden im Dokument Verkn\u00fcpfungen zur Datenquelle hergestellt und dann gef\u00fcllt. Wir wollen es eine Nummer kleiner angehen und einfache Text mit entsprechenden formatierten Platzhaltern wie [Vorname] versehen und diese dann nach Bedarf mit den Daten aus der Datenbank f\u00fcllen.","inLanguage":"de-DE","isPartOf":{"@id":"https:\/\/access-basics.de\/#website"},"breadcrumb":{"@id":"https:\/\/access-basics.de\/index.php\/Platzhalter_in_Textdateien_fuellen.html#breadcrumblist"},"author":{"@id":"https:\/\/access-basics.de\/index.php\/author\/andreminhorst-com#author"},"creator":{"@id":"https:\/\/access-basics.de\/index.php\/author\/andreminhorst-com#author"},"datePublished":"2017-02-01T00:00:00+00:00","dateModified":"-0001-11-30T00:00:00+00:00"},{"@type":"WebSite","@id":"https:\/\/access-basics.de\/#website","url":"https:\/\/access-basics.de\/","name":"Access [basics]","description":"DAS ACCESS-MAGAZIN F\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN","inLanguage":"de-DE","publisher":{"@id":"https:\/\/access-basics.de\/#organization"}}]},"og:locale":"de_DE","og:site_name":"Access [basics] - DAS ACCESS-MAGAZIN F\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN","og:type":"article","og:title":"Platzhalter in Textdateien f\u00fcllen - Access [basics]","og:description":"Texte mit Platzhaltern zu f\u00fcllen und die Platzhalter dann durch in der Datenbank gespeicherte Daten zu ersetzen ist ein oft ben\u00f6tigter Anwendungsfall. Im Prinzip bildet Word das mit der Seriendokument-Funktion ab: Hier werden im Dokument Verkn\u00fcpfungen zur Datenquelle hergestellt und dann gef\u00fcllt. Wir wollen es eine Nummer kleiner angehen und einfache Text mit entsprechenden formatierten Platzhaltern wie [Vorname] versehen und diese dann nach Bedarf mit den Daten aus der Datenbank f\u00fcllen.","og:url":"https:\/\/access-basics.de\/index.php\/Platzhalter_in_Textdateien_fuellen.html","og:image":"https:\/\/access-basics.de\/wp-content\/uploads\/2021\/02\/logo400.png","og:image:secure_url":"https:\/\/access-basics.de\/wp-content\/uploads\/2021\/02\/logo400.png","og:image:width":400,"og:image:height":127,"article:published_time":"2020-01-24T15:59:46+00:00","article:modified_time":"-001-11-30T00:00:00+00:00","twitter:card":"summary_large_image","twitter:title":"Platzhalter in Textdateien f\u00fcllen - Access [basics]","twitter:description":"Texte mit Platzhaltern zu f\u00fcllen und die Platzhalter dann durch in der Datenbank gespeicherte Daten zu ersetzen ist ein oft ben\u00f6tigter Anwendungsfall. Im Prinzip bildet Word das mit der Seriendokument-Funktion ab: Hier werden im Dokument Verkn\u00fcpfungen zur Datenquelle hergestellt und dann gef\u00fcllt. Wir wollen es eine Nummer kleiner angehen und einfache Text mit entsprechenden formatierten Platzhaltern wie [Vorname] versehen und diese dann nach Bedarf mit den Daten aus der Datenbank f\u00fcllen.","twitter:image":"https:\/\/access-basics.de\/wp-content\/uploads\/2021\/02\/logo400.png"},"aioseo_meta_data":{"post_id":"55000348","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2024-01-27 21:33:58","updated":"2026-10-19 16:46:03","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/access-basics.de\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/access-basics.de\/index.php\/category\/2017\" title=\"2017\">2017<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/access-basics.de\/index.php\/category\/2017\/1\/2017\" title=\"1\/2017\">1\/2017<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tPlatzhalter in Textdateien f\u00fcllen\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/access-basics.de\/"},{"label":"2017","link":"https:\/\/access-basics.de\/index.php\/category\/2017"},{"label":"1\/2017","link":"https:\/\/access-basics.de\/index.php\/category\/2017\/1\/2017"},{"label":"Platzhalter in Textdateien f&uuml;llen","link":"https:\/\/access-basics.de\/index.php\/Platzhalter_in_Textdateien_fuellen.html"}],"_links":{"self":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000348","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/comments?post=55000348"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000348\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000348"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000348"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000348"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}