{"id":55000226,"date":"2014-12-01T00:00:00","date_gmt":"2020-01-24T15:59:03","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=226"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Autowerte","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Autowerte.html","title":{"rendered":"Autowerte"},"content":{"rendered":"<p class='introduction'>Access macht es dem Datenbankprogrammierer bei Anlegen von neuen Datens&auml;tzen sehr leicht: Es vergibt, wenn man dies so definiert hat, automatische Werte f&uuml;r bestimmte Felder eines Datensatzes. In der Regel ist dieses Feld identisch mit dem Prim&auml;rschl&uuml;sselfeld, was auch durchaus sinnvoll ist &#8211; liefert die Autowert-Funktion von Access doch standardm&auml;&szlig;ig einen Wert, der um eins gr&ouml;&szlig;er als der bisher gr&ouml;&szlig;te Wert ist. Es gibt aber auch andere Einstellungen. Dieser Artikel wirft einen genauen Blick auf Autowerte in Access.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1312_Autowerte.mdb<\/b>.<\/p>\n<h2>Autowert anlegen<\/h2>\n<p>Wer schon ein paar Tabellen unter Access angelegt hat, verwendet diese Funktion wahrscheinlich bereits wie im Schlaf: Sie legen eine neue Tabelle an und f&uuml;gen zun&auml;chst ein Feld hinzu, das als Prim&auml;rschl&uuml;sselfeld dient und somit als Feld mit eindeutigen Werten.<\/p>\n<p>Dies gew&auml;hrleistet, dass jeder Datensatz zumindest anhand eines Feldes eindeutig identifiziert werden kann.<\/p>\n<p>Damit dieses Feld auch zuverl&auml;ssig mit einem bisher noch nicht vorhandenen Wert gef&uuml;llt wird, gibt es unter Access den Felddatentyp <b>Autowert<\/b>. Diesen legen Sie f&uuml;r das Prim&auml;rschl&uuml;sselwert fest, in der Beispieldatenbank etwa f&uuml;r das Feld <b>AutowertID <\/b>der Tabelle <b>tblAutowerte <\/b>(siehe Bild 1).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_226_001.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_226_001.png\" alt=\"Anlegen einer Tabelle mit einem Autowert\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Anlegen einer Tabelle mit einem Autowert<\/p>\n<p>Nachdem Sie dies erledigt haben, k&ouml;nnen Sie zur Datenblattansicht der Tabelle wechseln. Dort finden Sie nicht nur einen leeren Datensatz vor, sondern auch noch den Text <b>(Neu) <\/b>im Feld <b>AutowertID<\/b> (siehe Bild 2).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_226_002.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_226_002.png\" alt=\"Das Autowert-Feld zeigt den Eintrag (Neu) an.\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Das Autowert-Feld zeigt den Eintrag (Neu) an.<\/p>\n<p>Dieser &auml;ndert sich auch erst, nachdem Sie das erste Feld des frischen Datensatzes ge&auml;ndert haben. Das <b>Autowert<\/b>-Feld erh&auml;lt dann, wenn die Tabelle bis dahin noch jungfr&auml;ulich war, den Wert <b>1<\/b> (siehe Bild 3).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_226_003.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_226_003.png\" alt=\"Er wird eingef&uuml;gt, sobald der Datensatz ge&auml;ndert wurde.\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 3: Er wird eingef&uuml;gt, sobald der Datensatz ge&auml;ndert wurde.<\/p>\n<p>Dieser Wert ist allerdings, wie der komplette Datensatz, noch nicht in der Tabelle gespeichert &#8211; dies geschieht erst, wenn Sie den Datensatz tats&auml;chlich entweder durch einen Mausklick auf den Datensatzmarkierer des betroffenen Datensatzes oder durch Verlassen des ge&auml;nderten Datensatzes in der zugrunde liegenden Tabelle speichern (siehe Bild 4).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_226_004.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_226_004.png\" alt=\"Weitere Datens&auml;tze erhalten den bisher gr&ouml;&szlig;ten Wert plus eins als Autowert.\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 4: Weitere Datens&auml;tze erhalten den bisher gr&ouml;&szlig;ten Wert plus eins als Autowert.<\/p>\n<h2>L&uuml;ckenlos<\/h2>\n<p>Dies geht nun so weiter &#8211; und wenn Sie keinen Datensatz l&ouml;schen, erhalten Sie eine wundersch&ouml;ne l&uuml;ckenlose Reihe von Prim&auml;rschl&uuml;sselwerten (siehe Bild 5).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_226_005.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_226_005.png\" alt=\"Sch&ouml;n durchnummerierte Datens&auml;tze\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 5: Sch&ouml;n durchnummerierte Datens&auml;tze<\/p>\n<p>Dummerweise ist es damit vorbei, sobald Sie den ersten Datensatz l&ouml;schen (siehe Bild 6). Aber was soll man an dieser Stelle sonst erwarten &#8211; wohl kaum, dass Access die Nummerierung der nachfolgenden Datens&auml;tze so &auml;ndert, dass sich die L&uuml;cke wieder schlie&szlig;t.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_226_006.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_226_006.png\" alt=\"Aber wehe, ein Datensatz wird gel&ouml;scht!\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 6: Aber wehe, ein Datensatz wird gel&ouml;scht!<\/p>\n<p>So mancher mag aber erwarten, dass zumindest der folgende Datensatz einen Autowert erh&auml;lt, der die l&uuml;ckenlose Nummierung wiederherstellt. Das ist jedoch mitnichten der Fall: Der folgende Autowert orientiert sich brav an dem bisher gr&ouml;&szlig;ten vergebenen Wert und f&uuml;gt diesem noch den Wert <b>1 <\/b>hinzu (siehe Bild 7).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_226_007.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_226_007.png\" alt=\"Die entstandene L&uuml;cke wird durch einen neuen Datensatz nicht geschlossen.\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 7: Die entstandene L&uuml;cke wird durch einen neuen Datensatz nicht geschlossen.<\/p>\n<h2>Anf&uuml;gen nach L&ouml;schen<\/h2>\n<p>Wenn Sie nun den zuletzt angef&uuml;gten Datensatz l&ouml;schen, k&ouml;nnten Sie zumindest theoretisch erwarten, dass Access den neuen Datensatz &#8211; wie auch die vorherigen Datens&auml;tze &#8211; wieder mit dem aktuell gr&ouml;&szlig;ten Prim&auml;rschl&uuml;sselwert plus eins versieht.<\/p>\n<p>Das L&ouml;schen des letzten und das erneute Anf&uuml;gen eines Datensatzes liefert allerdings eine Entt&auml;uschung: Der neue Datensatz erh&auml;lt nicht den Prim&auml;rschl&uuml;sselwert des zuvor gel&ouml;schten Datensatzes, sondern den um eins erh&ouml;hten Wert (siehe Bild 8).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_226_008.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_226_008.png\" alt=\"Nach dem L&ouml;schen des letzten Datensatzes wird dessen Autowert nicht neu vergeben.\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 8: Nach dem L&ouml;schen des letzten Datensatzes wird dessen Autowert nicht neu vergeben.<\/p>\n<h2>Tabelle zur&uuml;cksetzen<\/h2>\n<p>Dummerweise geschieht das Gleiche nicht nur, wenn Sie nur ein oder mehrere Datens&auml;tze am Ende einer Tabelle l&ouml;schen, sondern auch dann, wenn Sie alle Datens&auml;tze l&ouml;schen &#8211; beispielsweise, um eine bislang mit Testdaten gef&uuml;llte Datenbank zu leeren und diese dem Kunden zu &uuml;bergeben.<\/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\/55000226\/\">\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\/55000226?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\/55000226\/\"\/>\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>Access macht es dem Datenbankprogrammierer bei Anlegen von neuen Datens&auml;tzen sehr leicht: Es vergibt, wenn man dies so definiert hat, automatische Werte f&uuml;r bestimmte Felder eines Datensatzes. In der Regel ist dieses Feld identisch mit dem Prim&auml;rschl&uuml;sselfeld, was auch durchaus sinnvoll ist &#8211; liefert die Autowert-Funktion von Access doch standardm&auml;&szlig;ig einen Wert, der um eins gr&ouml;&szlig;er als der bisher gr&ouml;&szlig;te Wert ist. Es gibt aber auch andere Einstellungen. Dieser Artikel wirft einen genauen Blick auf Autowerte in Access.<\/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":[66122013,662013,44000003],"tags":[],"class_list":["post-55000226","post","type-post","status-publish","format-standard","hentry","category-66122013","category-662013","category-Tabellen_entwerfen"],"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>Autowerte - Access [basics]<\/title>\n<meta name=\"description\" content=\"Access macht es dem Datenbankprogrammierer bei Anlegen von neuen Datens\u00e4tzen sehr leicht: Es vergibt, wenn man dies so definiert hat, automatische Werte f\u00fcr bestimmte Felder eines Datensatzes. In der Regel ist dieses Feld identisch mit dem Prim\u00e4rschl\u00fcsselfeld, was auch durchaus sinnvoll ist \u2013 liefert die Autowert-Funktion von Access doch standardm\u00e4\u00dfig einen Wert, der um eins gr\u00f6\u00dfer als der bisher gr\u00f6\u00dfte Wert ist. Es gibt aber auch andere Einstellungen. Dieser Artikel wirft einen genauen Blick auf Autowerte in Access.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Autowerte.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Autowerte - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Access macht es dem Datenbankprogrammierer bei Anlegen von neuen Datens\u00e4tzen sehr leicht: Es vergibt, wenn man dies so definiert hat, automatische Werte f\u00fcr bestimmte Felder eines Datensatzes. In der Regel ist dieses Feld identisch mit dem Prim\u00e4rschl\u00fcsselfeld, was auch durchaus sinnvoll ist \u2013 liefert die Autowert-Funktion von Access doch standardm\u00e4\u00dfig einen Wert, der um eins gr\u00f6\u00dfer als der bisher gr\u00f6\u00dfte Wert ist. Es gibt aber auch andere Einstellungen. Dieser Artikel wirft einen genauen Blick auf Autowerte in Access.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Autowerte.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-24T15:59:03+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_226_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=\"11\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\/Autowerte.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/pic_226_001.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Autowerte.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Autowerte.html\",\"name\":\"Autowerte - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Autowerte.html#primaryimage\"},\"datePublished\":\"2020-01-24T15:59:03+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Access macht es dem Datenbankprogrammierer bei Anlegen von neuen Datens\\u00e4tzen sehr leicht: Es vergibt, wenn man dies so definiert hat, automatische Werte f\\u00fcr bestimmte Felder eines Datensatzes. In der Regel ist dieses Feld identisch mit dem Prim\\u00e4rschl\\u00fcsselfeld, was auch durchaus sinnvoll ist \\u2013 liefert die Autowert-Funktion von Access doch standardm\\u00e4\\u00dfig einen Wert, der um eins gr\\u00f6\\u00dfer als der bisher gr\\u00f6\\u00dfte Wert ist. Es gibt aber auch andere Einstellungen. Dieser Artikel wirft einen genauen Blick auf Autowerte in Access.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Autowerte.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Autowerte.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Autowerte.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\/Autowerte.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Autowerte.html\",\"name\":\"Autowerte\"}}]},{\"@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\/55000226","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=55000226"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000226\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000226"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000226"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}