{"id":55001253,"date":"2020-10-01T00:00:00","date_gmt":"2020-10-20T22:39:17","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=1253"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"JaNeinDaten_selektieren_mit_zwei_Listenfeldern","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\/","title":{"rendered":"Ja\/Nein-Daten selektieren mit zwei Listenfeldern"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg07.met.vgwort.de\/na\/ef36c73d37734a1f9beb936ce034ee5a\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Wenn Sie Daten in einer Tabelle haben, die nach einem bestimmten Kriterium in zwei Kategorien eingeteilt werden, ben&ouml;tigen Sie eine praktische L&ouml;sung, um die Einteilung vorzunehmen. In diesem Beitrag zeigen wir, wie Sie die Daten einer Tabelle, die beispielsweise &uuml;ber ein Ja\/Nein-Feld in zwei Kategorien landen, nach diesem Feld verwalten k&ouml;nnen. Dazu nutzen wir einfach zwei Listenfelder, von denen eines die Ja-Eintr&auml;ge und eines die Nein-Eintr&auml;ge anzeigt. Das &Auml;ndern des relevanten Ja\/Nein-Feldes und somit das Verschieben von der einen in die andere Gruppe und umgekehrt erledigen wir dabei per Doppelklick auf das betroffene Element.<\/b><\/p>\n<p>Normalerweise erscheinen zwei Listenfelder, welche die Daten der gleichen Tabelle anzeigen, im Kontext von m:n-Beziehungen. Beispielsweise bei Fahrzeugen und Ausstattungsmerkmalen findet sich dann ein Auswahlfeld, mit dem man das Fahrzeug ausw&auml;hlen kann und zwei Listenfelder, von denen das eine die enthaltenen Ausstattungsmerkmale anzeigt und das andere die nicht enthaltenen Ausstattungsmerkmale.<\/p>\n<p>Per Doppelklick oder auch mit entsprechenden Schaltfl&auml;chen kann der Benutzer dann die Ausstattungsmerkmale hinzuf&uuml;gen oder entfernen.<\/p>\n<p>Das hier zur Unterscheidung zweier Kategorien verwendete <b>Ja\/Nein<\/b>-Feld macht es noch einfacher &#8211; es gibt keine m:n-Beziehung, sondern nur die Daten einer einzigen Tabelle, von denen die einen mit dem Wert <b>Ja <\/b>und die anderen mit dem Wert <b>Nein <\/b>gekennzeichnet sind.<\/p>\n<p>In unserem Beispiel wollen wir eine Tabelle namens <b>tblArtikel <\/b>verwenden, die ein Feld namens <b>Auslaufartikel <\/b>enth&auml;lt.<\/p>\n<p>In der Datenblattansicht hat der Benutzer die Gelegenheit, einen Artikel durch das &Auml;ndern des Wertes eines Kontrollk&auml;stchens als Auslaufartikel zu markieren oder diesen wieder ins Sortiment aufzunehmen.<\/p>\n<p>In der hier vorgestellten L&ouml;sung soll es einfacher sein: Wir wollen in einem Listenfeld alle Artikel anzeigen, die nicht auslaufen und in einem zweiten Listenfeld alle Auslaufartikel.<\/p>\n<p><b>Beispieltabelle tblArtikel<\/b><\/p>\n<p>In diesem Beitrag wollen wie die Tabelle <b>tblArtikel<\/b> der S&uuml;dsturm-Beispieldatenbank als Beispiel verwenden. Diese stellt mit <b>Auslaufartikel <\/b>ein passendes Feld bereit (siehe Bild 1). Im Bild wird auch gleich ersichtlich, dass die Darstellung in der Datenblattansicht nicht optimal ist: Hier muss man alle Datens&auml;tze durchsehen, um die Auslaufartikel zu erkennen. Man k&ouml;nnte auch nach dem Feld <b>Auslaufartikel sortieren <\/b>oder nach dem Wert <b>Ja <\/b>oder <b>Nein <\/b>filtern, aber die &Uuml;bersicht k&ouml;nnte doch besser sein. Daher erstellen wir nun ein Formular, dass die Auslaufartikel und die Nicht-Auslaufartikel in zwei Listenfeldern gegen&uuml;berstellt.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1253_001.png\" alt=\"Tabelle mit Auslaufartikeln\" width=\"499,6607\" height=\"439,7014\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Tabelle mit Auslaufartikeln<\/span><\/b><\/p>\n<p><b>Abfragen zur Auswahl von Auslaufartikel und Nicht-Auslaufartikeln<\/b><\/p>\n<p>Bevor wir das Formular programmieren, wollen wir noch die beiden Abfragen erstellen, die als Datensatzherkunft f&uuml;r die beiden Listenfelder dienen. Die erste hei&szlig;t <b>qry-KeinAuslaufartikel <\/b>und verwendet die Tabelle <b>tblArtikel<\/b> als Datenquelle. Sie liefert die drei Felder <b>ArtikelID<\/b>, <b>Artikelname <\/b>und <b>Auslaufartikel<\/b>, wobei das Feld <b>Auslaufartikel <\/b>als Kriterium verwendet wird &#8211; die Abfrage soll nur solche Datens&auml;tze liefern, deren Artikel keine Auslaufartikel sind (siehe Bild 2). Au&szlig;erdem sortiert die Abfrage die Artikel aufsteigend nach dem Feld <b>Artikelname<\/b>.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1253_002.png\" alt=\"Abfrage mit Artikeln, die nicht ausgelaufen sind\" width=\"424,7115\" height=\"374,1255\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Abfrage mit Artikeln, die nicht ausgelaufen sind<\/span><\/b><\/p>\n<p>Die zweite Abfrage <b>qryAuslaufartikel<\/b> ist identisch aufgebaut, verwendet aber den Wert <b>Wahr <\/b>als Vergleichswert f&uuml;r das Kriterium mit dem Feld <b>Auslaufartikel <\/b>(siehe Bild 3).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1253_003.png\" alt=\"Abfrage mit Artikeln, die ausgelaufen sind\" width=\"424,7115\" height=\"370,315\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Abfrage mit Artikeln, die ausgelaufen sind<\/span><\/b><\/p>\n<p>Damit k&ouml;nnen wir in die Programmierung des Formulars mit den Listenfeldern einsteigen.<\/p>\n<p><b>Listenfelder zum Selektieren von Auslaufartikeln<\/b><\/p>\n<p>Das neue Formular <b>frmAuslaufartikelVerwalten <\/b>statten wir mit den beiden Listenfeldern <b>lstKeineAuslaufartikel <\/b>und <b>lstAuslaufartikel <\/b>aus.<\/p>\n<p>F&uuml;r das Formular selbst stellen wir die Eigenschaften <b>Datensatzmarkierer<\/b>, <b>Navigationsschaltfl&auml;chen<\/b>, <b>Bildlaufleisten <\/b>und <b>Trennlinien <\/b>auf den Wert <b>Nein <\/b>und <b>Automatisch zentrieren <\/b>auf <b>Ja <\/b>ein.<\/p>\n<p>Das Listenfeld <b>lstKeineAuslaufartikel <\/b>verwendet die Abfrage <b>qryKeinAuslaufartikel <\/b>als Datensatzquelle. Damit nur der Artikelname angezeigt wird, nicht jedoch der Prim&auml;rschl&uuml;sselwert und der Inhalt des Feldes <b>Auslaufartikel<\/b>, stellen wir die Eigenschaft <b>Spaltenanzahl <\/b>des Listenfeldes auf <b>2 <\/b>und die Eigenschaft <b>Spaltenbreiten <\/b>auf <b>0cm <\/b>ein.<\/p>\n<p>Damit werden nur die ersten beiden Spalten in die Darstellung aufgenommen und die erste Spalte durch die Spaltenbreite <b>0cm <\/b>praktisch ausgeblendet.<\/p>\n<p>F&uuml;r das zweite Listenfeld <b>lstAuslaufartikel <\/b>stellen wir die gleichen Eigenschaften ein &#8211; mit Ausnahme der Eigenschaft <b>Datensatzherkunft<\/b>, der wir die Abfrage <b>qryAuslaufartikel <\/b>zuweisen.<\/p>\n<p>Der Entwurf des Formulars erscheint danach wie in Bild 4.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1253_004.png\" alt=\"Entwurfsansicht des Formulars frmAuslaufartikelVerwalten\" width=\"499,6607\" height=\"416,8826\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Entwurfsansicht des Formulars frmAuslaufartikelVerwalten<\/span><\/b><\/p>\n<p><b>Doppelklick-Ereignisse mit Funktion f&uuml;llen<\/b><\/p>\n<p>Damit der Benutzer die Eintr&auml;ge des linken Listenfeldes in das rechte Listenfeld verschieben kann und umgekehrt, sind folgende Schritte n&ouml;tig:<\/p>\n<ul>\n<li>Der Wert des Feldes <b>Auslaufartikel <\/b>muss beim Doppelklick auf ein Element auf den umgekehrten Wert eingestellt werden, bei <b>Wahr <\/b>also auf <b>Falsch <\/b>und bei <b>Falsch <\/b>auf <b>Wahr<\/b>.<\/li>\n<li>Danach m&uuml;ssen die beiden Listenfelder aktualisiert werden, damit der ge&auml;nderte Eintrag aus dem einen Listenfeld entfernt und zum anderen hinzugef&uuml;gt wird.<\/li>\n<\/ul>\n<p>F&uuml;r das Ereignis <b>Beim Doppelklicken <\/b>des linken Listenfeldes <b>lstKeineAuslaufartikel <\/b>legen wir die Ereignisprozedur aus Listing 1 an. Die Prozedur pr&uuml;ft im ersten Schritt, ob der Benutzer einen Eintrag im Listenfeld angeklickt hat oder ob er in den leeren Bereich des Listenfeldes geklickt hat. Nur im ersten Fall werden die innerhalb der <b>If&#8230;Then<\/b>-Bedingung befindlichen Anweisungen ausgef&uuml;hrt.<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>lstKeineAuslaufartikel_DblClick(Cancel<span style=\"color:blue;\"> As Integer<\/span>)\r\n     <span style=\"color:blue;\">Dim <\/span>db<span style=\"color:blue;\"> As <\/span>DAO.Database\r\n     <span style=\"color:blue;\">Dim <\/span>lngIndex<span style=\"color:blue;\"> As Long<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>lngArtikelID<span style=\"color:blue;\"> As Long<\/span>\r\n     <span style=\"color:blue;\">Set<\/span> db = CurrentDb\r\n     <span style=\"color:blue;\">If <\/span><span style=\"color:blue;\">Not<\/span> Me!lstKeinAuslaufartikel.ItemsSelected.Count = 0<span style=\"color:blue;\"> Then<\/span>\r\n         lngIndex = Me!lstKeineAuslaufartikel.ItemsSelected(0)\r\n         lngArtikelID = Me!lstKeineAuslaufartikel.ItemData(lngIndex)\r\n         db.Execute \"UPDATE tblArtikel SET Auslaufartikel = <span style=\"color:blue;\">True<\/span> WHERE ArtikelID = \" & lngArtikelID, dbFailOnError\r\n         Me!lstAuslaufartikel.Requery\r\n         Me!lstKeineAuslaufartikel.Requery\r\n     <span style=\"color:blue;\">End If<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 1: Prozedur, die beim Doppelklick auf das Listenfeld lstKeineAuslaufartikel ausgel&ouml;st wird<\/span><\/b><\/p>\n<p>In diesem Fall liest die Prozedur mit der Eigenschaft <b>ItemsSelected <\/b>den Index des angeklickten Eintrags in die Variable <b>lngIndex <\/b>ein. Mit diesem Wert holt sie mit der Eigenschaft <b>ItemData <\/b>den Wert der gebundenen Spalte des angeklickten Eintrags und schreibt diesen in die Variable <b>lngArtikelID<\/b>.<\/p>\n<p><!--30percent--><\/p>\n<p>Damit k&ouml;nnen wir nun eine SQL-Anweisung zusammenstellen, die f&uuml;r den Eintrag der Tabelle <b>tblArtikel<\/b>, dessen Feld <b>ArtikelID <\/b>den Wert aus <b>lngArtikelID <\/b>aufweist, den Wert des Feldes <b>Auslaufartikel <\/b>auf <b>False <\/b>einstellt.<\/p>\n<p>Danach braucht die Prozedur nur noch die beiden Listenfelder mit der <b>Requery<\/b>-Methode zu aktualisieren.<\/p>\n<p>Die Prozedur f&uuml;r das rechte Listenfeld <b>lstAuslaufartikel<\/b> ist &auml;hnlich aufgebaut wie die f&uuml;r das linke Listenfeld (siehe Listing 2). In diesem Fall ermittelt sie den zu bearbeitenden Datensatz allerdings aus dem Listenfeld <b>lstAuslaufartikel <\/b>und &auml;ndert den Wert des Feldes <b>Auslaufartikel <\/b>nicht in <b>False<\/b>, sondern in <b>True<\/b>.<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>lstAuslaufartikel_DblClick(Cancel<span style=\"color:blue;\"> As Integer<\/span>)\r\n     <span style=\"color:blue;\">Dim <\/span>db<span style=\"color:blue;\"> As <\/span>DAO.Database\r\n     <span style=\"color:blue;\">Dim <\/span>lngIndex<span style=\"color:blue;\"> As Long<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>lngArtikelID<span style=\"color:blue;\"> As Long<\/span>\r\n     <span style=\"color:blue;\">Set<\/span> db = CurrentDb\r\n     <span style=\"color:blue;\">If <\/span><span style=\"color:blue;\">Not<\/span> Me!lstAuslaufartikel.ItemsSelected.Count = 0<span style=\"color:blue;\"> Then<\/span>\r\n         lngIndex = Me!lstAuslaufartikel.ItemsSelected(0)\r\n         lngArtikelID = Me!lstAuslaufartikel.ItemData(lngIndex)\r\n         db.Execute \"UPDATE tblArtikel SET Auslaufartikel = <span style=\"color:blue;\">False<\/span> WHERE ArtikelID = \" & lngArtikelID, dbFailOnError\r\n         Me!lstAuslaufartikel.Requery\r\n         Me!lstKeineAuslaufartikel.Requery\r\n     <span style=\"color:blue;\">End If<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 2: Prozedur, die beim Doppelklick auf das Listenfeld lstAuslaufartikel ausgel&ouml;st wird<\/span><\/b><\/p>\n<p><b>Auslaufartikel verwalten<\/b><\/p>\n<p>Damit erhalten wir das Formular aus Bild 5. Wenn Sie auf einen der Eintr&auml;ge im linken Listenfeld klicken, wird dieses in das rechte Listenfeld verschoben und umgekehrt.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1253_005.png\" alt=\"Einen Artikel zum Auslaufartikel machen\" width=\"424,7115\" height=\"337,6883\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Einen Artikel zum Auslaufartikel machen<\/span><\/b><\/p>\n<p>Je mehr Datens&auml;tze die Tabelle enth&auml;lt, umso un&uuml;bersichtlicher wird die Liste. Also lassen wir uns noch etwas einfallen, um die Liste &uuml;bersichtlicher zu gestalten.<\/p>\n<p><b>Listenfelder schnell filtern<\/b><\/p>\n<p>Wie k&ouml;nnen wir im Listenfeld schnell einen Artikel finden, um diesen als Auslaufartikel zu markieren Die einfachste M&ouml;glichkeit ist, einfach den Anfangsbuchstaben des gew&uuml;nschten Artikels einzugeben.<\/p>\n<p>Das Listenfeld springt dann automatisch zum ersten Eintrag mit diesem Anfangsbuchstaben.<\/p>\n<p>Manche Listen enthalten aber so viele Eintr&auml;ge, dass auch diese L&ouml;sung nicht besonders hilfreich ist. In diesem Fall f&uuml;gen wir dem Formular ein einfaches Textfeld hinzu, mit dem der Benutzer einen Suchbegriff f&uuml;r den gew&uuml;nschten Artikelnamen eingeben kann.<\/p>\n<p>Das Textfeld namens <b>txtFilter <\/b>platzieren wir oben &uuml;ber den beiden Listenfeldern. Sobald der Benutzer dort ein Zeichen eingibt, sollen die Eintr&auml;ge der Listenfelder nach diesem Wert gefiltert werden.<\/p>\n<p>Dazu hinterlegen wir f&uuml;r die Ereigniseigenschaft <b>Bei &Auml;nderung <\/b>des Textfeldes die Prozedur aus Listing 3.<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>txtFilter_Change()\r\n     <span style=\"color:blue;\">Dim <\/span>strFilter<span style=\"color:blue;\"> As String<\/span>\r\n     strFilter = Me!txtFilter.Text\r\n     Me!lstAuslaufartikel.RowSource = \"SELECT * FROM qryAuslaufartikel WHERE Artikelname LIKE '*\" & strFilter & \"*'\"\r\n     Me!lstKeineAuslaufartikel.RowSource = \"SELECT * FROM qryKeinAuslaufartikel WHERE Artikelname \" _\r\n         & \"LIKE '*\" & strFilter & \"*'\"\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 3: Prozedur, die nach Eingabe eines Zeichens im Textfeld txtFilter ausgel&ouml;st wird<\/span><\/b><\/p>\n<p>Das Ergebnis sieht nach der Eingabe beispielsweise der beiden Buchstaben <b>ch <\/b>wie in Bild 6 aus. Damit l&auml;sst sich bereits viel leichter der gew&uuml;nschte Artikel ausw&auml;hlen und zu den Auslaufartikeln &uuml;bertragen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1253_006.png\" alt=\"Filtern der Listeneintr&auml;ge\" width=\"424,7115\" height=\"352,3175\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Filtern der Listeneintr&auml;ge<\/span><\/b><\/p>\n<p><b>Flexibler Einsatz der L&ouml;sung<\/b><\/p>\n<p>Wenn Sie diese L&ouml;sung nun nicht f&uuml;r die Tabelle <b>tblArtikel<\/b>, sondern f&uuml;r eine ganz andere Tabelle mit anderen Feldern einsetzen wollen, m&uuml;ssen Sie einige Elemente &auml;ndern &#8211; unter anderem am Quellcode. Deshalb wollen wir die L&ouml;sung noch etwas flexibler gestalten. Dazu sind die folgenden Schritte n&ouml;tig:<\/p>\n<ul>\n<li>Umbenennen der beiden Abfragen in <b>qryTrue <\/b>und <b>qryFalse<\/b>. Die Abfrage <b>qryTrue <\/b>enth&auml;lt dabei die Datens&auml;tze, f&uuml;r die das <b>Ja\/Nein<\/b>-Feld den Wert <b>True <\/b>enth&auml;lt, die Abfrage <b>qryFalse <\/b>die Datens&auml;tze, f&uuml;r die das <b>Ja\/Nein<\/b>-Feld den Wert <b>False <\/b>enth&auml;lt. Dabei erhalten die drei Felder die Alias-Feldnamen <b>ID<\/b>, <b>Bezeichnung <\/b>und <b>JaNein<\/b>. Ein Beispiel finden Sie in Bild 7.<\/li>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1253_007.png\" alt=\"Neue Abfrage f&uuml;r die Datens&auml;tze, deren Ja\/Nein-Feld den Wert True enth&auml;lt.\" width=\"424,7115\" height=\"313,2248\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 7: Neue Abfrage f&uuml;r die Datens&auml;tze, deren Ja\/Nein-Feld den Wert True enth&auml;lt.<\/span><\/b><\/p>\n<li>&Auml;ndern des Quellcodes f&uuml;r die drei Ereigniseigenschaften des Formulars wie nachfolgend beschrieben.<\/li>\n<\/ul>\n<p>Die beiden durch einen Doppelklick ausgel&ouml;sten Ereignisprozeduren rufen beide die gleiche Prozedur namens <b>lst_DoubleClick <\/b>auf und &uuml;bergeben dieser als Parameter einen Verweis auf das betroffene Listenfeld sowie den Wert, auf den das <b>Ja\/Nein<\/b>-Feld des angeklickten Eintrags eingestellt werden soll. Au&szlig;erdem aktualisieren beide Prozeduren nach dem Aufruf von <b>lst_DoubleClick <\/b>die beiden Listenfelder.<\/p>\n<p>Die Prozedur <b>lstFalse_DblClick<\/b>, die beim Doppelklick auf das Listenfeld mit den Eintr&auml;gen, deren <b>Ja\/Nein<\/b>-Feld den Wert <b>False <\/b>aufweist, &uuml;bergibt also beispielsweise das Listenfeld <b>lstFalse <\/b>und als einzustellenden Wert <b>True<\/b>:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>lstFalse_DblClick(Cancel<span style=\"color:blue;\"> As Integer<\/span>)\r\n     lst_DoubleClick Me!lstFalse, -1\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Die Prozedur <b>lstTrue_DblClick <\/b>&uuml;bergibt das Listenfeld <b>lstTrue <\/b>und den einzustellenden Wert <b>False<\/b>:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>lstTrue_DblClick(Cancel<span style=\"color:blue;\"> As Integer<\/span>)\r\n     lst_DoubleClick Me!lstTrue, 0\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Die durch diese beiden Prozeduren aufgerufene Prozedur <b>lst_DoubleClick<\/b> ermittelt zun&auml;chst die Quelltabelle des Feldes <b>ID<\/b> (siehe Listing 4). Diese Tabelle k&ouml;nnen wir nicht direkt ermitteln, da das Listenfeld ja eine Abfrage als Datensatzherkunft verwendet. Also stellen wir zun&auml;chst eine <b>Field<\/b>-Variable auf das Feld <b>ID <\/b>ein (<b>ID <\/b>wird in unserem Beispiel als Alias f&uuml;r das Feld <b>ArtikelID <\/b>verwendet).<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>lst_DoubleClick(lst<span style=\"color:blue;\"> As <\/span>ListBox, bol<span style=\"color:blue;\"> As Boolean<\/span>)\r\n     <span style=\"color:blue;\">Dim <\/span>db<span style=\"color:blue;\"> As <\/span>DAO.Database\r\n     <span style=\"color:blue;\">Dim <\/span>lngID<span style=\"color:blue;\"> As Long<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>strTabelle<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>strTrueFalse<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>strID<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>fld<span style=\"color:blue;\"> As <\/span>DAO.Field\r\n     <span style=\"color:blue;\">If <\/span><span style=\"color:blue;\">Not<\/span> lst.ItemsSelected.Count = 0<span style=\"color:blue;\"> Then<\/span>\r\n         lngID = lst.ItemData(lst.ItemsSelected(0))\r\n         <span style=\"color:blue;\">Set<\/span> fld = lst.Recordset.Fields(\"ID\")\r\n         strTabelle = fld.SourceTable\r\n         strID = fld.SourceField\r\n         <span style=\"color:blue;\">Set<\/span> fld = lst.Recordset.Fields(\"JaNein\")\r\n         strTrue<span style=\"color:blue;\">False<\/span> = fld.SourceField\r\n         <span style=\"color:blue;\">Set<\/span> db = CurrentDb\r\n         db.Execute \"UPDATE \" & strTabelle & \" SET \" & strTrue<span style=\"color:blue;\">False<\/span> & \" = \" & CInt(bol) & \" WHERE \" & strID & \" = \" _\r\n             & lngID, dbFailOnError\r\n     Me!lstTrue.Requery\r\n     Me!lstFalse.Requery\r\n     <span style=\"color:blue;\">End If<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 4: Prozedur, die nach einem Doppelklick auf einen der Listeneintr&auml;ge ausgel&ouml;st wird  <\/span><\/b><\/p>\n<p>Danach lesen wir mit der Eigenschaft <b>SourceTable <\/b>die Tabelle aus, aus welcher das Feld <b>ID <\/b>stammt:<\/p>\n<pre><span style=\"color:blue;\">Set<\/span> fld = lst.Recordset.Fields(\"ID\")\r\nstrTabelle = fld.SourceTable<\/pre>\n<p>Au&szlig;erdem wollen wir wissen, wie das Prim&auml;rschl&uuml;sselfeld selbst hei&szlig;t, was wir &uuml;ber die Eigenschaft <b>SourceField <\/b>des <b>Field<\/b>-Objekts ermitteln und in der Variablen <b>strID <\/b>speichern:<\/p>\n<pre>strID = fld.SourceField<\/pre>\n<p>Auf die gleiche Weise ermitteln wir noch den Namen des Feldes, f&uuml;r das wir in der Abfrage den Alias <b>JaNein <\/b>festgelegt haben, und schreiben diesen in die Variable <b>strTrueFalse<\/b>:<\/p>\n<pre><span style=\"color:blue;\">Set<\/span> fld = lst.Recordset.Fields(\"JaNein\")\r\nstrTrue<span style=\"color:blue;\">False<\/span> = fld.SourceField<\/pre>\n<p>Damit k&ouml;nnen wir anschlie&szlig;end eine SQL-Abfrage zusammenstellen, die f&uuml;r den angeklickten Datensatz den Wert des <b>Ja\/Nein<\/b>-Feldes auf den mit dem zweiten Parameter &uuml;bergebenen Wert einstellt. Hier ist noch zu beachten, dass wir den Wert des Parameters <b>bol <\/b>in einen <b>Integer<\/b>-Wert umwandeln. Anderenfalls verwendet die Abfrage in der deutschen Version von Access den Wert <b>Wahr <\/b>oder <b>Falsch<\/b>, was zu einem Fehler f&uuml;hrt. Die Abfrage wird mit diesem Ausdruck zusammengestellt:<\/p>\n<pre>db.Execute \"UPDATE \" & strTabelle & \" SET \" & strTrue<span style=\"color:blue;\">False<\/span> & \" = \" & CInt(bol) & \" WHERE \" & strID & \" = \" & lngID, dbFailOnError<\/pre>\n<p><b>Filter auf die parametrisierte Version anpassen<\/b><\/p>\n<p>Damit auch der Filter an die ge&auml;nderten Datensatzherk&uuml;nfte der beiden Listenfelder angepasst wird, &auml;ndern wir die durch die Eingabe von Zeichen in das Textfeld <b>txtFilter<\/b> ausgel&ouml;ste Prozedur wie in Listing 5. Hier &auml;ndern wir lediglich den Namen der beiden Abfragen (<b>qryTrue <\/b>und <b>qryFalse<\/b>) und stellen das zu vergleichende Feld auf <b>Bezeichnung <\/b>ein, also den Alias f&uuml;r das anzuzeigende Feld.<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>txtFilter_Change()\r\n     <span style=\"color:blue;\">Dim <\/span>strFilter<span style=\"color:blue;\"> As String<\/span>\r\n     strFilter = Me!txtFilter.Text\r\n     Me!lstTrue.RowSource = \"SELECT * FROM qry<span style=\"color:blue;\">True<\/span> WHERE Bezeichnung LIKE '*\" & strFilter & \"*'\"\r\n     Me!lstFalse.RowSource = \"SELECT * FROM qry<span style=\"color:blue;\">False<\/span> WHERE Bezeichnung LIKE '*\" & strFilter & \"*'\"\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 5: Parametrisierte Version der Prozedur zum Filtern der Listenfelder<\/span><\/b><\/p>\n<p><b>Beschriftungen der Listenfelder aus Abfrage lesen<\/b><\/p>\n<p>Wir haben nun eine L&ouml;sung, die wir fast nur &uuml;ber &Auml;nderungen der ben&ouml;tigen Abfragen anpassen k&ouml;nnen. Fast deshalb, weil wir immer noch die Bezeichnungen der beiden Listenfelder im Formular einstellen m&uuml;ssen &#8211; alle anderen Informationen stecken komplett in den beiden Abfragen namens <b>qryTrue <\/b>und <b>qryFalse<\/b>.<\/p>\n<p>K&ouml;nnen wir die L&ouml;sung noch so optimieren, dass wir ausschlie&szlig;lich die Abfragen neu erstellen beziehungsweise anpassen m&uuml;ssen Ja, auch das funktioniert. Dazu sind die folgenden Schritte n&ouml;tig:<\/p>\n<ul>\n<li>Benennen der Bezeichnungsfelder<\/li>\n<li>Unterbringung der anzuzeigenden Beschriftungen in der Eigenschaft <b>Beschreibung<\/b> der beiden Abfragen<\/li>\n<li>VBA-Code, der die Beschriftungen beim &Ouml;ffnen des Formulars aus den Eigenschaften der Abfragen ausliest und diese in die Bezeichnungsfelder eintr&auml;gt.<\/li>\n<\/ul>\n<p>Der erste Schritt ist, dass wir die Bezeichnungsfelder des Formulars benennen. Dazu wollen wir die Bezeichnungen <b>lblFalse <\/b>und <b>lblTrue <\/b>verwenden.<\/p>\n<p>Dann &ouml;ffnen wir die beiden Abfragen <b>qryFalse <\/b>und <b>qryTrue <\/b>und tragen f&uuml;r die Eigenschaft <b>Beschreibung<\/b> den passenden Wert ein &#8211; bei der Abfrage <b>qryFalse <\/b>also beispielsweise <b>Kein Auslaufartikel<\/b> (siehe Bild 8).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1253_008.png\" alt=\"Einstellen der Beschreibung einer Abfrage\" width=\"700\" height=\"311,4957\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 8: Einstellen der Beschreibung einer Abfrage<\/span><\/b><\/p>\n<p>Danach f&uuml;gen wir noch die folgende <b>Beim Laden<\/b>-Ereignisprozedur zum Formular <b>frmTrueFalseVerwalten <\/b>hinzu.  Sie referenziert die beiden Abfragen &uuml;ber <b>QueryDef<\/b>-Objekte und liest die Werte der Eigenschaft <b>Description <\/b>aus. Diese schreibt sie in die Eigenschaft <b>Caption <\/b>des jeweiligen Listenfeldes:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Form_Load()\r\n     <span style=\"color:blue;\">Dim <\/span>db<span style=\"color:blue;\"> As <\/span>DAO.Database\r\n     <span style=\"color:blue;\">Dim <\/span>qryTrue<span style=\"color:blue;\"> As <\/span>DAO.QueryDef\r\n     <span style=\"color:blue;\">Dim <\/span>qryFalse<span style=\"color:blue;\"> As <\/span>DAO.QueryDef\r\n     <span style=\"color:blue;\">Set<\/span> db = CurrentDb\r\n     <span style=\"color:blue;\">Set<\/span> qry<span style=\"color:blue;\">True<\/span> = db.QueryDefs(\"qryTrue\")\r\n     <span style=\"color:blue;\">Set<\/span> qry<span style=\"color:blue;\">False<\/span> = db.QueryDefs(\"qryFalse\")\r\n     Me!lblFalse.Caption = _\r\n         qryFalse.Properties(\"Description\")\r\n     Me!lblTrue.Caption = _\r\n         qryTrue.Properties(\"Description\")\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b>L&ouml;sung in anderer Datenbank einsetzen<\/b><\/p>\n<p>Wenn Sie diese L&ouml;sung nun in einer anderen Datenbank einsetzen m&ouml;chten, sind folgende Schritte n&ouml;tig:<\/p>\n<ul>\n<li>Kopieren der beiden Abfragen <b>qryTrue <\/b>und <b>qryFalse<\/b><\/li>\n<li>Kopieren des Formulars <b>frmTrueFalseVerwalten<\/b><\/li>\n<li>Anpassen der Quelltabelle in den beiden Abfragen und der Felder mit den Alias-Bezeichnungen <b>ID<\/b>, <b>Bezeichnung <\/b>und <b>JaNein<\/b>.<\/li>\n<li>Eintragen der Texte f&uuml;r die Bezeichnungsfelder der Listenfelder in die Eigenschaft <b>Beschreibung <\/b>der beiden Abfragen<\/li>\n<\/ul>\n<p>Das war es &#8211; ein Beispiel f&uuml;r den Einsatz dieser L&ouml;sung finden Sie in der n&auml;chsten Ausgabe im Beitrag <b>Berichte und Unterberichte konfigurieren <\/b>(<b>www.access-im-unternehmen.de\/1260<\/b>).<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>JaNeinDatenSelektierenMitZweiListenfeldern.accdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/9CAD2AC6-ACE3-47FA-9832-30EEB9ED08B4\/aiu_1253.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wenn Sie Daten in einer Tabelle haben, die nach einem bestimmten Kriterium in zwei Kategorien eingeteilt werden, ben&ouml;tigen Sie eine praktische L&ouml;sung, um die Einteilung vorzunehmen. In diesem Beitrag zeigen wir, wie Sie die Daten einer Tabelle, die beispielsweise &uuml;ber ein Ja\/Nein-Feld in zwei Kategorien landen, nach diesem Feld verwalten k&ouml;nnen. Dazu nutzen wir einfach zwei Listenfelder, von denen eines die Ja-Eintr&auml;ge und eines die Nein-Eintr&auml;ge anzeigt. Das &Auml;ndern des relevanten Ja\/Nein-Feldes und somit das Verschieben von der einen in die andere Gruppe und umgekehrt erledigen wir dabei per Doppelklick auf das betroffene Element.<\/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":[662020,66052020,44000023],"tags":[],"class_list":["post-55001253","post","type-post","status-publish","format-standard","hentry","category-662020","category-66052020","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>Ja\/Nein-Daten selektieren mit zwei Listenfeldern - 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\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ja\/Nein-Daten selektieren mit zwei Listenfeldern\" \/>\n<meta property=\"og:description\" content=\"Wenn Sie Daten in einer Tabelle haben, die nach einem bestimmten Kriterium in zwei Kategorien eingeteilt werden, ben&ouml;tigen Sie eine praktische L&ouml;sung, um die Einteilung vorzunehmen. In diesem Beitrag zeigen wir, wie Sie die Daten einer Tabelle, die beispielsweise &uuml;ber ein Ja\/Nein-Feld in zwei Kategorien landen, nach diesem Feld verwalten k&ouml;nnen. Dazu nutzen wir einfach zwei Listenfelder, von denen eines die Ja-Eintr&auml;ge und eines die Nein-Eintr&auml;ge anzeigt. Das &Auml;ndern des relevanten Ja\/Nein-Feldes und somit das Verschieben von der einen in die andere Gruppe und umgekehrt erledigen wir dabei per Doppelklick auf das betroffene Element.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-20T22:39:17+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg07.met.vgwort.de\/na\/ef36c73d37734a1f9beb936ce034ee5a\" \/>\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=\"13\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Ja\\\/Nein-Daten selektieren mit zwei Listenfeldern\",\"datePublished\":\"2020-10-20T22:39:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\\\/\"},\"wordCount\":2230,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/ef36c73d37734a1f9beb936ce034ee5a\",\"articleSection\":[\"2020\",\"5\\\/2020\",\"Mit Formularen arbeiten\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\\\/\",\"name\":\"Ja\\\/Nein-Daten selektieren mit zwei Listenfeldern - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/ef36c73d37734a1f9beb936ce034ee5a\",\"datePublished\":\"2020-10-20T22:39:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/ef36c73d37734a1f9beb936ce034ee5a\",\"contentUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/ef36c73d37734a1f9beb936ce034ee5a\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ja\\\/Nein-Daten selektieren mit zwei Listenfeldern\"}]},{\"@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":"Ja\/Nein-Daten selektieren mit zwei Listenfeldern - 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\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\/","og_locale":"de_DE","og_type":"article","og_title":"Ja\/Nein-Daten selektieren mit zwei Listenfeldern","og_description":"Wenn Sie Daten in einer Tabelle haben, die nach einem bestimmten Kriterium in zwei Kategorien eingeteilt werden, ben&ouml;tigen Sie eine praktische L&ouml;sung, um die Einteilung vorzunehmen. In diesem Beitrag zeigen wir, wie Sie die Daten einer Tabelle, die beispielsweise &uuml;ber ein Ja\/Nein-Feld in zwei Kategorien landen, nach diesem Feld verwalten k&ouml;nnen. Dazu nutzen wir einfach zwei Listenfelder, von denen eines die Ja-Eintr&auml;ge und eines die Nein-Eintr&auml;ge anzeigt. Das &Auml;ndern des relevanten Ja\/Nein-Feldes und somit das Verschieben von der einen in die andere Gruppe und umgekehrt erledigen wir dabei per Doppelklick auf das betroffene Element.","og_url":"https:\/\/access-im-unternehmen.de\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-10-20T22:39:17+00:00","og_image":[{"url":"http:\/\/vg07.met.vgwort.de\/na\/ef36c73d37734a1f9beb936ce034ee5a","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"13\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Ja\/Nein-Daten selektieren mit zwei Listenfeldern","datePublished":"2020-10-20T22:39:17+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\/"},"wordCount":2230,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/ef36c73d37734a1f9beb936ce034ee5a","articleSection":["2020","5\/2020","Mit Formularen arbeiten"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\/","url":"https:\/\/access-im-unternehmen.de\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\/","name":"Ja\/Nein-Daten selektieren mit zwei Listenfeldern - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/ef36c73d37734a1f9beb936ce034ee5a","datePublished":"2020-10-20T22:39:17+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\/#primaryimage","url":"http:\/\/vg07.met.vgwort.de\/na\/ef36c73d37734a1f9beb936ce034ee5a","contentUrl":"http:\/\/vg07.met.vgwort.de\/na\/ef36c73d37734a1f9beb936ce034ee5a"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/JaNeinDaten_selektieren_mit_zwei_Listenfeldern\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Ja\/Nein-Daten selektieren mit zwei Listenfeldern"}]},{"@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\/55001253","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=55001253"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001253\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55001253"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55001253"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55001253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}