{"id":55000661,"date":"2024-06-01T00:00:00","date_gmt":"2024-06-01T00:00:00","guid":{"rendered":"http:\/\/access-basics.de\/661"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Abfragen_basics_Aktualisierbare_Abfragen","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Aktualisierbare_Abfragen.html","title":{"rendered":"Abfragen [basics]: Aktualisierbare Abfragen"},"content":{"rendered":"<p class='introduction'>Microsoft Access ist sehr gro&szlig;z&uuml;gig, was die Aktualisierbarkeit von Abfragen angeht. Was bedeutet Aktualisierbarkeit von Abfragen &uuml;berhaupt Das hei&szlig;t, dass wir den Inhalt einer Abfrage aktualisieren k&ouml;nnen. Das ist nicht zwingend bei allen Abfragen der Fall. Je nachdem, wie die enthaltenen Tabellen und Felder sowie die Beziehungen zwischen den Feldern definiert sind, kann man die in der Abfrage enthaltenen Daten entweder einfach &uuml;ber die Benutzeroberfl&auml;che aktualisieren oder auch nicht. In diesem Artikel schauen wir uns einmal an, was den Unterschied zwischen aktualisierbaren und nicht aktualisierbaren Abfragen ausmacht und warum man diese Grenzen nicht zu weit ausreizen sollte.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels findest Du in der Datenbank <b>AbfragenBasics_AktualisierbareAbfragen.accdb<\/b>.<\/p>\n<h2>Woran erkennt man eine nicht aktualisierbare Abfrage<\/h2>\n<p>Wir gehen hier davon aus, dass wir uns die zu untersuchende Abfrage in der Datenblattansicht der jeweiligen Abfrage anschauen.<\/p>\n<p>Hier gibt es zun&auml;chst einmal ein eindeutiges Zeichen, das eine Abfrage nicht aktualisierbar ist, und zwar die Schaltfl&auml;che zum Anlegen eines neuen Datensatzes in der Navigationsleiste der Abfrage. Wenn diese aktiviert ist, dann ist auch die Abfrage aktualisierbar &#8211; wie bei der einfachen Abfrage auf Basis der Tabelle <b>tblBuecher <\/b>aus Bild 1.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_661_001.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_661_001.png\" alt=\"Aktualisierbare Abfrage\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Aktualisierbare Abfrage<\/p>\n<p>Scrollen wir weiter nach unten, entdecken wir einen neuen, leeren Datensatz &#8211; auch dies ist ein Merkmal einer aktualisierbaren Abfrage (siehe Bild 2).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_661_003.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_661_003.png\" alt=\"Ein weiteres Merkmal einer aktualisierbaren Abfrage\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Ein weiteres Merkmal einer aktualisierbaren Abfrage<\/p>\n<p>Die einfachste Art, eine Abfrage in eine nicht aktualisierbare Abfrage umzuwandeln, ist das Einstellen der Eigenschaft <b>Recordsettyp <\/b>in den Abfrage-Eigenschaften auf den Wert <b>Snapshot<\/b> (siehe Bild 3).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_661_002.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_661_002.png\" alt=\"Eine Snapshot-Abfrage ist nicht aktualisierbar.\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 3: Eine Snapshot-Abfrage ist nicht aktualisierbar.<\/p>\n<p>Wechseln wir danach in die Datenblattansicht, ist die Schaltfl&auml;che zum Anlegen eines neuen Datensatzes deaktiviert. Au&szlig;erdem ist auch die Zeile mit dem neuen, leeren Datensatz verschwunden (siehe Bild 4).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_661_004.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_661_004.png\" alt=\"Eine nicht aktualisierbare Abfrage\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 4: Eine nicht aktualisierbare Abfrage<\/p>\n<p>Doch hier soll es weniger um Abfragen gehen, die durch Einstellungen wie die oben genannte nicht aktualisierbar sind, sondern deren Entwurf daf&uuml;r sorgt, dass die Daten nicht mehr aktualisierbar sind. Dabei schauen wir uns genau an, was den Ausschlag daf&uuml;r gibt, ob eine Abfragen noch aktualisierbar ist oder nicht.<\/p>\n<h2>Nicht aktualisierbare Abfrageentw&uuml;rfe<\/h2>\n<p>Access ist ziemlich freigiebig, was die Regeln f&uuml;r Aktualisierbarkeit von Abfragen angeht. Das geht sogar soweit, dass wir in Abfragen, die ihre Daten aus mehr als einer Tabelle beziehen, auch die Inhalte aller enthaltenen Tabelle &auml;ndern k&ouml;nnen. Wir zeigen das an einem einfachen Beispiel. Dazu ziehen wir die beiden verkn&uuml;pften Tabellen <b>tblBuecher <\/b>und <b>tblVerlage <\/b>in eine neue, leere Abfrage und f&uuml;gen die Felder <b>Buch-ID<\/b>, <b>Buchtitel <\/b>und <b>VerlagID <\/b>aus der Tabelle <b>tblBuecher <\/b>sowie das Feld <b>Verlag <\/b>aus der Tabelle <b>tblVerlage <\/b>in das Entwurfsraster (siehe Bild 5).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_661_005.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_661_005.png\" alt=\"Entwurf einer aktualisierbaren Abfrage\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 5: Entwurf einer aktualisierbaren Abfrage<\/p>\n<p>Wenn wir nun in die Datenblattansicht wechseln, k&ouml;nnen wir die Datens&auml;tze bearbeiten. Dabei gibt es verschiedene Stufen:<\/p>\n<ul>\n<li>Wir k&ouml;nnen versuchen, nur ein neues Buch anzulegen, ohne eine Verlag dazu auszuw&auml;hlen. Das f&uuml;hrt zu der Meldung aus Bild 6.<\/li>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_661_006.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_661_006.png\" alt=\"Fehler beim Anf&uuml;gen eines Datensatzes ohne verkn&uuml;pften Datensatz\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 6: Fehler beim Anf&uuml;gen eines Datensatzes ohne verkn&uuml;pften Datensatz<\/p>\n<li>Wenn wir nun im Fremdschl&uuml;sselfeld <b>VerlagID <\/b>einen Verlag ausw&auml;hlen, wird dieser Verlag automatisch in das Feld <b>Verlag <\/b>der Tabelle <b>tblVerlage <\/b>aktualisiert.<\/li>\n<li>Wir k&ouml;nnen auch ein neues Buch und einen neuen Verlag gleichzeitig anlegen. Dazu geben wir den Titel des neuen Buchs in das Feld <b>Buchtitel <\/b>und den Namen des Verlags in das Feld <b>Verlag <\/b>ein und speichern den Datensatz. Der neue Verlag wird angelegt und automatisch f&uuml;r das Fremdsch&uuml;sselfeld <b>VerlagID <\/b>eingetragen (siehe Bild 7).<\/li>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_661_007.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_661_007.png\" alt=\"Neuanlage eines Buchs mit neuem Verlag &uuml;ber die Abfrage\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 7: Neuanlage eines Buchs mit neuem Verlag &uuml;ber die Abfrage<\/p>\n<li>Und die Flexibilit&auml;t geht noch weiter: Wir k&ouml;nnen sogar nur einen Wert in das Feld <b>Verlag <\/b>eintragen und den Datensatz speichern. Dies legt einen neue Datensatz in der Tabelle <b>tblVerlage<\/b> an, aber keinen in der Tabelle <b>tblBuecher<\/b> (siehe Bild 8).<\/li>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_661_008.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_661_008.png\" alt=\"Neuanlage nur eines Verlags &uuml;ber die Abfrage\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 8: Neuanlage nur eines Verlags &uuml;ber die Abfrage<\/p>\n<\/ul>\n<h2>Nicht benutzerfreundlich<\/h2>\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\/55000661\/\">\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\/55000661?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\/55000661\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"7c46eb013a\"\/>\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>Microsoft Access ist sehr gro&szlig;z&uuml;gig, was die Aktualisierbarkeit von Abfragen angeht. Was bedeutet Aktualisierbarkeit von Abfragen &uuml;berhaupt Das hei&szlig;t, dass wir den Inhalt einer Abfrage aktualisieren k&ouml;nnen. Das ist nicht zwingend bei allen Abfragen der Fall. Je nachdem, wie die enthaltenen Tabellen und Felder sowie die Beziehungen zwischen den Feldern definiert sind, kann man die in der Abfrage enthaltenen Daten entweder einfach &uuml;ber die Benutzeroberfl&auml;che aktualisieren oder auch nicht. In diesem Artikel schauen wir uns einmal an, was den Unterschied zwischen aktualisierbaren und nicht aktualisierbaren Abfragen ausmacht und warum man diese Grenzen nicht zu weit ausreizen sollte.<\/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":[662024,66032024,44000006],"tags":[],"class_list":["post-55000661","post","type-post","status-publish","format-standard","hentry","category-662024","category-66032024","category-Abfragen_fuer_die_Datenauswahl"],"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>Abfragen [basics]: Aktualisierbare Abfragen - Access [basics]<\/title>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Aktualisierbare_Abfragen.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Abfragen [basics]: Aktualisierbare Abfragen - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Microsoft Access ist sehr gro&szlig;z&uuml;gig, was die Aktualisierbarkeit von Abfragen angeht. Was bedeutet Aktualisierbarkeit von Abfragen &uuml;berhaupt Das hei&szlig;t, dass wir den Inhalt einer Abfrage aktualisieren k&ouml;nnen. Das ist nicht zwingend bei allen Abfragen der Fall. Je nachdem, wie die enthaltenen Tabellen und Felder sowie die Beziehungen zwischen den Feldern definiert sind, kann man die in der Abfrage enthaltenen Daten entweder einfach &uuml;ber die Benutzeroberfl&auml;che aktualisieren oder auch nicht. In diesem Artikel schauen wir uns einmal an, was den Unterschied zwischen aktualisierbaren und nicht aktualisierbaren Abfragen ausmacht und warum man diese Grenzen nicht zu weit ausreizen sollte.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Aktualisierbare_Abfragen.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2024-06-01T00:00:00+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_661_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=\"7\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\/Abfragen_basics_Aktualisierbare_Abfragen.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/pic_661_001.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Aktualisierbare_Abfragen.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Aktualisierbare_Abfragen.html\",\"name\":\"Abfragen [basics]: Aktualisierbare Abfragen - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Aktualisierbare_Abfragen.html#primaryimage\"},\"datePublished\":\"2024-06-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Aktualisierbare_Abfragen.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Aktualisierbare_Abfragen.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Aktualisierbare_Abfragen.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\/Abfragen_basics_Aktualisierbare_Abfragen.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Aktualisierbare_Abfragen.html\",\"name\":\"Abfragen [basics]: Aktualisierbare Abfragen\"}}]},{\"@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\/55000661","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=55000661"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000661\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000661"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000661"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}