{"id":55000394,"date":"2006-10-01T00:00:00","date_gmt":"2021-02-11T20:57:26","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=394"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Steuerelemente_mit_Gedaechtnis","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Steuerelemente_mit_Gedaechtnis\/","title":{"rendered":"Steuerelemente mit Ged&auml;chtnis"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg06.met.vgwort.de\/na\/bf8a52fdf35545599c55801f540350ab\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<h3>Zusammenfassung<\/h3>\n<p>Lernen Sie, wie man Listenfeldern beibringt, sich die zuletzt markierten Werte zu merken.<\/p>\n<h3>Techniken<\/h3>\n<p>Formulare, Listenfelder, VBA<\/p>\n<h3>Voraussetzungen<\/h3>\n<p>Access 97 und h&ouml;her<\/p>\n<h3>Beispieldatenbank<\/h3>\n<p>ListenfelderMitGedaechtnis97.mdb, ListenfelderMitGedaechtnis00.mdb<\/p>\n<h3><\/h3>\n<p><b>Andr&eacute; Minhorst, Duisburg<\/b><\/p>\n<p><b>Wenn ein Benutzer ein Formular &ouml;ffnet, eine Auswahl etwa anhand eines ungebundenen Listenfeldes trifft und diese beim n&auml;chsten &ouml;ffnen des Formulars wieder vorfinden m&ouml;chte, hat er &uuml;blicherweise Pech. Zumindest, soweit er keine speziellen Vorbereitungen daf&uuml;r trifft. Was prinzipiell f&uuml;r alle Steuerelemente interessant ist, veranschaulicht dieser Beitrag anhand von Text-, Kombinations- und Listenfeldern.<\/b><\/p>\n<p>Die einfachste Variante, einem Steuerelement beim &ouml;ffnen eines Formulars den zuletzt ge&ouml;ffneten Wert zuzuweisen, bietet der Einsatz einer globalen Variablen. Beim denkbar einfachsten Beispiel aus einem Formular mit einem ungebundenen Textfeld (siehe Bild 1) ben&ouml;tigen Sie nur eine global deklarierte Variable sowie zwei Routinen mit wenigen Zeilen.<\/p>\n<p>Die globale Variable deklarieren Sie in einem neuen Standardmodul namens mdlGlobal:<\/p>\n<pre>Public gstrText As String<\/pre>\n<p>Anschlie&szlig;end f&uuml;gen Sie dem Formular zwei Ereignisprozeduren f&uuml;r die Ereignisse Beim &ouml;ffnen und Beim Schlie&szlig;en zu.<\/p>\n<p>Die folgende Routine speichert beim Schlie&szlig;en des Formulars den aktuellen Inhalt des Textfeldes in der globalen Variablen gstrText:<\/p>\n<pre>Private Sub Form_Close()\r\n    ''Beim Speichern: Schreibe den Inhalt\r\n    ''des Textfeldes in die Variable\r\n    gstrText = Me!txtText\r\nEnd Sub<\/pre>\n<p>Beim &ouml;ffnen des Formulars soll der Inhalt dieser Variablen &#8211; soweit vorhanden &#8211; wieder eingelesen werden. Das erledigt die zweite Ereignisprozedur:<\/p>\n<pre>Private Sub Form_Open(Cancel As Integer)    ''Wenn gstrText nicht leer ...\r\n    If Not gstrText = \"\" Then        ''... schreibe den Text in das\r\n        ''Textfeld\r\n        Me!txtText = gstrText\r\n    End If\r\nEnd Sub<\/pre>\n<p>Bei Kombinationsfeldern ist die Sache genauso einfach.<\/p>\n<p>Das folgende Beispiel aus Bild 2 besch&auml;ftigt sich mit einem Kombinationsfeld, das die Artikel der Nordwind-Datenbank anzeigen soll und dazu &uuml;ber die Datensatzherkunft <\/p>\n<p>SELECT Artikel.[Artikel-Nr],<\/p>\n<p>Artikel.Artikelname FROM Artikel;<\/p>\n<p>an diese Tabelle gebunden ist.<\/p>\n<p>Damit das Kombinationsfeld nicht den im ersten Feld der Abfrage enthaltenen Prim&auml;rschl&uuml;ssel der Tabelle, sondern den Artikelnamen aus dem zweiten Feld anzeigt, enthalten die Eigenschaften Spaltenanzahl und Spaltenbreite die Werte 2 und 0cm.<\/p>\n<p>Auch der im Kombinationsfeld angezeigte Wert kann in einer einzigen globalen Variablen gespeichert werden:<\/p>\n<pre>Public glngArtikelnummer As Long<\/pre>\n<p>Die Routine, die den aktuellen Datensatz des Kombinationsfelds in der globalen Variablen glngArtikelnummer speichern soll, sieht so aus:<\/p>\n<pre>Private Sub Form_Close()\r\n    ''Wenn Kombinationsfeld nicht leer ...\r\n    If Not IsNull(Me!cboArtikel) Then\r\n        ''... schreibe Inhalt in Variable\r\n        glngArtikelnummer = _            Me!cboArtikel\r\n    End If\r\nEnd Sub<\/pre>\n<p>Das Einlesen beim &ouml;ffnen des Formulars &uuml;bernimmt die folgende Routine:<\/p>\n<pre>Private Sub Form_Open(Cancel As Integer)\r\n    ''W&auml;hle den gespeicherten Wert aus\r\n    Me!cboArtikel = glngArtikelnummer\r\nEnd Sub<\/pre>\n<p>Falls Sie daf&uuml;r sorgen wollen, dass das Kombinationsfeld beim ersten &ouml;ffnen des Formulars den ersten Eintrag anzeigt, verwenden Sie die folgende Routine:<\/p>\n<pre>Private Sub Form_Open(Cancel As Integer)\r\n    ''Wenn kein Wert zwischengespeichert\r\n    ''ist ...\r\n    If glngArtikelnummer = 0 Then\r\n        ''... w&auml;hle den ersten Wert aus,\r\n        Me!cboArtikel = _            Me!cboArtikel.ItemData(0)\r\n    Else\r\n        ''sonst den gespeicherten Wert:\r\n        Me!cboArtikel = _            glngArtikelnummer\r\n    End If\r\nEnd Sub<\/pre>\n<p><IMG height=\"158\" src=\"..\/fileadmin\/_temp_\/{61D60BA3-47EE-42F0-87BF-0B67F1D3A716}\/pic001.png\" width=\"326\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1:  Ein einfaches Formular mit einem ungebundenen Textfeld<\/span><\/b><\/p>\n<p><IMG height=\"132\" src=\"..\/fileadmin\/_temp_\/{61D60BA3-47EE-42F0-87BF-0B67F1D3A716}\/pic002.png\" width=\"348\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2:  Formular mit einem ungebundenen, aber mit einer Datensatzherkunft versehenen Kombinationsfeld <\/span><\/b><\/p>\n<p>Diese pr&uuml;ft, ob die Variable den Wert 0 enth&auml;lt (was bei Variablen des Datentyps Long der Standardwert ist &#8211; bei anderen Datentypen m&uuml;ssen Sie den Vergleich entsprechend anpassen) und stellt in diesem Fall das Kombinationsfeld auf den ersten Eintrag ein.<\/p>\n<p><!--30percent--><\/p>\n<p>Listenfelder verhalten sich diesbez&uuml;glich genauso wie Kombinationsfelder.<\/p>\n<p>Neben der globalen Variablen gibt es noch eine zweite Variante, wie Sie den Inhalt von Steuerelementen in Variablen speichern k&ouml;nnen &#8211; und zwar &uuml;ber eine statische Variable.<\/p>\n<p>Eine globale Variable hat die Eigenschaft, dass sie &#8211; innerhalb einer Routine festgelegt und gef&uuml;llt &#8211; ihren Wert zwischen zwei Aufrufen ein und derselben Routine beibeh&auml;lt.<\/p>\n<p><b>Quellcode 1: Diese Funktion merkt sich in einer statischen Variablen eine Artikelnummer.<\/b><\/p>\n<pre>Public Function Artikelnummer(Optional varArtikelnummer As Variant)\r\n    Static svarArtikelnummer As Variant\r\n    ''Wenn keine Artikelnummer &uuml;bergeben wurde, ...\r\n    If IsMissing(varArtikelnummer) Then\r\n        ''verwende die statisch gespeicherte Artikelnummer,\r\n        Artikelnummer = svarArtikelnummer\r\n    Else\r\n        ''sonst die per Parameter &uuml;bergebene Artikelnummer\r\n        svarArtikelnummer = varArtikelnummer\r\n    End If\r\nEnd Function<\/pre>\n<p>Nun k&ouml;nnen Sie die Variable weder in der Beim &ouml;ffnen- noch in der Beim Schlie&szlig;en-Ereignisprozedur unterbringen, weil ja beide Routinen auf diese Variable zugreifen m&uuml;ssen, aber ihr G&uuml;ltigkeitsbereich nur auf eine Routine festlegt werden kann.<\/p>\n<p>Also legen Sie eine separate Routine an, die sowohl einen Wert entgegennehmen als auch zur&uuml;ckgeben kann. Diese Routine sieht etwa wie in Quellcode 1 aus und muss sich in einem Standardmodul befinden.<\/p>\n<p>Der Aufruf erfolgt wiederum von zwei Routinen, die beim &ouml;ffnen und beim Schlie&szlig;en des Formulars ausgel&ouml;st werden. Diesmal soll sich die Anwendung den in einem Listenfeld ausgew&auml;hlten Datensatz merken (siehe Bild 3).<\/p>\n<p>Die passenden Ereignisprozeduren sehen so aus:<\/p>\n<pre>Private Sub Form_Close()\r\n    ''speichert die Artikelnummer in der     ''statischen Variablen\r\n    Artikelnummer Me!lstArtikel\r\nEnd Sub\r\nPrivate Sub Form_Open(Cancel As Integer)\r\n    ''versucht, die Artikelnummer aus der\r\n    ''statischen Variablen einzulesen\r\n    Me!lstArtikel = Artikelnummer\r\nEnd Sub<\/pre>\n<p><IMG height=\"146\" src=\"..\/fileadmin\/_temp_\/{61D60BA3-47EE-42F0-87BF-0B67F1D3A716}\/pic003.png\" width=\"293\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3:  Ein Listenfeld mit Ged&auml;chtnis<\/span><\/b><\/p>\n<p>Dauerhaften Erfolg bieten beide L&ouml;sungen nicht: Sowohl globale als auch statische Variablen werden sp&auml;testens beim Schlie&szlig;en der Datenbankanwendung gel&ouml;scht und stehen beim n&auml;chsten &ouml;ffnen nicht mehr zur Verf&uuml;gung.<\/p>\n<p>Was also tun Auch hier gibt es zumindest zwei Varianten: Die erste speichert die relevanten Werte einfach in einer Tabelle, die zweite verwendet dazu die Registry.<\/p>\n<p><b>Speichern von Werten in einer Tabelle<\/b><\/p>\n<p>Die erste Variante verwendet die Tabelle aus Bild 4 zum Speichern der Informationen. Die Tabelle ist so aufgebaut, dass sie problemlos die Inhalte mehrerer Steuerelemente aufnimmt.<\/p>\n<p>Man gibt einfach eine Bezeichnung f&uuml;r das Steuerelement sowie den zu speichernden Wert an. Gegebenenfalls erg&auml;nzt man den Steuerelementnamen noch um den Formularnamen (etwa frmTest_txtTest), um den Einsatz gleichnamiger Steuerelemente in unterschiedlichen Formularen zu erlauben.<\/p>\n<p><IMG height=\"357\" src=\"..\/fileadmin\/_temp_\/{61D60BA3-47EE-42F0-87BF-0B67F1D3A716}\/pic004.png\" width=\"444\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4:  Tabelle zum Speichern von Datenbankoptionen<\/span><\/b><\/p>\n<p>Stellen Sie die Eigenschaft Indiziert des Feldes Optionsbezeichnung auf den Wert Ja(Ohne Duplikate) ein &#8211; den Grund erfahren Sie weiter unten.<\/p>\n<p>Und wieder sorgen die bekannten zwei Ereignisse f&uuml;r das Speichern und Lesen der Steuerelementinhalte &#8211; hier wieder f&uuml;r ein Formular mit einem Listenfeld wie in Bild 3.<\/p>\n<p>Etwas trickreich ist die Routine zum Schreiben des aktuellen Wertes (s. Quellcode 2): Sie versucht einfach, einen neuen Datensatz mit der Optionsbezeichnung frmListenfeldTabelle_lstArtikel und dem aktuellen Wert des Listenfeldes f&uuml;r das Feld Wert anzulegen.<\/p>\n<p><b>Quellcode 2: Das Schlie&szlig;en des Formulars speichert den Wert des Listenfeldes in einer Tabelle.<\/b><\/p>\n<pre>Private Sub Form_Close()\r\n    Dim db As DAO.Database\r\n    Set db = CurrentDb\r\n    On Error Resume Next\r\n    ''Versuchen, einen Wert f&uuml;r die Option in die Tabelle zu schreiben, was einen Fehler ausl&ouml;st, \r\n    ''wenn der Wert schon vorhanden ist ...\r\n    db.Execute \"INSERT INTO tblOptionen(Optionsbezeichnung, Wert) \" _        & \"VALUES(''frmListenfeldTabelle_lstArtikel'', ''\" & Me!lstArtikel & \"'')\", dbFailOnError\r\n    ''... der aber abgefangen wird, indem die folgende Anweisung den vorhandenen Wert einfach auf \r\n    ''den aktuellen Wert &auml;ndert.\r\n    If Err.Number &gt; 0 Then\r\n        db.Execute \"UPDATE tblOptionen SET Wert = ''\" & Me!lstArtikel _            & \"'' WHERE Optionsbezeichnung = ''frmListenfeldTabelle_lstArtikel''\"\r\n    End If\r\n    Set db = Nothing\r\nEnd Sub<\/pre>\n<p>Dadurch, dass Sie weiter oben einen eindeutigen Index f&uuml;r das Feld Optionsbezeichnung festgelegt haben, l&ouml;st das Anlegen eines Datensatzes mit einer bereits vorhandenen Optionsbezeichnung einen Fehler aus, der zwar durch die vorherige On Error Resume Next-Anweisung &uuml;bergangen, aber durch die Bedingung If Err.Number &gt; 0 Then&#8230; erkannt wird.<\/p>\n<p>In dem Fall legt die Routine keinen neuen Datensatz an, sondern &auml;ndert einfach den Inhalt des Feldes Wert des bestehenden Datensatzes ab.<\/p>\n<p>Wichtig ist in diesem Zusammenhang, dass eine Execute-Anweisung nur einen Fehler ausl&ouml;st, wenn als zweiter Parameter der Wert dbFailOnError eingetragen ist!<\/p>\n<p>Das Auslesen &uuml;bernimmt in der Routine aus Quellcode 3 eine einfache DLookup-Anweisung: <\/p>\n<p>Sie fragt den Inhalt des Feldes Wert f&uuml;r den passenden Datensatz ab und weist der Variablen lngArtikel entweder den gespeicherten Wert oder, falls der entsprechende Datensatz nicht vorhanden ist, den Wert 0 zu.<\/p>\n<p><b>Quellcode 3: Beim &ouml;ffnen des Formulars liest diese Routine den Wert des Listenfeldes aus der Tabelle aus.<\/b><\/p>\n<pre>Private Sub Form_Open(Cancel As Integer)\r\n    Dim lngArtikel As Long\r\n    ''Artikel aus der Optionstabelle einlesen ...\r\n    lngArtikel = Nz(DLookup(\"Wert\", \"tblOptionen\", _        & \"Optionsbezeichnung = \" _        & \"''frmListenfeldTabelle_lstArtikel''\"), 0)\r\n    ''... und, wenn dieser nicht null ist, im Listenfeld \r\n    ''ausw&auml;hlen.\r\n    If Not lngArtikel = 0 Then\r\n        Me!lstArtikel = lngArtikel\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Quellcode 4: Schreiben eines Wertes in die Registry<\/b><\/p>\n<pre>Private Sub Form_Close()\r\n    SaveSetting \"Beispielanwendung\", \"Steuerelemente\", _        \"lstListenfeldRegistry_lstArtikel\", Me!lstArtikel\r\nEnd Sub<\/pre>\n<p><b>Quellcode 5: Lesen eines Wertes aus der Registry<\/b><\/p>\n<pre>Private Sub Form_Open(Cancel As Integer)\r\n    Me!lstArtikel = GetSetting(\"Beispielanwendung\", _        \"Steuerelemente\", \"lstListenfeldRegistry_lstArtikel\", 0)\r\nEnd Sub<\/pre>\n<p><IMG height=\"273\" src=\"..\/fileadmin\/_temp_\/{61D60BA3-47EE-42F0-87BF-0B67F1D3A716}\/pic005.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5:  Speicherort von Anwendungseinstellungen in der Registry<\/span><\/b><\/p>\n<p><b>Speichern von Werten in der Registry<\/b><\/p>\n<p>Das Ganze funktioniert auch recht einfach mit der Registry. Verantwortlich sind die beiden VBA-Funktionen SaveSetting und GetSetting.<\/p>\n<p>Genau genommen ist dies die L&ouml;sung mit den wenigsten Codezeilen &#8211; sowohl das Schreiben als auch das Lesen eines Wertes in der Registry erfordert nur jeweils eine Zeile.<\/p>\n<p>Quellcode 4 zeigt die Routine, die beim Schlie&szlig;en des Formulars ausgel&ouml;st wird und den Wert in die Registry schreibt, die Routine aus Quellcode 5 holt diesen wieder hervor. Wo die Einstellung in der Registry unterkommt, zeigt Abb. 5.<\/p>\n<p>Wer den Benutzern seiner Anwendungen h&ouml;chstm&ouml;glichen Komfort bieten m&ouml;chte, kann an der einen oder anderen Stelle auf eine der hier genannten Varianten zum Speichern von Steuerelementinhalten zur&uuml;ckgreifen.<\/p>\n<p>Dies k&ouml;nnen Sie beliebig komplex gestalten &#8211; auch f&uuml;r das Speichern einer Mehrfachauswahl im Listenfeld l&auml;sst sich eine passende Routine programmieren. Wer mag, kann solche Einstellungen auch in einer Text- oder XML-Datei speichern &#8211; oder in Datenbankproperties, wie der Beitrag Persistente Variablen (Shortlink 395) zeigt.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>ListenfelderMitGedaechtnis00.mdb<\/p>\n<p>ListenfelderMitGedaechtnis97.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/7D361651-C7FC-4DE6-AC95-185A4EE0B349\/aiu_394.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wenn ein Benutzer ein Formular &ouml;ffnet, eine Auswahl etwa anhand eines ungebundenen Listenfeldes trifft und diese beim n&auml;chsten &Ouml;ffnen des Formulars wieder vorfinden m&ouml;chte, hat er &uuml;blicherweise Pech. Zumindest, soweit er keine speziellen Vorbereitungen daf&uuml;r trifft. Was prinzipiell f&uuml;r alle Steuerelemente interessant ist, veranschaulicht dieser Beitrag anhand von Text-, Kombinations- und Listenfeldern.<\/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":[662006,66052006,44000023],"tags":[],"class_list":["post-55000394","post","type-post","status-publish","format-standard","hentry","category-662006","category-66052006","category-Mit_Formularen_arbeiten"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Steuerelemente mit Ged&auml;chtnis - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Steuerelemente_mit_Gedaechtnis\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Steuerelemente mit Ged&auml;chtnis\" \/>\n<meta property=\"og:description\" content=\"Wenn ein Benutzer ein Formular &ouml;ffnet, eine Auswahl etwa anhand eines ungebundenen Listenfeldes trifft und diese beim n&auml;chsten &Ouml;ffnen des Formulars wieder vorfinden m&ouml;chte, hat er &uuml;blicherweise Pech. Zumindest, soweit er keine speziellen Vorbereitungen daf&uuml;r trifft. Was prinzipiell f&uuml;r alle Steuerelemente interessant ist, veranschaulicht dieser Beitrag anhand von Text-, Kombinations- und Listenfeldern.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Steuerelemente_mit_Gedaechtnis\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-11T20:57:26+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg06.met.vgwort.de\/na\/bf8a52fdf35545599c55801f540350ab\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"8\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerelemente_mit_Gedaechtnis\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerelemente_mit_Gedaechtnis\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Steuerelemente mit Ged&auml;chtnis\",\"datePublished\":\"2021-02-11T20:57:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerelemente_mit_Gedaechtnis\\\/\"},\"wordCount\":1269,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerelemente_mit_Gedaechtnis\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/bf8a52fdf35545599c55801f540350ab\",\"articleSection\":[\"2006\",\"5\\\/2006\",\"Mit Formularen arbeiten\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerelemente_mit_Gedaechtnis\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerelemente_mit_Gedaechtnis\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerelemente_mit_Gedaechtnis\\\/\",\"name\":\"Steuerelemente mit Ged&auml;chtnis - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerelemente_mit_Gedaechtnis\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerelemente_mit_Gedaechtnis\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/bf8a52fdf35545599c55801f540350ab\",\"datePublished\":\"2021-02-11T20:57:26+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerelemente_mit_Gedaechtnis\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerelemente_mit_Gedaechtnis\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerelemente_mit_Gedaechtnis\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/bf8a52fdf35545599c55801f540350ab\",\"contentUrl\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/bf8a52fdf35545599c55801f540350ab\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Steuerelemente_mit_Gedaechtnis\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Steuerelemente mit Ged&auml;chtnis\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Steuerelemente mit Ged&auml;chtnis - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Steuerelemente_mit_Gedaechtnis\/","og_locale":"de_DE","og_type":"article","og_title":"Steuerelemente mit Ged&auml;chtnis","og_description":"Wenn ein Benutzer ein Formular &ouml;ffnet, eine Auswahl etwa anhand eines ungebundenen Listenfeldes trifft und diese beim n&auml;chsten &Ouml;ffnen des Formulars wieder vorfinden m&ouml;chte, hat er &uuml;blicherweise Pech. Zumindest, soweit er keine speziellen Vorbereitungen daf&uuml;r trifft. Was prinzipiell f&uuml;r alle Steuerelemente interessant ist, veranschaulicht dieser Beitrag anhand von Text-, Kombinations- und Listenfeldern.","og_url":"https:\/\/access-im-unternehmen.de\/Steuerelemente_mit_Gedaechtnis\/","og_site_name":"Access im Unternehmen","article_published_time":"2021-02-11T20:57:26+00:00","og_image":[{"url":"http:\/\/vg06.met.vgwort.de\/na\/bf8a52fdf35545599c55801f540350ab","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"8\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Steuerelemente_mit_Gedaechtnis\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Steuerelemente_mit_Gedaechtnis\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Steuerelemente mit Ged&auml;chtnis","datePublished":"2021-02-11T20:57:26+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Steuerelemente_mit_Gedaechtnis\/"},"wordCount":1269,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Steuerelemente_mit_Gedaechtnis\/#primaryimage"},"thumbnailUrl":"http:\/\/vg06.met.vgwort.de\/na\/bf8a52fdf35545599c55801f540350ab","articleSection":["2006","5\/2006","Mit Formularen arbeiten"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Steuerelemente_mit_Gedaechtnis\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Steuerelemente_mit_Gedaechtnis\/","url":"https:\/\/access-im-unternehmen.de\/Steuerelemente_mit_Gedaechtnis\/","name":"Steuerelemente mit Ged&auml;chtnis - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Steuerelemente_mit_Gedaechtnis\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Steuerelemente_mit_Gedaechtnis\/#primaryimage"},"thumbnailUrl":"http:\/\/vg06.met.vgwort.de\/na\/bf8a52fdf35545599c55801f540350ab","datePublished":"2021-02-11T20:57:26+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Steuerelemente_mit_Gedaechtnis\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Steuerelemente_mit_Gedaechtnis\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Steuerelemente_mit_Gedaechtnis\/#primaryimage","url":"http:\/\/vg06.met.vgwort.de\/na\/bf8a52fdf35545599c55801f540350ab","contentUrl":"http:\/\/vg06.met.vgwort.de\/na\/bf8a52fdf35545599c55801f540350ab"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Steuerelemente_mit_Gedaechtnis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Steuerelemente mit Ged&auml;chtnis"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000394","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000394"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000394\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000394"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000394"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000394"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}