{"id":55000653,"date":"2024-04-01T00:00:00","date_gmt":"2024-04-01T00:00:00","guid":{"rendered":"http:\/\/access-basics.de\/653"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Eingebaute_Funktionen_Zeichenkettenfunktionen","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Eingebaute_Funktionen_Zeichenkettenfunktionen.html","title":{"rendered":"Eingebaute Funktionen: Zeichenkettenfunktionen"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg07.met.vgwort.de\/na\/f4191c6ee8d34858ba00dd2acc28eb48\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p class='introduction'>Einen gro&szlig;en Bereich der eingebauten Funktionen von Access nehmen die Zeichenfunktionen ein. Das ist logisch, denn in jeder Datenbank kommen Texte vor, und es gibt immer wieder Aufgaben, die wir am besten mit den eingebauten Zeichenfunktionen l&ouml;sen k&ouml;nnen. In diesem Artikel stellen wir alle Zeichenkettenfunktionen vor und zeigen, wie wir diese einsetzen k&ouml;nnen. Die Zeichenkettenfunktionen lassen sich sowohl in VBA als auch in Ausdr&uuml;cken an verschiedenen Stellen einsetzen &#8211; wie berechnete Felder in Abfragen, Kriterien in Abfragen, Inhalte von Formular- und Berichtssteuerelementen et cetera.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels findest Du in der Datenbank <b>EingebauteFunktionen_Zeichenkettenfunktionen.accdb<\/b>.<\/p>\n<h2>Zeichenkettenfunktionen<\/h2>\n<p>Bevor wir in die Anwendungszwecke starten, schauen wir uns die relevanten Zeichenkettenfunktionen einmal in alphabetischer Reihenfolge mit der groben Beschreibung an.<\/p>\n<p>Wir geben jeweils die VBA-Bezeichnung an, gefolgt von der in Ausdr&uuml;cken in der deutschen Version von Access zu verwendenden Funktion (diese unterscheiden sich nicht immer):<\/p>\n<ul>\n<li><b>Asc <\/b>(<b>Asc<\/b>): Liefert den ASCII-Code f&uuml;r das erste Zeichen der angegebenen Zeichenkette.<\/li>\n<li><b>AscW <\/b>(<b>AscW<\/b>): Liefert den Unicode-Wert f&uuml;r das erste Zeichen der angegebenen Zeichenkette zur&uuml;ck.<\/li>\n<li><b>Chr <\/b>(<b>Zchn<\/b>): Liefert das ASCII-Zeichen entsprechend dem &uuml;bergebenen Zahlenwert im Bereich von 0-255 als <b>Variant<\/b>-Wert zur&uuml;ck.<\/li>\n<li><b>Chr$ <\/b>(<b>Zchn$<\/b>): Liefert das ASCII-Zeichen entsprechend dem &uuml;bergebenen Zahlenwert im Bereich von 0-255 als <b>String<\/b>-Wert zur&uuml;ck. Dies kann je nach Anwendungsfall performanter als <b>Chr <\/b>sein.<\/li>\n<li><b>ChrW<\/b> (<b>ChrW<\/b>): Gibt das Zeichen als <b>Variant<\/b>-Wert zur&uuml;ck, das dem angegebenem Unicode-Code entspricht.<\/li>\n<li><b>ChrW$ <\/b>(<b>ChrW$<\/b>): Gibt das Zeichen als <b>String<\/b>-Wert zur&uuml;ck, das dem angegebenem Unicode-Code entspricht.<\/li>\n<li><b>Filter<\/b>: Untersucht, welche Elemente eines Arrays eine bestimmte Zeichenkette enthalten (oder auch nicht).<\/li>\n<li><b>InStr <\/b>(<b>InStr<\/b>): Durchsucht eine Zeichenkette nach einer anderen Zeichenkette und gibt die Position der ersten Fundstelle als Ergebnis zur&uuml;ck. Dabei k&ouml;nnen wir die Startposition f&uuml;r die Suche innerhalb der zu durchsuchenden Zeichenkette angeben.<\/li>\n<li><b>InStrRev <\/b>(<b>InStrRev<\/b>): Durchsucht eine Zeichenkette von hinten nach vorne nach einer anderen Zeichenkette.<\/li>\n<li><b>Join <\/b>(keine Version f&uuml;r Ausdr&uuml;cke): F&uuml;hrt die Elemente eines Arrays zu einer Zeichenkette zusammen, deren Elemente durch das angegebene Trennzeichen getrennt werden. Umkehrfunktion zu <b>Split<\/b>.<\/li>\n<li><b>LCase <\/b>(<b>Kleinbst<\/b>): Wandelt alle Buchstaben des Ausdrucks in Kleinbuchstaben um und liefert das Ergebnis als Variant zur&uuml;ck.<\/li>\n<li><b>LCase$ <\/b>(<b>Kleinbst$<\/b>): Wandelt alle Buchstaben des Ausdrucks in Kleinbuchstaben um und liefert das Ergebnis als String zur&uuml;ck.<\/li>\n<li><b>Left <\/b>(<b>Links<\/b>): Ermittelt die ersten x Zeichen von links und gibt diese als Variant zur&uuml;ck.<\/li>\n<li><b>Left$ <\/b>(<b>Links$<\/b>): Ermittelt die ersten x Zeichen von links und gibt diese als String zur&uuml;ck.<\/li>\n<li><b>Len <\/b>(<b>L&auml;nge<\/b>): Ermittelt die L&auml;nge der &uuml;bergebenen Zeichenkette.<\/li>\n<li><b>LTrim <\/b>(<b>LGl&auml;tten<\/b>): Entfernt f&uuml;hrende Leerzeichen und liefert das Ergebnis als Variant zur&uuml;ck.<\/li>\n<li><b>LTrim$ <\/b>(<b>LGl&auml;tten$<\/b>): Entfernt f&uuml;hrende Leerzeichen und liefert das Ergebnis als String zur&uuml;ck.<\/li>\n<li><b>Mid <\/b>(<b>Teil<\/b>): Ermittelt die Zeichen ab der mit dem zweiten Parameter angegebenen Position mit der Zeichenzahl aus dem dritten Parameter und liefert das Ergebnis als Variant zur&uuml;ck.<\/li>\n<li><b>Mid$ <\/b>(<b>Teil$<\/b>): Ermittelt die Zeichen ab der mit dem zweiten Parameter angegebenen Position mit der Zeichenzahl aus dem dritten Parameter und liefert das Ergebnis als String zur&uuml;ck.<\/li>\n<li><b>Replace <\/b>(<b>Ersetzen<\/b>): Ersetzt eine Teilzeichenkette in einer Zeichenkette durch eine andere Zeichenkette.<\/li>\n<li><b>Right <\/b>(<b>Rechts<\/b>): Ermittelt die ersten x Zeichen von rechts und gibt diese als Variant zur&uuml;ck.<\/li>\n<li><b>Right$ <\/b>(<b>Rechts$<\/b>): Ermittelt die ersten x Zeichen von rechts und gibt diese als String zur&uuml;ck.<\/li>\n<li><b>RTrim <\/b>(<b>RGl&auml;tten<\/b>): Entfernt abschlie&szlig;ende Leerzeichen und liefert das Ergebnis als Variant zur&uuml;ck.<\/li>\n<li><b>RTrim$ <\/b>(<b>RGl&auml;tten$<\/b>): Entfernt abschlie&szlig;ende Leerzeichen und liefert das Ergebnis als String zur&uuml;ck.<\/li>\n<li><b>Space <\/b>(<b>Leerzchn<\/b>): Gibt die dem Parameter entsprechende Anzahl Leerzeichen als Variant zur&uuml;ck.<\/li>\n<li><b>Space$ <\/b>(<b>Leerzchn$<\/b>): Gibt die dem Parameter entsprechende Anzahl Leerzeichen als String zur&uuml;ck.<\/li>\n<li><b>Split <\/b>(keine Version f&uuml;r Ausdr&uuml;cke): Trennt die durch ein bestimmtes Zeichen separierten Elemente auf und f&uuml;gt sie einem Array hinzu. Umkehrfunktion zu <b>Join<\/b>.<\/li>\n<li><b>StrComp <\/b>(<b>StrVgl<\/b>): Vergleicht die beiden als Parameter &uuml;bergebenen Zeichenketten und gibt einen Zahlenwert zur&uuml;ck, der differenziert angibt, ob die Zeichenketten sind oder nicht.<\/li>\n<li><b>StrConv<\/b> (<b>StrKonv<\/b>): Konvertiert die angegebene Zeichenfolge zum Beispiel in Gro&szlig;buchstaben, Kleinbuchstaben, alles W&ouml;rter mit Gro&szlig;buchstaben am Anfang et cetera.<\/li>\n<li><b>String <\/b>(<b>String<\/b>): Gibt das angegebene Zeichen in der gew&uuml;nschten Menge als Variant zur&uuml;ck.<\/li>\n<li><b>String$ <\/b>(<b>String$<\/b>): Gibt das angegebene Zeichen in der gew&uuml;nschten Menge als Variant-Zeichenkette zur&uuml;ck.<\/li>\n<li><b>StrReverse <\/b>(<b>StrReverse<\/b>): Kehrt den Inhalt einer Zeichenkette um.<\/li>\n<li><b>Trim <\/b>(<b>Gl&auml;tten<\/b>): Entfernt f&uuml;hrende und folgende Leerzeichen und liefert das Ergebnis als Variant zur&uuml;ck.<\/li>\n<li><b>Trim$ <\/b>(<b>Gl&auml;tten$<\/b>): Entfernt f&uuml;hrende und folgende Leerzeichen und liefert das Ergebnis als String zur&uuml;ck.<\/li>\n<li><b>UCase <\/b>(<b>Gro&szlig;bst<\/b>): Wandelt alle Buchstaben des Ausdrucks in Gro&szlig;buchstaben um und liefert das Ergebnis als Variant zur&uuml;ck.<\/li>\n<li><b>UCase$ <\/b>(<b>Gro&szlig;bst<\/b>): Wandelt alle Buchstaben des Ausdrucks in Gro&szlig;buchstaben um und liefert das Ergebnis als String zur&uuml;ck.<\/li>\n<\/ul>\n<h2>Zeichen aus Zeichencodes ermitteln<\/h2>\n<p>Hierf&uuml;r gibt es mit <b>Chr<\/b>, <b>Chr$<\/b>, <b>ChrW <\/b>und <b>ChrW$ <\/b>gleich vier Funktionen (eigentlich sechs, aber die <b>ChrB <\/b>und <b>ChrB$ <\/b>werden nur selten ben&ouml;tigt).<\/p>\n<h2>Zeichen aus ASCII-Code ermitteln<\/h2>\n<p>Zur Demonstration, wie die <b>Chr<\/b>-Funktion arbeitet, haben wir eine Prozedur mit einer Schleife &uuml;ber die Werte von <b>0 <\/b>bis <b>255 <\/b>erstellt. Die Funktion nimmt auch nur die Werte in diesem Bereich entgegen. Sie gibt f&uuml;r jeden dieser Werte den ASCII-Code sowie das entsprechende Zeichen aus:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>Beispiel_Chr()\r\n     <span style=\"color:blue;\">Dim <\/span>i<span style=\"color:blue;\"><span style=\"color:blue;\"> As Integer<\/span><\/span>\r\n     For i = 0 To 255\r\n         <span style=\"color:blue;\"><span style=\"color:blue;\">Debug.Print<\/span><\/span> \"ASCII-Code \" & i & \" entpricht \" _\r\n             & Chr(i)\r\n     <span style=\"color:blue;\">Next<\/span> i\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Die Gro&szlig;buchstaben unseres Alphabets haben zum Beispiel die ASCII-Codes von <b>65 <\/b>bis <b>90<\/b>:<\/p>\n<pre>ASCII-Code 65 entpricht A\r\nASCII-Code 66 entpricht B\r\nASCII-Code 67 entpricht C\r\n...\r\nASCII-Code 90 entpricht Z<\/pre>\n<p>Die Kleinbuchstaben verwenden diese Zahlencodes:<\/p>\n<pre>ASCII-Code 97 entpricht a\r\nASCII-Code 98 entpricht b\r\nASCII-Code 99 entpricht c\r\n...\r\nASCII-Code 122 entpricht z<\/pre>\n<p>Die Zahlen von 0 bis 9 finden wir unter den ASCII-Codes <b>48 <\/b>bis <b>57<\/b>:<\/p>\n<pre>ASCII-Code 48 entpricht 0\r\nASCII-Code 49 entpricht 1\r\nASCII-Code 50 entpricht 2\r\n...\r\nASCII-Code 57 entpricht 9<\/pre>\n<h2>Zeichen aus Unicode ermitteln<\/h2>\n<p>Eine &auml;hnliche Funktion haben wir mit <b>AscW <\/b>f&uuml;r Unicode. Unicode enth&auml;lt 65.536 Zeichen mit den Codes von <b>0 <\/b>bis <b>65.535<\/b>. Dementsprechend kommen wir f&uuml;r die Beispielfunktion nicht mehr mit einer <b>Integer<\/b>-Laufvariablen aus:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>Beispiel_ChrW()\r\n     <span style=\"color:blue;\">Dim <\/span>l<span style=\"color:blue;\"><span style=\"color:blue;\"> As Long<\/span><\/span>\r\n     For l = 0 To 65536\r\n         <span style=\"color:blue;\"><span style=\"color:blue;\">Debug.Print<\/span><\/span> \"Unicode \" & l & \" entpricht \" _\r\n             & ChrW(l)\r\n     <span style=\"color:blue;\">Next<\/span> l\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Die Funktion liefert unser Alphabet und die Zahlen f&uuml;r die gleichen Zahlenwerte wie <b>Chr<\/b>. Danach folgen einige weitere Zeichen, von denen die meisten in der Ausgabe von VBA gar nicht interpretiert werden k&ouml;nnen und als Fragezeichen (<b><\/b>) ausgegeben werden.<\/p>\n<h2>Vergleich von Chr und ChrW<\/h2>\n<p>Die ASCII- und die Unicode-Zeichen f&uuml;r die Codes von <b>0 <\/b>bis <b>255 <\/b>sind nicht vollst&auml;ndig identisch. Mit der folgenden Prozedur geben wir alle Werte aus und markieren diejenigen, die nicht gleich sind:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>Vergleich_Chr_ChrW()\r\n     <span style=\"color:blue;\">Dim <\/span>i<span style=\"color:blue;\"><span style=\"color:blue;\"> As Integer<\/span><\/span>\r\n     For i = 0 To 255\r\n         <span style=\"color:blue;\">If <\/span><span style=\"color:blue;\">Not<\/span> Chr(i) = ChrW(i)<span style=\"color:blue;\"> Then<\/span>\r\n             <span style=\"color:blue;\"><span style=\"color:blue;\">Debug.Print<\/span><\/span> \"Nicht gleich.\",\r\n         <span style=\"color:blue;\">End If<\/span>\r\n         <span style=\"color:blue;\"><span style=\"color:blue;\">Debug.Print<\/span><\/span> \"Code: \" & i & \" ASCII: \" _\r\n             & Chr(i) & \" Unicode: \" & ChrW(i)\r\n     <span style=\"color:blue;\">Next<\/span> i\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<h2>Chr$ und ChrW$<\/h2>\n<p>Es gibt von beiden Funktionen auch noch eine Variante mit <b>$ <\/b>am Ende des Namens. Diese funktionieren gleich, liefern jedoch das Ergebnis direkt als <b>String<\/b>-Wert statt als <b>Variant<\/b>-Wert zur&uuml;ck, was je nach Setting eine bessere Performance haben kann.<\/p>\n<h2>ASCII-Code f&uuml;r Zeichen ermitteln<\/h2>\n<p>Mit der Funktion <b>Asc <\/b>k&ouml;nnen wir f&uuml;r das &uuml;bergebene Zeichen den passenden ASCII-Code ermitteln. Im folgenden Beispiel geben wir wie folgt den Buchstaben und seinen ASCII-Code aus:<\/p>\n<pre>Zeichen 'A' entspricht ASCII-Code 65<\/pre>\n<p>Die Prozedur durchl&auml;uft in einer Schleife alle Zeichen von <b>A <\/b>bis <b>Z<\/b>. Die hier verwendeten Funktionen <b>Mid <\/b>und <b>Len <\/b>beschreiben wir weiter unten noch im Detail:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>Beispiel_Asc()\r\n     <span style=\"color:blue;\">Dim <\/span>strBuchstaben<span style=\"color:blue;\"><span style=\"color:blue;\"> As String<\/span><\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>strBuchstabe<span style=\"color:blue;\"><span style=\"color:blue;\"> As String<\/span><\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>i<span style=\"color:blue;\"><span style=\"color:blue;\"> As Integer<\/span><\/span>\r\n     strBuchstaben = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"\r\n     For i = 1 To <span style=\"color:blue;\">Len<\/span>(strBuchstaben)\r\n         strBuchstabe = <span style=\"color:blue;\">Mid<\/span>(strBuchstaben, i, 1)\r\n         <span style=\"color:blue;\"><span style=\"color:blue;\">Debug.Print<\/span><\/span> \"Zeichen '\" & strBuchstabe _\r\n             & \"' entspricht ASCII-Code \" _\r\n             & Asc(strBuchstabe)\r\n     <span style=\"color:blue;\">Next<\/span> i\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<h2>Unicode-Code f&uuml;r Zeichen ermitteln<\/h2>\n<p>Beim Unicode erfolgt die Ermittlung des Codes f&uuml;r ein Zeichen analog, nur mit der Funktion <b>AscW <\/b>statt <b>Asc<\/b>.<\/p>\n<h2>Entweder nur Asc und Chr oder nur AscW und ChrW<\/h2>\n<p>Wenn Du die beiden Funktionen einsetzt, um beispielsweise bestimmte Zeichen zu finden, solltest Du immer entweder nur <b>Asc <\/b>und <b>Chr <\/b>einsetzen (wenn absehbar ist, dass Du Dich im ASCII-Bereich befindest) oder nur <b>AscW <\/b>und <b>ChrW<\/b>.<\/p>\n<p>Der Grund ist: Wenn Du beispielsweise das Zeichen hinter dem Unicode-Code <b>512 <\/b>ermittelst, kannst Du nur die <b>ChrW<\/b>-Funktion nutzen, da <b>Chr <\/b>nur bis <b>255 <\/b>arbeitet. Es kommt dann Folgendes heraus:<\/p>\n<pre><span style=\"color:blue;\"><span style=\"color:blue;\">Debug.Print<\/span><\/span> ChrW(512)\r\n<\/pre>\n<p>Wenn Du nun umgekehrt wieder den Code erhalten m&ouml;chtest und die <b>Asc<\/b>-Funktion einsetzt, wird das Zeichen als Fragezeichen interpretiert:<\/p>\n<pre>  Asc(ChrW(512))\r\n  63<\/pre>\n<p>Die beiden Funktionen sind also nicht zum Umkehren einzusetzen. Das funktioniert nur, wenn Du <b>ChrW <\/b>und <b>AscW <\/b>kombinierst:<\/p>\n<pre>  AscW(ChrW(512))\r\n  512 <\/pre>\n<h2>Array nach Suchbegriff filtern mit Filter<\/h2>\n<p>Die <b>Filter<\/b>-Funktion dient dazu, die Elemente eines Arrays nach einer bestimmten Zeichenkette zu durchsuchen. Sie hat die folgenden Parameter:<\/p>\n<ul>\n<li><b>SourceArray<\/b>: Gibt das Array mit den zu untersuchenden Zeichenketten an.<\/li>\n<li><b>Match<\/b>: Gibt die Zeichenkette an, f&uuml;r die entweder alle Elemente zur&uuml;ckgegeben werden sollen, die diese enthalten oder auch nicht (siehe n&auml;chster Parameter).<\/li>\n<li><b>Include<\/b>: Gibt an, ob alle Elemente gesucht werden sollen, welche die Zeichenkette aus dem Parameter <b>Match <\/b>enthalten (<b>True<\/b>) oder auch nicht (<b>False<\/b>)<\/li>\n<li><b>Compare<\/b>: Gibt an, wie verglichen werden soll: <b>vbBinaryCompare<\/b>, <b>vbDatabaseCompare <\/b>oder <b>vbTextCompare<\/b>. Mehr zu diesen Parametern weiter unten.<\/li>\n<\/ul>\n<p>Die folgende Prozedur stellt mit der <b>Array<\/b>-Funktion ein Array zusammen. Die <b>Filter<\/b>-Funktion durchsucht dieses nach Elementen, welche die Zeichenkette <b>An<\/b> enthalten.<\/p>\n<p>Das Ergebnis landet in einem weiteren Array. In der folgenden <b>For Next<\/b>-Schleife gibt die Funktion alle gefundenen Elemente im Direktbereich aus:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>Beispiel_Filter()\r\n     <span style=\"color:blue;\">Dim <\/span>varArray()<span style=\"color:blue;\"><span style=\"color:blue;\"> As Variant<\/span><\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>strResult()<span style=\"color:blue;\"><span style=\"color:blue;\"> As String<\/span><\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>i<span style=\"color:blue;\"><span style=\"color:blue;\"> As Integer<\/span><\/span>\r\n     varArray = Array(\"Andr&eacute;\", \"Anja\", \"Klaus\")\r\n     strResult = Filter(varArray, \"An\", <span style=\"color:blue;\">True<\/span>)\r\n     For i = <span style=\"color:blue;\">LBound<\/span>(strResult) To <span style=\"color:blue;\">UBound<\/span>(strResult)\r\n         <span style=\"color:blue;\"><span style=\"color:blue;\">Debug.Print<\/span><\/span> strResult(i)\r\n     <span style=\"color:blue;\">Next<\/span> i\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\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\/55000653\/\">\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\/55000653?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\/55000653\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"8d63f6cbe9\"\/>\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>Einen gro&szlig;en Bereich der eingebauten Funktionen von Access nehmen die Zeichenfunktionen ein. Das ist logisch, denn in jeder Datenbank kommen Texte vor, und es gibt immer wieder Aufgaben, die wir am besten mit den eingebauten Zeichenfunktionen l&ouml;sen k&ouml;nnen. In diesem Artikel stellen wir alle Zeichenkettenfunktionen vor und zeigen, wie wir diese einsetzen k&ouml;nnen. Die Zeichenkettenfunktionen lassen sich sowohl in VBA als auch in Ausdr&uuml;cken an verschiedenen Stellen einsetzen &#8211; wie berechnete Felder in Abfragen, Kriterien in Abfragen, Inhalte von Formular- und Berichtssteuerelementen et cetera.<\/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":[66022024,662024,44000002],"tags":[],"class_list":["post-55000653","post","type-post","status-publish","format-standard","hentry","category-66022024","category-662024","category-Grundlagen"],"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>Eingebaute Funktionen: Zeichenkettenfunktionen - Access [basics]<\/title>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Eingebaute_Funktionen_Zeichenkettenfunktionen.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Eingebaute Funktionen: Zeichenkettenfunktionen - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Einen gro&szlig;en Bereich der eingebauten Funktionen von Access nehmen die Zeichenfunktionen ein. Das ist logisch, denn in jeder Datenbank kommen Texte vor, und es gibt immer wieder Aufgaben, die wir am besten mit den eingebauten Zeichenfunktionen l&ouml;sen k&ouml;nnen. In diesem Artikel stellen wir alle Zeichenkettenfunktionen vor und zeigen, wie wir diese einsetzen k&ouml;nnen. Die Zeichenkettenfunktionen lassen sich sowohl in VBA als auch in Ausdr&uuml;cken an verschiedenen Stellen einsetzen - wie berechnete Felder in Abfragen, Kriterien in Abfragen, Inhalte von Formular- und Berichtssteuerelementen et cetera.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Eingebaute_Funktionen_Zeichenkettenfunktionen.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-01T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"-0001-11-30T00:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg07.met.vgwort.de\/na\/f4191c6ee8d34858ba00dd2acc28eb48\" \/>\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=\"21\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\/Eingebaute_Funktionen_Zeichenkettenfunktionen.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"http:\/\/vg07.met.vgwort.de\/na\/f4191c6ee8d34858ba00dd2acc28eb48\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Eingebaute_Funktionen_Zeichenkettenfunktionen.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Eingebaute_Funktionen_Zeichenkettenfunktionen.html\",\"name\":\"Eingebaute Funktionen: Zeichenkettenfunktionen - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Eingebaute_Funktionen_Zeichenkettenfunktionen.html#primaryimage\"},\"datePublished\":\"2024-04-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Eingebaute_Funktionen_Zeichenkettenfunktionen.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Eingebaute_Funktionen_Zeichenkettenfunktionen.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Eingebaute_Funktionen_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\/Eingebaute_Funktionen_Zeichenkettenfunktionen.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Eingebaute_Funktionen_Zeichenkettenfunktionen.html\",\"name\":\"Eingebaute Funktionen: Zeichenkettenfunktionen\"}}]},{\"@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\/55000653","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=55000653"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000653\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000653"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000653"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000653"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}