{"id":55000196,"date":"2013-08-01T00:00:00","date_gmt":"2020-01-24T15:58:50","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=196"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Textfelder_Value_OldValue_und_Text","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Textfelder_Value_OldValue_und_Text.html","title":{"rendered":"Textfelder: Value, OldValue und Text"},"content":{"rendered":"<p class='introduction'>Textfelder sind das Hauptwerkzeug zur Eingabe von Daten. Sie k&ouml;nnen diese an die Felder der Datenherkunft eines Formulars binden oder diese ungebunden einsetzen. So intuitiv Textfelder zu benutzen sind, soviele M&ouml;glichkeiten und Fallstricke bieten sie auch. Dieser Artikel zeigt, wie Sie zu verschiedenen Zeitpunkten auf den vorherigen Wert, den aktuellen Wert und den aktuell angezeigten Text eines gebundenen Steuerelements im Formular zugreifen.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1304_TextfelderImGriff.mdb<\/b>.<\/p>\n<h2>Gebundene Textfelder<\/h2>\n<p>Wenn Sie ein Formular an eine Tabelle oder Abfrage binden, k&ouml;nnen Sie Textfeldern ganz einfach den Inhalt eines der Felder der Datenherkunft als Inhalt zuweisen. Dazu brauchen Sie lediglich die Eigenschaft Steuerelementinhalt auf den Namen des entsprechenden Feldes einzustellen.<\/p>\n<p>Wenn Sie der Eigenschaft <b>Datenherkunft <\/b>eines Formulars etwa die Tabelle <b>tblArtikel <\/b>zuweisen, k&ouml;nnen Sie ein Textfeld in den Detailbereich des Formularentwurfs ziehen und dann aus einer Liste eines der Felder der Datenherkunft ausw&auml;hlen (siehe Bild 1). Viel schneller geht dies nat&uuml;rlich, wenn Sie das entsprechende Feld direkt aus der Feldliste in den Entwurf des Formulars ziehen.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_196_001.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_196_001.png\" alt=\"Zuweisen eines Feldes als Steuerelementinhalt\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Zuweisen eines Feldes als Steuerelementinhalt<\/p>\n<p>Was erreichen wir nun eigentlich durch die Bindung von Formular und Steuerelement an Tabelle\/Abfrage und Feld Zun&auml;chst einmal zeigt das Textfeld den Wert des Feldes f&uuml;r den aktuellen Datensatz der Datenherkunft des Formulars an. Die Bindung sorgt aber auch daf&uuml;r, dass &auml;nderungen am Inhalt zu einem bestimmten Zeitpunkt in die Tabelle &uuml;bertragen werden. Zwischendurch geschehen jedoch noch eine Reihe anderer Dinge, die wir im Folgenden betrachten werden.<\/p>\n<h2>Speicherzeitpunkt<\/h2>\n<p>Interessant ist zum Beispiel die Frage, wann Access &uuml;berhaupt die &auml;nderung am Inhalt eines Textfeldes in der zugrunde liegenden Tabelle speichert. Dies l&ouml;sen wir mithilfe der nebeneinander platzierten Objekte aus Bild 2 auf. &ouml;ffnen Sie das Formular <b>frmArtikel <\/b>und die Tabelle <b>tblArtikel <\/b>der Beispieldatenbank  und ordnen Sie diese wie in der Abbildung an. &auml;ndern Sie dann den Wert des Feldes <b>Artikelname<\/b>, tut sich nichts. Auch beim Verschieben des Fokus auf ein anderes Textfeld geschieht nichts. Erst wenn Sie den Datensatz speichern (beispielsweise durch einen Mausklick auf den Datensatzmarkierer mit dem Bearbeiten-Symbol oder durch die Auswahl eines anderen Datensatzes), wird die &auml;nderung in die Tabelle &uuml;bertragen.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_196_002.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_196_002.png\" alt=\"Wann wird der ge&auml;nderte Wert gespeichert\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Wann wird der ge&auml;nderte Wert gespeichert<\/p>\n<p>Wo aber speichert Access die ge&auml;nderten Daten des Textfeldes Hier gibt es mehrere Eigenschaften, die Sie per VBA abfragen k&ouml;nnen:<\/p>\n<ul>\n<li><b>Value<\/b>: Enth&auml;lt den aktuellen Wert des Textfeldes.<\/li>\n<li><b>Text<\/b>: Enth&auml;lt den aktuell angezeigten Inhalt des Textfeldes.<\/li>\n<li><b>OldValue<\/b>: Enth&auml;lt den vorherigen Wert des Textfeldes.<\/li>\n<\/ul>\n<p>Diese Informationen helfen noch nicht weiter. Was ist zum Beispiel der Unterschied zwischen dem aktuellen Wert (<b>Value<\/b>) und dem aktuell angezeigten Wert (<b>Text<\/b>) Angenommen, das Feld <b>Artikelname<\/b> enth&auml;lt beim Anzeigen des aktuellen Datensatzes den Wert <b>Chai<\/b>, dann liefern sowohl <b>Value <\/b>als auch <b>Text <\/b>den Wert <b>Chai<\/b>.<\/p>\n<p>Wenn der Benutzer den Inhalt nun &auml;ndert, indem er diesen etwa auf <b>Chai (Tee) <\/b>erweitert, dann enth&auml;lt <b>Text <\/b>jeweils den angezeigten Inhalt.<\/p>\n<p>Solange der Fokus in diesem Textfeld verbleibt und der Datensatz auch nicht beispielsweise mit der Tastenkombination <b>Strg + S <\/b>gespeichert wird, bleibt in der Eigenschaft <b>Value <\/b>jedoch der Text <b>Chai <\/b>erhalten.<\/p>\n<p><b>OldValue <\/b>enth&auml;lt &uuml;brigens auch den urspr&uuml;nglichen Wert.<\/p>\n<p>Sobald der Benutzer jedoch den Fokus auf ein anderes Steuerelement verschiebt, ohne den Datensatz etwa durch einen Datensatzwechsel zu speichern, &auml;ndern sich die Werte der Eigenschaften: <b>Chai (Tee) <\/b>wird nun in die Eigenschaft <b>Value <\/b>eingetragen. Text enth&auml;lt den gleichen Wert, und <b>OldValue <\/b>liefert den zuvor g&uuml;ltigen Wert <b>Chai<\/b>.<\/p>\n<p>Achtung: Auch wenn Sie den Inhalt des Textfeldes mehrfach &auml;ndern, ohne den Datensatz zu speichern, enth&auml;lt <b>OldValue <\/b>immer den zuletzt gespeicherten Wert, nicht den Wert vor der letzten &auml;nderung.<\/p>\n<p>Wenn Sie dies zu verschiedenen Zeitpunkten pr&uuml;fen m&ouml;chten, legen Sie im VBA-Editor ein neues Standardmodul etwa namens <b>mdlBeispiele <\/b>an und f&uuml;gen Sie die folgende Prozedur hinzu:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>Textfeldeigenschaften()\r\n     <span style=\"color:blue;\">With<\/span> Forms!frmArtikel!Artikelname\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"Value:    \" & .Value\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"Text:     \" & .Text\r\n         <span style=\"color:blue;\">Debug.Print<\/span> \"OldValue: \" & .OldValue\r\n     End <span style=\"color:blue;\">With<\/span>\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\/55000196\/\">\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\/55000196?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\/55000196\/\"\/>\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>Textfelder sind das Hauptwerkzeug zur Eingabe von Daten. Sie k&ouml;nnen diese an die Felder der Datenherkunft eines Formulars binden oder diese ungebunden einsetzen. So intuitiv Textfelder zu benutzen sind, soviele M&ouml;glichkeiten und Fallstricke bieten sie auch. Dieser Artikel zeigt, wie Sie zu verschiedenen Zeitpunkten auf den vorherigen Wert, den aktuellen Wert und den aktuell angezeigten Text eines gebundenen Steuerelements im Formular zugreifen.<\/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":[662013,66042013,44000012],"tags":[],"class_list":["post-55000196","post","type-post","status-publish","format-standard","hentry","category-662013","category-66042013","category-Steuerelemente"],"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>Textfelder: Value, OldValue und Text - Access [basics]<\/title>\n<meta name=\"description\" content=\"Textfelder sind das Hauptwerkzeug zur Eingabe von Daten. Sie k\u00f6nnen diese an die Felder der Datenherkunft eines Formulars binden oder diese ungebunden einsetzen. So intuitiv Textfelder zu benutzen sind, soviele M\u00f6glichkeiten und Fallstricke bieten sie auch. Dieser Artikel zeigt, wie Sie zu verschiedenen Zeitpunkten auf den vorherigen Wert, den aktuellen Wert und den aktuell angezeigten Text eines gebundenen Steuerelements im Formular zugreifen.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Textfelder_Value_OldValue_und_Text.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Textfelder: Value, OldValue und Text - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Textfelder sind das Hauptwerkzeug zur Eingabe von Daten. Sie k\u00f6nnen diese an die Felder der Datenherkunft eines Formulars binden oder diese ungebunden einsetzen. So intuitiv Textfelder zu benutzen sind, soviele M\u00f6glichkeiten und Fallstricke bieten sie auch. Dieser Artikel zeigt, wie Sie zu verschiedenen Zeitpunkten auf den vorherigen Wert, den aktuellen Wert und den aktuell angezeigten Text eines gebundenen Steuerelements im Formular zugreifen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Textfelder_Value_OldValue_und_Text.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-24T15:58:50+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_196_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=\"9\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\/Textfelder_Value_OldValue_und_Text.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/pic_196_001.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Textfelder_Value_OldValue_und_Text.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Textfelder_Value_OldValue_und_Text.html\",\"name\":\"Textfelder: Value, OldValue und Text - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Textfelder_Value_OldValue_und_Text.html#primaryimage\"},\"datePublished\":\"2020-01-24T15:58:50+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Textfelder sind das Hauptwerkzeug zur Eingabe von Daten. Sie k\\u00f6nnen diese an die Felder der Datenherkunft eines Formulars binden oder diese ungebunden einsetzen. So intuitiv Textfelder zu benutzen sind, soviele M\\u00f6glichkeiten und Fallstricke bieten sie auch. Dieser Artikel zeigt, wie Sie zu verschiedenen Zeitpunkten auf den vorherigen Wert, den aktuellen Wert und den aktuell angezeigten Text eines gebundenen Steuerelements im Formular zugreifen.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Textfelder_Value_OldValue_und_Text.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Textfelder_Value_OldValue_und_Text.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Textfelder_Value_OldValue_und_Text.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\/Textfelder_Value_OldValue_und_Text.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Textfelder_Value_OldValue_und_Text.html\",\"name\":\"Textfelder: Value, OldValue und Text\"}}]},{\"@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\/55000196","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=55000196"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000196\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}