{"id":55000090,"date":"2012-10-01T00:00:00","date_gmt":"2020-01-24T15:58:01","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=90"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"ZeichenkettenFunktionen","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/ZeichenkettenFunktionen.html","title":{"rendered":"Zeichenketten-Funktionen"},"content":{"rendered":"<p class='introduction'>Die Arbeit mit Zeichenketten ist ein elementarer Bestandteil beim Umgang mit Access. Dies reicht vom einfachen Zusammensetzen einzelner Texte zu einer Zeichenkette &uuml;ber das Ermitteln bestimmter Textelemente bis hin zur buchstabenweisen Analyse von Texten. VBA bietet dazu einige Funktionen, die dieser Artikel vorstellt &#8211; neben den grundlegenden Techniken unter VBA und an anderen Orten wie Eigenschaften, Abfragen und Steuerelementen.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1111_Zeichenkettenfunktionen.mdb<\/b>.<\/p>\n<h2>Einsatzzwecke<\/h2>\n<p>Die nachfolgend vorgestellten Zeichenkettenfunktionen k&ouml;nnen Sie wie die anderen bereits vorgestellten Access\/VBA-Funktionen in manchen Tabelleneigenschaften, als Werte oder Kriterien in Abfragen oder als Eigenschaften oder Feldinhalte in Formularen, Berichten und Steuerelementen einsetzen. Dar&uuml;berhinaus treten die nachfolgend vorgestellten Funktionen nat&uuml;rlich in VBA-Routinen in Erscheinung.<\/p>\n<h2>Zeichenketten<\/h2>\n<p>Zeichenketten kommen entweder als Literal oder beispielsweise als Wert einer Variablen, eines Feldes oder einer Eigenschaft vor. Folgendes k&ouml;nnte eine Zeichenkette liefern:<\/p>\n<ul>\n<li>&#8222;<b>Andr&eacute;<\/b>&#8222;: Literal<\/li>\n<li>&#8222;&#8220;: Leere Zeichenkette<\/li>\n<li><b>strVorname<\/b>: String-Variable<\/li>\n<li><b>Me!txtVorname.Value<\/b>: Wert eines Textfeldes<\/li>\n<li><b>rst!Vorname<\/b>: Wert eines Feldes eines Recordsets<\/li>\n<\/ul>\n<p>W&auml;hrend beim Literal, bei einer leeren Zeichenkette und bei einer gef&uuml;llten String-Variable keine Gefahr droht, k&ouml;nnen ein Steuerelement oder ein Feld durchaus den Wert <b>Null <\/b>enthalten. Dies ist im Gegensatz zur leeren Zeichenkette eigentlich keine Zeichenkette. Wenn Sie im Rahmen des Umgangs mit Zeichenketten auf einen <b>Null<\/b>-Wert sto&szlig;en, m&uuml;ssen Sie damit auf besondere Weise umgehen. Sie k&ouml;nnen beispielsweise mit einer leeren oder auch mit einer bestimmten anderen Zeichenkette weiterarbeiten, wenn Sie auf den Null-Wert treffen. Manchmal ist der Nullwert auch n&uuml;tzlich, mehr dazu sp&auml;ter. Die einfachste Zeichenkettenfunktion ist das Verketten zweier Zeichenketten mit dem Kaufmanns-Und-Operator <b>(&#038;<\/b>). Bild 1 und Bild 2 zeigen, wie Sie ein Literal und den Wert einer VBA-Funktion f&uuml;r die Eigenschaft <b>Steuerelementinhalt <\/b>eines Textfeldes eines Formulars (oder wahlweise eines Berichts) eingeben und anzeigen.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_90_001.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_90_001.png\" alt=\"Zusammensetzen eines Literals und einer VBA-Funktion\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Zusammensetzen eines Literals und einer VBA-Funktion<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_90_002.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_90_002.png\" alt=\"Anzeige einer zusammengesetzten Zeichenkette\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Anzeige einer zusammengesetzten Zeichenkette<\/p>\n<p>Statt in die Eigenschaft <b>Steuerelementinhalt <\/b>k&ouml;nnen Sie den Ausdruck in der Entwurfsansicht des Formulars auch gleich in das Textfeld eingeben. In der Formularansicht wird der Ausdruck dann ausgewertet und angezeigt.<\/p>\n<p>Damit Sie gleich sehen, dass dies auch per VBA funktioniert, legen Sie gleich darunter ein weiteres Textfeld namens <b>txtZeichenketteVBA <\/b>an und erstellen die folgende Ereignisprozedur, die durch das Ereignis <b>Beim Laden <\/b>des Formulars ausgel&ouml;st wird (Eigenschaft <b>Beim Laden <\/b>auf <b>[Ereignisprozedur] <\/b>einstellen, auf die Schaltfl&auml;che mit den drei Punkten klicken und die nun im VBA-Editor erscheinende Prozedur erweitern):<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Form_Load()\r\n     Me!txtZeichenketteVBA = \"Duisburg, den \" & Date\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Die Prozedur bewirkt das Gleiche wie das F&uuml;llen der Eigenschaft <b>Steuerelementinhalt<\/b>: Es tr&auml;gt einen Text wie <b>Duisburg, den 3.12.2011 <\/b>in das Textfeld ein.<\/p>\n<p>Der wichtigste Unterschied zwischen dem Einsatz als Eigenschaft und unter VBA ist, dass Sie bei einer Eigenschaft die deutsche Version der VBA-Funktionen verwenden (manchmal k&ouml;nnen Sie auch die englische Variante eingeben, diese wird dann &uuml;bersetzt).<\/p>\n<p>Damit Sie die folgenden Beispiele jeweils schnell ausprobieren k&ouml;nnen, formulieren wir diese in VBA &#8211; Sie geben diese dann testweise in das Direktfenster des VBA-Editors ein (<b>Strg + C<\/b>) und f&uuml;hren diese durch Bet&auml;tigen der Eingabetaste aus.<\/p>\n<h2>&#038; und +<\/h2>\n<p>Gerade eben haben Sie den <b>&#038;-<\/b>Operator kennengelernt, mit dem Sie zwei Zeichenketten verkn&uuml;pfen k&ouml;nnen:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> \"a\" & \"b\"\r\n  ab<\/pre>\n<p>Dies gelingt auch mit dem +-Operator:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> \"a\" + \"b\"\r\n  ab<\/pre>\n<p>Der wesentliche Unterschied liegt in der Behandlung von <b>Null<\/b>-Werten. Wenn einer der zu verkn&uuml;pfenden Ausdr&uuml;cke den Wert <b>Null <\/b>hat, behandelt der <b>&#038;-<\/b>Operator diesen als leere Zeichenkette:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> \"a\" & Null\r\n  a<\/pre>\n<p>Bei Verwendung des <b>+<\/b>-Operator wird jedoch der komplette Ausdruck zu <b>Null<\/b>, wenn einer der Teilausdr&uuml;cke den Wert <b>Null <\/b>aufweist:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> \"a\" + Null\r\n  Null<\/pre>\n<h2>L&auml;nge von Zeichenketten ermitteln<\/h2>\n<p>Die L&auml;nge einer Zeichenkette ermitteln Sie mit der <b>Len<\/b>-Funktion.  Sie erwartet lediglich die Zeichenkette als Parameter, die Sie als Literal oder in Form einer Variablen beziehungsweise eines Ausdrucks &uuml;bergeben k&ouml;nnen. Beispiel:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> <span style=\"color:blue;\">Len<\/span>(\"abc\")\r\n  3<\/pre>\n<p>In Ausdr&uuml;cken verwenden Sie die deutsche Version, also beispielsweise <b>=L&auml;nge([txtZeichenkette]) <\/b>(siehe Beispielformular <b>frmZeichenkettenfunktionen<\/b>).<\/p>\n<h2>Teile von Zeichenketten ermitteln<\/h2>\n<p>Mit den drei Funktionen <b>Left<\/b>, <b>Right <\/b>und <b>Mid <\/b>k&ouml;nnen Sie Teilzeichenketten einer Zeichenkette ermitteln:<\/p>\n<ul>\n<li><b>Left<\/b>: Liefert die ersten <b>n <\/b>Zeichen einer Zeichenkette zur&uuml;ck. Der Aufruf <b>Left(&#8222;abc&#8220;,2)<\/b> liefert also beispielsweise die Zeichenkette <b>ab <\/b>zur&uuml;ck (die ersten beiden Zeichen des Ausdrucks <b>abc<\/b>).<\/li>\n<li><b>Mid<\/b>: Liefert eine Teilzeichenkette einer Zeichenkette zur&uuml;ck, die nach einer bestimmten Anzahl Zeichen beginnt und eine festgelegte L&auml;nge hat.  Der Aufruf <b>Mid(&#8222;abc&#8220;,2,1) <\/b>liefert also beispielsweise die Teilzeichenkette zur&uuml;ck, die mit dem zweiten Zeichen beginnt und ein Zeichen lang ist &#8211; also das Zeichen <b>c<\/b>.<\/li>\n<li><b>Right<\/b>: Liefert die letzten <b>n <\/b>Zeichen einer Zeichenkette zur&uuml;ck. Der Aufruf <b>Right(&#8222;abc&#8220;,2) <\/b>liefert also beispielsweise die Zeichenkette <b>bc <\/b>zur&uuml;ck (also die hinteren beiden Zeichen des Ausdrucks <b>abc<\/b>).<\/li>\n<\/ul>\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\/55000090\/\">\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\">Password<\/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\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/index.php\/data\/wp\/v2\/posts\/55000090?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\/55000090\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"771f142a70\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\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>Die Arbeit mit Zeichenketten ist ein elementarer Bestandteil beim Umgang mit Access. Dies reicht vom einfachen Zusammensetzen einzelner Texte zu einer Zeichenkette &uuml;ber das Ermitteln bestimmter Textelemente bis hin zur buchstabenweisen Analyse von Texten. VBA bietet dazu einige Funktionen, die dieser Artikel vorstellt &#8211; neben den grundlegenden Techniken unter VBA und an anderen Orten wie Eigenschaften, Abfragen und Steuerelementen.<\/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":[66112011,662011,44000011],"tags":[],"class_list":["post-55000090","post","type-post","status-publish","format-standard","hentry","category-66112011","category-662011","category-VBAGrundlagen"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v15.9.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Zeichenketten-Funktionen - Access [basics]<\/title>\n<meta name=\"description\" content=\"Die Arbeit mit Zeichenketten ist ein elementarer Bestandteil beim Umgang mit Access. Dies reicht vom einfachen Zusammensetzen einzelner Texte zu einer Zeichenkette \u00fcber das Ermitteln bestimmter Textelemente bis hin zur buchstabenweisen Analyse von Texten. VBA bietet dazu einige Funktionen, die dieser Artikel vorstellt \u2013 neben den grundlegenden Techniken unter VBA und an anderen Orten wie Eigenschaften, Abfragen und Steuerelementen.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/ZeichenkettenFunktionen.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Zeichenketten-Funktionen - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Die Arbeit mit Zeichenketten ist ein elementarer Bestandteil beim Umgang mit Access. Dies reicht vom einfachen Zusammensetzen einzelner Texte zu einer Zeichenkette \u00fcber das Ermitteln bestimmter Textelemente bis hin zur buchstabenweisen Analyse von Texten. VBA bietet dazu einige Funktionen, die dieser Artikel vorstellt \u2013 neben den grundlegenden Techniken unter VBA und an anderen Orten wie Eigenschaften, Abfragen und Steuerelementen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/ZeichenkettenFunktionen.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-24T15:58:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"-0001-11-30T00:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/..\/tl_files\/images\/pic_90_001.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\">\n\t<meta name=\"twitter:data1\" content=\"10\u00a0Minuten\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@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\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/access-basics.de\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/index.php\/ZeichenkettenFunktionen.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/pic_90_001.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/ZeichenkettenFunktionen.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/ZeichenkettenFunktionen.html\",\"name\":\"Zeichenketten-Funktionen - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/ZeichenkettenFunktionen.html#primaryimage\"},\"datePublished\":\"2020-01-24T15:58:01+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Die Arbeit mit Zeichenketten ist ein elementarer Bestandteil beim Umgang mit Access. Dies reicht vom einfachen Zusammensetzen einzelner Texte zu einer Zeichenkette \\u00fcber das Ermitteln bestimmter Textelemente bis hin zur buchstabenweisen Analyse von Texten. VBA bietet dazu einige Funktionen, die dieser Artikel vorstellt \\u2013 neben den grundlegenden Techniken unter VBA und an anderen Orten wie Eigenschaften, Abfragen und Steuerelementen.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/ZeichenkettenFunktionen.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/ZeichenkettenFunktionen.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/ZeichenkettenFunktionen.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/ZeichenkettenFunktionen.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/ZeichenkettenFunktionen.html\",\"name\":\"Zeichenketten-Funktionen\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/#personlogo\",\"inLanguage\":\"de\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","_links":{"self":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000090","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=55000090"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000090\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000090"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000090"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000090"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}