{"id":55000479,"date":"2007-08-01T00:00:00","date_gmt":"2021-02-11T21:17:29","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=479"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Persistente_Mehrfachauswahl_im_Listenfeld","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Persistente_Mehrfachauswahl_im_Listenfeld\/","title":{"rendered":"Persistente Mehrfachauswahl im Listenfeld"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg02.met.vgwort.de\/na\/7b8ab5a5145a4e919f7c6b328dfbec71\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Das Ausw&auml;hlen von Listenfeldeintr&auml;gen mit Ein- oder Mehrfachauswahl macht dieses Steuerelement in vielen F&auml;llen zu einer guten Alternative f&uuml;r Unterformulare. Allein das Auslesen der markierten Informationen bereitet den Entwicklern hier und da Probleme. Und schlie&szlig;lich m&ouml;chten Sie vielleicht auch einmal die ausgew&auml;hlten Eintr&auml;ge speichern und wiederherstellen &#8211; wie dies alles funktioniert, erfahren Sie in diesem Beitrag.<\/b><\/p>\n<\/p><\/div>\n<div class=\"story\">\n<p>Warum sollten Sie Ihren Anwendern &uuml;berhaupt eine Mehrfachauswahl per Listenfeld anbietenund diese dann auch noch im gleichen Steuerelement reproduzieren Der beste Grund ist immer ein Beispiel, das einen Anlass liefert. In diesem Beitrag ist das ein kleines Formular, mit dem der Benutzer die Ausstattung eines Fahrzeugs eingeben k&ouml;nnen soll. M&ouml;glichkeiten, dies in der Benutzeroberfl&auml;che darzustellen, gibt es genug:<\/p>\n<p>Oft eingesetzt, aber schon vom Datenmodellentwurf her v&ouml;llig falsch ist die Variante, die einzelnen Eigenschaften als Felder des Fahrzeug-Datensatzes zu speichern und im Formular passende Ja\/Nein-Felder anzuzeigen. Eine Aufteilung der Objekte Fahrzeug und Ausstattungsmerkmal auf zwei per m:n-Beziehung verkn&uuml;pfte Tabellen ist zwingend erforderlich, um folgende Versionen zu realisieren:<\/p>\n<ul>\n<li class=\"aufz-hlung\">Anzeige der zugeordneten Ausstattungsmerkmale in einem Unterformular, Auswahl der Eigenschaften per Kombinationsfeld (prinzipiell wie im Bestellungen\/Bestelldetail-Formular der Nordwind-Datenbank)<\/li>\n<li class=\"aufz-hlung\">Einsatz zweier Listenfelder, von denen das linke alle zugeordneten, das rechte alle nicht zugeordneten Elemente enth&auml;lt; das Zuordnen erfolgt durch passende Pfeil-Schaltfl&auml;chen oder Doppelklick auf den zu verschiebenden Eintrag.<\/li>\n<li class=\"aufz-hlung\">Einsatz eines einzigen Listenfelds, in dem alle zugeordneten Elemente markiert sind.<\/li>\n<\/ul>\n<p>Die ersten beiden Varianten sollten bekannt sein (falls nicht: Listenfelder von A-Z, Shortlink 87, und m:n-Beziehungen in Haupt- und Unterformular, Shortlink 452, helfen weiter), Letztere nicht unbedingt. Das liegt vor allem daran, dass es keine offensichtliche M&ouml;glichkeit gibt, einmal zugeordnete Datens&auml;tze beim n&auml;chsten Aufruf automatisch wieder im Listenfeld anzuzeigen.<\/p>\n<p>Dies holt der vorliegende Beitrag nach und f&uuml;gt Ihrem Repertoire an Darstellungsm&ouml;glichkeiten von m:n-Beziehungen eine weitere Alternative hinzu. Eines vorweg: Diese Variante ist nicht unbedingt f&uuml;r riesige Datenmengen geeignet. Das ergibt sich nicht nur aus der Tatsache, dass die Eintr&auml;ge m&ouml;glichst ohne viel Scrollen sichtbar sein sollen, sondern auch aus der Art der Wiederherstellung der Anzeige &#8211; dazu jedoch sp&auml;ter mehr.<\/p>\n<p><b>Beispieltabellen<\/b><\/p>\n<p>Als Beispiel dient oben genannte Fahrzeug-Ausstattungsmerkmal-Beziehung, die sich wie in Bild 1 darstellt und auf drei Tabellen aufteilt.<\/p>\n<div class=\"image\">\n            <img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2007_04\/Listenfelder_3-web-images\/pic001_opt.jpeg\" alt=\"pic001.tif\" \/>\n        <\/div>\n<div class=\"story\">\n<p><b><span style=\"color:darkgrey\">Bild 1: Datenmodell der Beispieldatenbank<\/span><\/b><\/p>\n<\/p><\/div>\n<p>Die Anzeige erfolgt in einem Formular namens <b>frmFahrzeuge<\/b>, dessen Eigenschaft <b>Datenherkunft <\/b>die Tabelle <b>tblFahrzeuge <\/b>als Wert aufweist. F&uuml;r dieses Beispiel reicht die Anzeige der beiden Felder <b>FahrzeugID <\/b>und <b>Fahrzeug <\/b>v&ouml;llig aus.<\/p>\n<p>Viel interessanter ist das Listenfeld mit den Ausstattungsmerkmalen: Zun&auml;chst statten Sie es einmal mit der Tabelle <b>tblAusstattungen <\/b>als Datensatzherkunft aus &#8211; mehr brauchen Sie nicht. Das Listenfeld soll das Feld <b>AusstattungID<\/b> als gebundene Spalte verwenden und den Inhalt des Feldes <b>Ausstattung <\/b>anzeigen. Dazu stellen Sie die Eigenschaften <b>Spaltenanzahl <\/b>und <b>Spaltenbreiten <\/b>auf <b>2 <\/b>beziehungsweise <b>0cm <\/b>ein.<\/p>\n<p><b>Mehrfachauswahl<\/b><\/p>\n<p>Der Benutzer soll mehrere Eintr&auml;ge des Listenfeldes ausw&auml;hlen k&ouml;nnen, also stellen Sie die Eigenschaft <b>Mehrfachauswahl <\/b>auf <b>Einzeln <\/b>ein. Der Unterschied zur Einstellung <b>Erweitert <\/b>ist der, dass sich mit <b>Einzeln <\/b>die Eintr&auml;ge ganz einfach durch einen Klick aus- und abw&auml;hlen lassen.<\/p>\n<p>Die Einstellung <b>Erweitert <\/b>hingegen erfordert das Dr&uuml;cken der Umschalt- oder der Steuerungstaste, um mit der Maus mehrere Eintr&auml;ge zu markieren. Daf&uuml;r k&ouml;nnen Sie so aber auch mehrere Eintr&auml;ge gleichzeitig ausw&auml;hlen (Umschalt-Taste dr&uuml;cken, ersten Eintrag ausw&auml;hlen, zweiten Eintrag ausw&auml;hlen f&uuml;hrt zur Markierung der gew&auml;hlten und aller dazwischen liegenden Eintr&auml;ge).<\/p>\n<p><!--30percent--><\/p>\n<p>Im vorliegenden Beispiel, das mit einer &uuml;berschaubaren Menge von Eintr&auml;gen aufwartet, scheint die Einstellung <b>Einzeln <\/b>f&uuml;r die Eigenschaft <b>Mehrfachauswahl <\/b>sinnvoller.<\/p>\n<p>Damit k&ouml;nnen Sie die Mehrfachauswahl nun schon ausprobieren &#8211; mehr aber auch nicht: Nach dem Wechseln zum n&auml;chsten und zum Zur&uuml;ckspringen auf den aktuellen Datensatz empf&auml;ngt Sie das Listenfeld wieder ohne ausgew&auml;hlte Eintr&auml;ge.<\/p>\n<p>Es fehlen nun also noch zwei wichtige Schritte: Im ersten werden markierte Eintr&auml;ge in der Tabelle <b>tblFahrzeugeAusstattungen <\/b>gespeichert (und f&uuml;r deaktivierte wieder entfernt) und im zweiten die vorhandenen Eintr&auml;ge der Tabelle <b>tblFahrzeugeAusstattungen <\/b>ausgelesen und in Form markierter Eintr&auml;ge im Listenfeld mit den Ausstattungen dargestellt.<\/p>\n<p><b>Markierung von Listenfeldelementen <br \/>speichern<\/b><\/p>\n<p>Access speichert &auml;nderungen in einem Datensatz des Formulars zur Anzeige von Fahrzeugen und Ausstattungen beim Datensatzwechsel, soweit es sich um Inhalte von gebundenen Feldern handelt. Das ist beim Listenfeld nur sehr bedingt der Fall: Sie k&ouml;nnen es zwar an ein Feld binden, aber dies ist nur sinnvoll, wenn das Listenfeld Daten aus einer per 1:n-Beziehung verkn&uuml;pften Tabelle anzeigen soll.<\/p>\n<p>Im vorliegenden Fall geht es aber um eine m:n-Beziehung, und das Listenfeld enth&auml;lt nicht nur einen, sondern unter Umst&auml;nden auch keinen oder mehrere markierte Eintr&auml;ge. Und was noch viel wichtiger ist: Das Listenfeld ist noch nicht einmal gebunden. Und das ist ein entscheidender Faktor: Wenn das Listenfeld nicht gebunden ist, merkt das Formular beim Datensatzwechsel auch nicht, ob sich an den im Listenfeld markierten Eintr&auml;gen etwas ge&auml;ndert hat, und ignoriert seinen Inhalt einfach.<\/p>\n<p>Wie also stellen Sie fest, ob der Benutzer Eintr&auml;ge des Listenfeldes markiert oder deren Markierung aufgehoben hat Es stehen zwei M&ouml;glichkeiten zur Auswahl: Entweder Sie stellen per Code direkt beim &auml;ndern des Listenfeldes die Eigenschaft <b>Dirty <\/b>auf <b>True<\/b>, sodass das Formular vor dem Datensatzwechsel das Ereignis <b>Nach Aktualisierung <\/b>ausl&ouml;st, oder Sie fangen jede einzelne &auml;nderung im Listenfeld ab und reagieren mit dem Hinzuf&uuml;gen oder L&ouml;schen eines Datensatzes in der Tabelle <b>tblFahrzeugeAusstattungen<\/b>.<\/p>\n<p>Dieser Beitrag stellt die zweite M&ouml;glichkeit vor und nimmt das Ereignis <b>Beim Klicken <\/b>des Listenfeldes zum Anlass, die Tabelle <b>tblFahrzeugeAusstattungen <\/b>zu bearbeiten.<\/p>\n<p>Ein Klick auf einen Eintrag des Listenfeldes trifft entweder einen nicht markierten Eintrag und markiert diesen, oder er trifft einen markierten Eintrag und hebt dessen Markierung auf (beim Klick auf den leeren Bereich, soweit vorhanden, geschieht nichts).<\/p>\n<p>Das Ausw&auml;hlen eines Eintrags bedeutet hier, dass der Benutzer das aktuell ausgew&auml;hlte Fahrzeug mit dem angeklickten Ausstattungsmerkmal verkn&uuml;pfen m&ouml;chte. Das bedeutet, dass der Verkn&uuml;pfungstabelle <b>tblFahrzeugeAusstattungen <\/b>ein Eintrag hinzugef&uuml;gt werden muss &#8211; und zwar derjenige mit der <b>FahrzeugID <\/b>des aktuell angezeigten Datensatzes und der <b>AusstattungID <\/b>des im Listenfeld angeklickten Eintrags. Die <b>FahrzeugID <\/b>ist schnell aus dem gebundenen Feld ausgelesen, die <b>AusstattungID <\/b>aus dem Listenfeld weniger schnell: Dummerweise liefert <b>Me!lstAusstattungen <\/b>n&auml;mlich bei der Einstellung <b>Einzeln <\/b>f&uuml;r die Eigenschaft <b>Mehrfachauswahl <\/b>lediglich den Wert <b>Null <\/b>zur&uuml;ck. Also holen Sie sich den Wert f&uuml;r <b>AusstattungID<\/b>, indem Sie zun&auml;chst den Index des angeklickten Eintrags ermitteln und &uuml;ber die Eigenschaft <b>ItemData <\/b>den Wert des gebundenen Felds.<\/p>\n<p>Die Routine aus Listing 1 ermittelt zun&auml;chst, ob der Benutzer den Listenfeldeintrag aus- oder abgew&auml;hlt hat, und f&uuml;gt dann entweder einen passenden Eintrag zur Tabelle <b>tblFahrzeugeAusstattungen <\/b>hinzu oder entfernt ihn. Damit in neuen Datens&auml;tzen, die noch nicht bearbeitet wurden, keine Fehler auftreten, erscheint beim Anklicken eine passende Meldung und der markierte Listenfeldeintrag wird wieder in den Ausgangszustand zur&uuml;ckversetzt.<\/p>\n<div class=\"abbildung\">\n<p class=\"kastentabelleheader\">Listing 1: Beim Anklicken eines Listenfeldeintrags soll dieser nicht nur markiert, sondern es soll auch ein passender Eintrag zur Tabelle tblFahrzeugeAusstattungen hinzugef&uuml;gt werden.<\/p>\n<pre>Private Sub lstAusstattungen_Click()\r\n     Dim db As DAO.Database\r\n     Dim lngAktuelleAusstattung As Long\r\n     Set db = CurrentDb\r\n     If IsNull(Me!FahrzeugID) Then\r\n         MsgBox \"Bitte bearbeiten Sie zun&auml;chst den Hauptdatensatz.\"\r\n         Me!lstAusstattungen.Selected(Me!lstAusstattungen.ListIndex) = False\r\n         Exit Sub\r\n     End If\r\n     DoCmd.RunCommand acCmdSaveRecord\r\n     lngAktuelleAusstattung = Me!lstAusstattungen.ItemData(Me!lstAusstattungen.ListIndex)\r\n     If Me!lstAusstattungen.Selected(Me!lstAusstattungen.ListIndex) = True Then\r\n         db.Execute \"INSERT INTO tblFahrzeugeAusstattungen(FahrzeugID, AusstattungID) VALUES(\" _<br \/> &amp; Me!FahrzeugID &amp; \", \" &amp; lngAktuelleAusstattung &amp; \")\", dbFailOnError\r\n     Else\r\n         db.Execute \"DELETE FROM tblFahrzeugeAusstattungen WHERE FahrzeugID = \" &amp; Me!FahrzeugID _<br \/> &amp; \" AND AusstattungID = \" &amp; lngAktuelleAusstattung\r\n     End If\r\n     Set db = Nothing\r\nEnd Sub<\/pre>\n<\/p><\/div>\n<p><b>Vorhandene Eintr&auml;ge markieren<\/b><\/p>\n<p>Das Markieren von Eintr&auml;gen auf Basis der Verkn&uuml;pfungstabelle ist schon etwas schwieriger: Immerhin bietet das Listenfeld keine M&ouml;glichkeit, etwa gezielt den Datensatz mit der <b>AusstattungID 12 <\/b>zu markieren. Sie k&ouml;nnen einen Eintrag nur &uuml;ber seinen Index markieren, und zwar durch Setzen der Eigenschaft <b>.Selected(&lt;Index&gt;) <\/b>auf den Wert <b>True<\/b>.<\/p>\n<p>Dies macht sich die Routine aus Listing 2 zu Nutze, die das Formular beim Anzeigen eines neuen Datensatzes ausl&ouml;st. Sie pr&uuml;ft zun&auml;chst, ob ein bestehender oder ein neuer Fahrzeugdatensatz angezeigt wird, und hebt eventuell vom zuvor angezeigten Fahrzeugdatensatz &uuml;brig gebliebene Markierungen auf. Dann &ouml;ffnet sie ein <b>Recordset<\/b>-Objekt mit den nach dem aktuell angezeigten Fahrzeug gefilterten Daten der Abfrage <b>qryFahrzeugeAusstattungen<\/b>. In zwei ineinander verschachtelten Schleifen &#8211; der &auml;u&szlig;eren &uuml;ber alle Listenelemente, der inneren &uuml;ber alle Datens&auml;tze des Recordsets &#8211; pr&uuml;ft die Routine schlie&szlig;lich, welche der Listenelemente im Recordset enthalten sind und somit markiert werden m&uuml;ssen. F&uuml;r alle &uuml;brigen hebt die Routine die Markierung auf.<\/p>\n<div class=\"abbildung\">\n<p class=\"kastentabelleheader\">Listing 1: Nach dem Aktualisieren des Kombinationsfeldes soll das Formular den passenden Datensatz anzeigen.<\/p>\n<pre>Private Sub Form_Current()\r\n     Dim db As DAO.Database\r\n     Dim qryAusgewaehlt As DAO.QueryDef\r\n     Dim rst As DAO.Recordset\r\n     Dim i As Integer\r\n     If IsNull(Me!FahrzeugID) Then\r\n         For i = 0 To Me!lstAusstattungen.ListCount - 1\r\n             Me!lstAusstattungen.Selected(i) = False\r\n         Next i\r\n         Exit Sub\r\n     End If\r\n     Set db = CurrentDb\r\n     Set rst = db.OpenRecordset(\"SELECT * FROM qryFahrzeugeAusstattungen WHERE FahrzeugID = \" _\r\n         &amp; Me!FahrzeugID, dbOpenDynaset)\r\n     For i = 0 To Me!lstAusstattungen.ListCount - 1\r\n         Do While Not rst.EOF\r\n             If CLng(rst!AusstattungID) = CLng(Me!lstAusstattungen.ItemData(i)) Then\r\n                 Me!lstAusstattungen.Selected(i) = True\r\n                 Exit Do\r\n             Else\r\n                 Me!lstAusstattungen.Selected(i) = False\r\n             End If\r\n             rst.MoveNext\r\n         Loop\r\n         rst.MoveFirst\r\n     Next i\r\n     rst.Close\r\n     Set rst = Nothing\r\n     Set db = Nothing\r\nEnd Sub<\/pre>\n<\/p><\/div>\n<p><b>Zusammenfassung und Ausblick<\/b><\/p>\n<p>Die L&ouml;sung funktioniert prima f&uuml;r kleinere Datenmengen und f&uuml;r alles andere ist sie auch gar nicht ausgelegt: Wer will schon ein Listenfeld mit mehreren hundert oder tausend Datens&auml;tzen durchscrollen und darin die gew&uuml;nschten Datens&auml;tze markieren Um die hier vorgestellte Vorgehensweise in Ihre eigenen Anwendungen einzubauen, m&uuml;ssen Sie neben den Listenfeldeigenschaften noch die im Code verwendeten Steuerelementnamen sowie die jeweiligen Daten- und Datensatzherk&uuml;nfte anpassen.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>PersistenteListenfelder.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/C3D9CC0D-BF54-4F08-974E-A122A2D7870B\/aiu_479.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das Ausw&auml;hlen von Listenfeldeintr&auml;gen mit Ein- oder Mehrfachauswahl macht dieses Steuerelement in vielen F&auml;llen zu einer guten Alternative f&uuml;r Unterformulare. Allein das Auslesen der markierten Informationen bereitet den Entwicklern hier und da Probleme. Und schlie&szlig;lich m&ouml;chten Sie vielleicht auch einmal die ausgew&auml;hlten Eintr&auml;ge speichern und wiederherstellen &#8211; wie dies alles funktioniert, erfahren Sie in diesem Beitrag.<\/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":[662007,66042007,44000028,44000023],"tags":[],"class_list":["post-55000479","post","type-post","status-publish","format-standard","hentry","category-662007","category-66042007","category-Ergonomie_und_Benutzeroberflaeche","category-Mit_Formularen_arbeiten"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Persistente Mehrfachauswahl im Listenfeld - 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\/Persistente_Mehrfachauswahl_im_Listenfeld\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Persistente Mehrfachauswahl im Listenfeld\" \/>\n<meta property=\"og:description\" content=\"Das Ausw&auml;hlen von Listenfeldeintr&auml;gen mit Ein- oder Mehrfachauswahl macht dieses Steuerelement in vielen F&auml;llen zu einer guten Alternative f&uuml;r Unterformulare. Allein das Auslesen der markierten Informationen bereitet den Entwicklern hier und da Probleme. Und schlie&szlig;lich m&ouml;chten Sie vielleicht auch einmal die ausgew&auml;hlten Eintr&auml;ge speichern und wiederherstellen - wie dies alles funktioniert, erfahren Sie in diesem Beitrag.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Persistente_Mehrfachauswahl_im_Listenfeld\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-11T21:17:29+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg02.met.vgwort.de\/na\/7b8ab5a5145a4e919f7c6b328dfbec71\" \/>\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=\"9\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Mehrfachauswahl_im_Listenfeld\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Mehrfachauswahl_im_Listenfeld\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Persistente Mehrfachauswahl im Listenfeld\",\"datePublished\":\"2021-02-11T21:17:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Mehrfachauswahl_im_Listenfeld\\\/\"},\"wordCount\":1558,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Mehrfachauswahl_im_Listenfeld\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/7b8ab5a5145a4e919f7c6b328dfbec71\",\"articleSection\":[\"2007\",\"4\\\/2007\",\"Ergonomie und Benutzeroberfl\u00e4che\",\"Mit Formularen arbeiten\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Mehrfachauswahl_im_Listenfeld\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Mehrfachauswahl_im_Listenfeld\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Mehrfachauswahl_im_Listenfeld\\\/\",\"name\":\"Persistente Mehrfachauswahl im Listenfeld - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Mehrfachauswahl_im_Listenfeld\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Mehrfachauswahl_im_Listenfeld\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/7b8ab5a5145a4e919f7c6b328dfbec71\",\"datePublished\":\"2021-02-11T21:17:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Mehrfachauswahl_im_Listenfeld\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Mehrfachauswahl_im_Listenfeld\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Mehrfachauswahl_im_Listenfeld\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/7b8ab5a5145a4e919f7c6b328dfbec71\",\"contentUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/7b8ab5a5145a4e919f7c6b328dfbec71\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Persistente_Mehrfachauswahl_im_Listenfeld\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Persistente Mehrfachauswahl im Listenfeld\"}]},{\"@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":"Persistente Mehrfachauswahl im Listenfeld - 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\/Persistente_Mehrfachauswahl_im_Listenfeld\/","og_locale":"de_DE","og_type":"article","og_title":"Persistente Mehrfachauswahl im Listenfeld","og_description":"Das Ausw&auml;hlen von Listenfeldeintr&auml;gen mit Ein- oder Mehrfachauswahl macht dieses Steuerelement in vielen F&auml;llen zu einer guten Alternative f&uuml;r Unterformulare. Allein das Auslesen der markierten Informationen bereitet den Entwicklern hier und da Probleme. Und schlie&szlig;lich m&ouml;chten Sie vielleicht auch einmal die ausgew&auml;hlten Eintr&auml;ge speichern und wiederherstellen - wie dies alles funktioniert, erfahren Sie in diesem Beitrag.","og_url":"https:\/\/access-im-unternehmen.de\/Persistente_Mehrfachauswahl_im_Listenfeld\/","og_site_name":"Access im Unternehmen","article_published_time":"2021-02-11T21:17:29+00:00","og_image":[{"url":"http:\/\/vg02.met.vgwort.de\/na\/7b8ab5a5145a4e919f7c6b328dfbec71","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"9\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Persistente_Mehrfachauswahl_im_Listenfeld\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Persistente_Mehrfachauswahl_im_Listenfeld\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Persistente Mehrfachauswahl im Listenfeld","datePublished":"2021-02-11T21:17:29+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Persistente_Mehrfachauswahl_im_Listenfeld\/"},"wordCount":1558,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Persistente_Mehrfachauswahl_im_Listenfeld\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/7b8ab5a5145a4e919f7c6b328dfbec71","articleSection":["2007","4\/2007","Ergonomie und Benutzeroberfl\u00e4che","Mit Formularen arbeiten"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Persistente_Mehrfachauswahl_im_Listenfeld\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Persistente_Mehrfachauswahl_im_Listenfeld\/","url":"https:\/\/access-im-unternehmen.de\/Persistente_Mehrfachauswahl_im_Listenfeld\/","name":"Persistente Mehrfachauswahl im Listenfeld - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Persistente_Mehrfachauswahl_im_Listenfeld\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Persistente_Mehrfachauswahl_im_Listenfeld\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/7b8ab5a5145a4e919f7c6b328dfbec71","datePublished":"2021-02-11T21:17:29+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Persistente_Mehrfachauswahl_im_Listenfeld\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Persistente_Mehrfachauswahl_im_Listenfeld\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Persistente_Mehrfachauswahl_im_Listenfeld\/#primaryimage","url":"http:\/\/vg02.met.vgwort.de\/na\/7b8ab5a5145a4e919f7c6b328dfbec71","contentUrl":"http:\/\/vg02.met.vgwort.de\/na\/7b8ab5a5145a4e919f7c6b328dfbec71"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Persistente_Mehrfachauswahl_im_Listenfeld\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Persistente Mehrfachauswahl im Listenfeld"}]},{"@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\/55000479","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=55000479"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000479\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000479"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000479"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}