{"id":55000406,"date":"2018-04-01T00:00:00","date_gmt":"2020-01-24T16:00:07","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=406"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"LookupDaten_loeschen","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/LookupDaten_loeschen.html","title":{"rendered":"Lookup-Daten l&ouml;schen"},"content":{"rendered":"<p class='introduction'>Wenn Sie mit Lookup-Daten arbeiten und dem Benutzer erlauben, Daten in die Lookup-Tabelle wie etwa eine Tabelle zum Verwalten von Kategorien einzugeben, sollten Sie auch eine L&ouml;schen-Funktion f&uuml;r diese Daten bereitstellen. Benutzer sind n&auml;mlich schnell &uuml;bereifrig und legen &auml;hnliche und somit unter Umst&auml;nden redundante Daten an. Wenn dann flei&szlig;ig Datens&auml;tzen den redundanten Lookupwerten zugeordnet wurden, ist guter Rat teuer: Wie die Dubletten entfernen, und was geschieht mit den bereits verkn&uuml;pfte Daten Dieser Artikel bringt Lichts ins Dunkel.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1802_LookupLoeschen.accdb<\/b>.<\/p>\n<h2>Ausgangslage<\/h2>\n<p>Wir besch&auml;ftigen uns in diesem Artikel mit den beiden Tabellen <b>tblArtikel <\/b>und <b>tblKategorien<\/b> (siehe Bild 1). Zu jedem Artikel kann der Benutzer eine Kategorie ausw&auml;hlen. Um das flexibel zu gestalten, soll der Benutzer eigene Kategorien eingeben k&ouml;nnen &#8211; und zwar, indem er diese einfach in das Kombinationsfeld zur Auswahl der Kategorien eintr&auml;gt und eine kurze Best&auml;tigung nach Eingabe eines neuen Eintrags best&auml;tigt. Dabei geschieht es dann, dass der Benutzer eine neue Kategorie anlegt &#8211; wie etwa <b>Bier <\/b>-, aber &uuml;bersieht, dass es ja bereits eine Kategorie namens <b>Getr&auml;nke <\/b>gibt, in die der neue Artikel <b>Pilsener Quellbr&auml;u <\/b>aufgenommen werden kann. In diesem Fall soll der Benutzer sp&auml;ter seinen Fehler korrigieren k&ouml;nnen, indem er die falsch angelegte Kategorie wieder l&ouml;scht. Sollten jedoch bereits Datens&auml;tze der Tabelle <b>tblArtikel <\/b>mit den zu l&ouml;schenden Datens&auml;tzen aus der Tabelle <b>tblKategorien <\/b>angelegt sein, gelingt dies nicht so einfach: Wir haben n&auml;mlich referenzielle Integrit&auml;t f&uuml;r die Beziehung zwischen den beiden Tabellen definiert, und zwar ohne L&ouml;schweitergabe. Das hei&szlig;t, dass wir einen Datensatz aus der Tabelle <b>tblKategorien<\/b>, der mit mindestens einem Datensatz der Tabelle <b>tblArtikel <\/b>verkn&uuml;pft ist, nicht einfach l&ouml;schen k&ouml;nnen. Oder andersherum formuliert: Wir k&ouml;nnen nur leere Kategorien l&ouml;schen.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_406_001.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_406_001.png\" alt=\"Tabellen der Beispieldatenbank\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Tabellen der Beispieldatenbank<\/p>\n<p>Damit hat der Benutzer eine Aufgabe vor der Brust: Er muss n&auml;mlich alle Datens&auml;tze der Tabelle <b>tblArtikel <\/b>ausfindig machen, die mit der zu l&ouml;schenden Kategorie verkn&uuml;pft sind und diese mit einer anderen Kategorie verkn&uuml;pfen und kann erst dann die &uuml;berfl&uuml;ssige Kategorie l&ouml;schen. Dies wollen wir im folgenden etwas einfacher gestalten.<\/p>\n<h2>Beispielformular<\/h2>\n<p>Ausgangspunkt daf&uuml;r ist das Formular <b>tblArtikeldetails<\/b>, das im Entwurf wie in Bild 2 aussieht und &uuml;ber die Eigenschaft <b>Datenherkunft <\/b>an die Tabelle <b>tblArtikel <\/b>gebunden wird. Da das Fremdschl&uuml;sselfeld <b>KategorieID <\/b>gleich im Tabellenentwurf als Nachschlagefeld ausgelegt wurde, erscheint es nach dem Hineinziehen der Felder aus der Feldliste in den Detailbereich gleich als Kombinationsfeld (&uuml;brigens genau wie das Feld <b>LieferantID<\/b>).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_406_002.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_406_002.png\" alt=\"Entwurf des Formulars\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Entwurf des Formulars<\/p>\n<p>Wenn wir dann allerdings in die Formularansicht wechseln, erhalten wir die Fehlermeldung aus Bild 3. Kein Wunder: Der Eintrag ist in der Liste nicht bekannt.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_406_003.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_406_003.png\" alt=\"Im Standardzustand bewirkt das Einf&uuml;gen einer neuen Kategorie diesen Fehler.\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 3: Im Standardzustand bewirkt das Einf&uuml;gen einer neuen Kategorie diesen Fehler.<\/p>\n<h2>Neuen Eintrag hinzuf&uuml;gen<\/h2>\n<p>Das &auml;ndern wir durch die Ereignisprozedur <b>Bei nicht in Liste <\/b>des Kombinationsfeldes, das wir zuvor in <b>cboKategorieID <\/b>umbenennen. Die Prozedur sieht wie in Listing 1 aus und liefert mit dem Parameter <b>NewData <\/b>den Wert des vom Benutzer neu hinzugef&uuml;gten Eintrags. Die Prozedur fragt den Benutzer, ob die angegebene Kategorie neu in die Liste der Kategorien aufgenommen werden soll. Falls ja, f&uuml;hrt sie eine <b>INSERT INTO<\/b>-Abfrage aus, welche einen entsprechenden neuen Datensatz zur Tabelle <b>tblKategorien <\/b>hinzuf&uuml;gt. In diesem Fall stellen wir den Wert des R&uuml;ckgabeparameters <b>Response <\/b>auf <b>acDataErrAdded <\/b>ein, was Access mitteilt, dass ein neuer Eintrag hinzugef&uuml;gt wurde.<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cboKategorieID_NotInList(NewData<span style=\"color:blue;\"> As String<\/span>, Response<span style=\"color:blue;\"> As Integer<\/span>)\r\n     <span style=\"color:blue;\">Dim <\/span>intResult<span style=\"color:blue;\"> As <\/span>VbMsgBoxResult\r\n     <span style=\"color:blue;\">Dim <\/span>db<span style=\"color:blue;\"> As <\/span>DAO.Database\r\n     intResult = <span style=\"color:blue;\">MsgBox<\/span>(\"M&ouml;chten Sie die Kategorie '\" & NewData & \"' hinzuf&uuml;gen\", vbYesNo, \"Neue Kategorie\")\r\n     <span style=\"color:blue;\">If <\/span>intResult = vbYes<span style=\"color:blue;\"> Then<\/span>\r\n         <span style=\"color:blue;\">Set<\/span> db = CurrentDb\r\n         db.Execute \"INSERT INTO tblKategorien(Kategoriename) VALUES('\" & NewData & \"')\", dbFailOnError\r\n         Response = acDataErrAdded\r\n     <span style=\"color:blue;\">End If<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p class='imagetext'>Listing 1: Hinzuf&uuml;gen einer neuen Kategorie zur Tabelle tblKategorien<\/p>\n<p>Danach haben wir also eine neue Kategorie, die gegebenenfalls &uuml;berfl&uuml;ssig ist, weil sie schon durch eine andere Kategorie abgedeckt wird, und der Benutzer f&uuml;gt flei&szlig;ig neue Artikel hinzu und weist sie dieser Kategorie zu. Nun ben&ouml;tigen wir Elemente f&uuml;r die Benutzeroberfl&auml;che, mit denen wir die Eintr&auml;ge der Tabelle <b>tblKategorien <\/b>verwalten k&ouml;nnen und dies es auch erlauben, den Artikeln mit einer zu l&ouml;schenden Kategorie auf einfache Weise die richtige Kategorie zuzuweisen. Wir aber erledigen wir das auf effiziente Weise<\/p>\n<p>Die &uuml;bersichtlichste Methode ist die Anzeige eines neuen Formulars, dass die zu l&ouml;schende Kategorie samt der verkn&uuml;pfte Datens&auml;tze der Tabelle <b>tblArtikel <\/b>anzeigt. Au&szlig;erdem sollte dieses Formular noch die M&ouml;glichkeit bieten, vor dem L&ouml;schen eine alternative Kategorie f&uuml;r die betroffenen Artikel auszuw&auml;hlen &#8211; und das gegebenenfalls noch nach vorheriger Selektion der Artikel, um diese auch mehreren verschiedenen Kategorien zuordnen zu k&ouml;nnen.<\/p>\n<h2>Aufruf des Formulars zum Bearbeiten der Kategorien<\/h2>\n<p>Damit der Benutzer dieses Formular aufrufen kann, f&uuml;gen wir dem Formular <b>frmArtikeldetails <\/b>eine Schaltfl&auml;che neben dem Kombinationsfeld <b>cboKategorieID <\/b>hinzu (siehe Bild 4). Die Schaltfl&auml;che hei&szlig;t <b>cmdKategorieBearbeiten <\/b>und soll die folgende Ereignisprozedur ausl&ouml;sen:<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_406_004.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_406_004.png\" alt=\"Schaltfl&auml;che zum Bearbeiten der Kategorien\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 4: Schaltfl&auml;che zum Bearbeiten der Kategorien<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdKategorieBearbeiten_Click()\r\n    DoCmd.OpenForm _\r\n        \"frmKategorienZuweisen\", _\r\n        WindowMode:=acDialog, _\r\n        OpenArgs:=Me!cboKategorieID\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Die Prozedur &ouml;ffnet das Formular <b>frmKategorienZuweisen <\/b>als modalen Dialog und &uuml;bergibt die ID der aktuell im Kombinationsfeld <b>cboKategorieID <\/b>ausgew&auml;hlten Kategorie als &ouml;ffnungsargument an das ge&ouml;ffnete Formular.<\/p>\n<h2>Formular zum Zuordnen und L&ouml;schen von Kategorien<\/h2>\n<p>Das Formular, mit dem wir &uuml;berfl&uuml;ssige Kategorien loswerden wollen, hei&szlig;t <b>frmKategorienZuweisen<\/b> und sieht im Entwurf wie in Bild 5 aus. Das obere Kombinationsfeld soll die Kategorie anzeigen, die im Formular <b>frmArtikeldetails <\/b>ausgew&auml;hlt war, als der Benutzer auf die Schaltfl&auml;che mit den drei Punkten geklickt hat.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_406_005.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_406_005.png\" alt=\"Formular zum Zuweisen und L&ouml;schen von Kategorien\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 5: Formular zum Zuweisen und L&ouml;schen von Kategorien<\/p>\n<p>Dazu weisen wir dem Kombinationsfeld als Datensatzherkunft zun&auml;chst eine Abfrage auf Basis der Tabelle <b>tblKategorien <\/b>zu, die wie folgt lautet:<\/p>\n<pre>SELECT KategorieID, Kategoriename FROM tblKategorien ORDER BY Kategoriename;<\/pre>\n<p>Au&szlig;erdem stellen wir die Eigenschaft <b>Spaltenanzahl <\/b>auf den Wert <b>2 <\/b>und <b>Spaltenbreiten <\/b>auf <b>0cm <\/b>ein, damit nur die zweite Spalte mit der Bezeichnung der Kategorie im Kombinationsfeld angezeigt wird.<\/p>\n<p>Damit die Kategorie, deren <b>KategorieID <\/b>als &ouml;ffnungsargument des Formulars &uuml;bergeben wurde, im Kombinationsfeld erscheint, best&uuml;cken wir die durch das Ereignis <b>Beim Laden <\/b>des Formulars ausgel&ouml;ste Ereignisprozedur wie folgt:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Form_Load()\r\n    Me!cboAktuelleKategorieID = Me.OpenArgs\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Da das Formular nicht an eine Datenherkunft gebunden wird, stellen wir die Eigenschaften <b>Navigationsleiste<\/b>, <b>Datensatzmarkierer<\/b>, <b>Trennlinien <\/b>und <b>Bildlaufleisten <\/b>auf den Wert <b>Nein <\/b>und <b>Automatisch zentrieren <\/b>auf <b>Ja <\/b>ein. Wenn Sie das Formular nun f&uuml;r eine der Kategorien &ouml;ffnen, sollte dies wie in Bild 6 aussehen.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_406_006.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_406_006.png\" alt=\"Formular mit der zu bearbeitenden Kategorie\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 6: Formular mit der zu bearbeitenden Kategorie<\/p>\n<p>Das zweite Kombinationsfeld statten wir fast mit der gleichen Datensatzherkunft wie das erste Kombinationsfeld aus &#8211; mit einem Unterschied: Die im ersten Kombinationsfeld angezeigte Kategorie soll dort nicht erhalten sein. Es macht ja auch keinen Sinn, die Artikel einer Kategorie der gleichen Kategorie zuzuweisen.<\/p>\n<p>Da wir aber zur Entwurfszeit noch nicht wissen, welcher Datensatz im ersten Kombinationsfeld ausgew&auml;hlt wird, stellen wir die Datensatzherkunft des zweiten Kombinationsfeldes auch erst beim Laden des Formulars ein. Dazu erweitern wir die Prozedur <b>Form_Load <\/b>wie in Listing 2.<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Form_Load()\r\n     Me!cboAktuelleKategorieID = Me.OpenArgs\r\n     Me!cboZielkategorieID.RowSource = \"SELECT KategorieID, Kategoriename FROM tblKategorien WHERE KategorieID NOT IN (\" _\r\n         & Me.OpenArgs & \") ORDER BY Kategoriename\"\r\n     Me!cboZielkategorieID = Me.cboZielkategorieID.ItemData(0)\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p class='imagetext'>Listing 2: Aktionen beim Laden des Formulars frmKategorienZuweisen<\/p>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000;\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000;\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Access &#091;basics&#093;<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/shop.minhorst.com\/magazine\/282\/access-basics?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000;\">Danach greifen Sie sofort auf <strong>alle rund 400 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000;\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000406\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/index.php\/data\/wp\/v2\/posts\/55000406?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000406\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"8d63f6cbe9\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wenn Sie mit Lookup-Daten arbeiten und dem Benutzer erlauben, Daten in die Lookup-Tabelle wie etwa eine Tabelle zum Verwalten von Kategorien einzugeben, sollten Sie auch eine L&ouml;schen-Funktion f&uuml;r diese Daten bereitstellen. Benutzer sind n&auml;mlich schnell &uuml;bereifrig und legen &auml;hnliche und somit unter Umst&auml;nden redundante Daten an. Wenn dann flei&szlig;ig Datens&auml;tzen den redundanten Lookupwerten zugeordnet wurden, ist guter Rat teuer: Wie die Dubletten entfernen, und was geschieht mit den bereits verkn&uuml;pfte Daten Dieser Artikel bringt Lichts ins Dunkel.<\/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":[66022018,662018,44000014],"tags":[],"class_list":["post-55000406","post","type-post","status-publish","format-standard","hentry","category-66022018","category-662018","category-Loesungen"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v15.9.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Lookup-Daten l&ouml;schen - Access [basics]<\/title>\n<meta name=\"description\" content=\"Wenn Sie mit Lookup-Daten arbeiten und dem Benutzer erlauben, Daten in die Lookup-Tabelle wie etwa eine Tabelle zum Verwalten von Kategorien einzugeben, sollten Sie auch eine L\u00f6schen-Funktion f\u00fcr diese Daten bereitstellen. Benutzer sind n\u00e4mlich schnell \u00fcbereifrig und legen \u00e4hnliche und somit unter Umst\u00e4nden redundante Daten an. Wenn dann flei\u00dfig Datens\u00e4tzen den redundanten Lookupwerten zugeordnet wurden, ist guter Rat teuer: Wie die Dubletten entfernen, und was geschieht mit den bereits verkn\u00fcpfte Daten? Dieser Artikel bringt Lichts ins Dunkel.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/LookupDaten_loeschen.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Lookup-Daten l&ouml;schen - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Wenn Sie mit Lookup-Daten arbeiten und dem Benutzer erlauben, Daten in die Lookup-Tabelle wie etwa eine Tabelle zum Verwalten von Kategorien einzugeben, sollten Sie auch eine L\u00f6schen-Funktion f\u00fcr diese Daten bereitstellen. Benutzer sind n\u00e4mlich schnell \u00fcbereifrig und legen \u00e4hnliche und somit unter Umst\u00e4nden redundante Daten an. Wenn dann flei\u00dfig Datens\u00e4tzen den redundanten Lookupwerten zugeordnet wurden, ist guter Rat teuer: Wie die Dubletten entfernen, und was geschieht mit den bereits verkn\u00fcpfte Daten? Dieser Artikel bringt Lichts ins Dunkel.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/LookupDaten_loeschen.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-24T16:00:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"-0001-11-30T00:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/..\/tl_files\/images\/pic_406_001.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\">\n\t<meta name=\"twitter:data1\" content=\"17\u00a0Minuten\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/access-basics.de\/#website\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Access [basics]\",\"description\":\"DAS ACCESS-MAGAZIN F\\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/access-basics.de\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/index.php\/LookupDaten_loeschen.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/pic_406_001.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/LookupDaten_loeschen.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/LookupDaten_loeschen.html\",\"name\":\"Lookup-Daten l&ouml;schen - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/LookupDaten_loeschen.html#primaryimage\"},\"datePublished\":\"2020-01-24T16:00:07+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Wenn Sie mit Lookup-Daten arbeiten und dem Benutzer erlauben, Daten in die Lookup-Tabelle wie etwa eine Tabelle zum Verwalten von Kategorien einzugeben, sollten Sie auch eine L\\u00f6schen-Funktion f\\u00fcr diese Daten bereitstellen. Benutzer sind n\\u00e4mlich schnell \\u00fcbereifrig und legen \\u00e4hnliche und somit unter Umst\\u00e4nden redundante Daten an. Wenn dann flei\\u00dfig Datens\\u00e4tzen den redundanten Lookupwerten zugeordnet wurden, ist guter Rat teuer: Wie die Dubletten entfernen, und was geschieht mit den bereits verkn\\u00fcpfte Daten? Dieser Artikel bringt Lichts ins Dunkel.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/LookupDaten_loeschen.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/LookupDaten_loeschen.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/LookupDaten_loeschen.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/LookupDaten_loeschen.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/LookupDaten_loeschen.html\",\"name\":\"Lookup-Daten l&ouml;schen\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/#personlogo\",\"inLanguage\":\"de\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","_links":{"self":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000406","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/comments?post=55000406"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000406\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000406"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000406"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000406"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}