{"id":55000102,"date":"2012-04-01T00:00:00","date_gmt":"2020-01-24T15:58:06","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=102"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Bestellungen_in_Tabellen_verwalten","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Bestellungen_in_Tabellen_verwalten.html","title":{"rendered":"Bestellungen in Tabellen verwalten"},"content":{"rendered":"<p class='introduction'>Das Verwalten von Bestellungen in einer Access-Datenbank ist f&uuml;r Einsteiger eine echte Herausforderung. Wer Kunden, Bestellungen, Bestellpositionen und Artikel sauber pflegen m&ouml;chte, braucht ein sauber normalisiertes Datenmodell &#8211; und eine Menge Hirnschmalz, damit alle Felder in den richtigen Tabellen landen. Dieser Artikel zeigt, wie Sie das Datenmodell aufbauen und welche Varianten es gibt.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1202_BestellungenInTabellen.mdb<\/b>.<\/p>\n<h2>Einfacher Ansatz<\/h2>\n<p>Dieser Artikel soll zun&auml;chst einmal den grunds&auml;tzlichen Umgang mit Bestellungen und den dabei anfallenden Daten erl&auml;utern. Es gibt unendlich viele Varianten, auf die wir hier (noch) nicht eingehen wollen &#8211; erstmal steht das grunds&auml;tzliche Verst&auml;ndnis der vorgestellten Konstellation auf dem Plan.<\/p>\n<h2>Artikel verwalten<\/h2>\n<p>Die erste Tabelle des in diesem Artikel beschriebenen Datenmodells soll die Artikeldaten speichern. Ob es sich bei diesen Artikeln um Produkte oder Dienstleistungen handelt, spielt keine Rolle &#8211; Tatsache ist, dass Sie diese m&ouml;glichst vielen Kunden &uuml;ber eine oder mehrere Bestellungen zuordnen m&ouml;chten.<\/p>\n<p>Welche Informationen speichert man also zu einem Artikel Das Sie ohne einen Prim&auml;rschl&uuml;ssel nicht auskommen, ist klar: Er ist das eindeutige Merkmal einer jeden Tabelle, &uuml;ber das Sie die Datens&auml;tze dieser Tabelle anderen Tabellen &uuml;ber ein Fremdschl&uuml;sselfeld zuordnen k&ouml;nnen. Dieses Feld soll in unserem Fall <b>ArtikelID <\/b>hei&szlig;en und als Autowertfeld ausgelegt werden. Dieses Feld legen Sie gleich nach dem Erstellen einer neuen Tabelle namens <b>tblArtikel <\/b>an.<\/p>\n<p>Das zweite wichtige Merkmal eines Artikels ist der Artikelname. Ein Feld namens <b>Artikelname <\/b>mit dem Datentyp <b>Text <\/b> und der Feldl&auml;nge <b>255 <\/b>speichert die Bezeichnungen der Artikel.<\/p>\n<p>Jeder Artikel hat nat&uuml;rlich einen Preis. Diesen legen wir in einem W&auml;hrungsfeld namens <b>Einzelpreis <\/b>fest. Schlie&szlig;lich kann es verschiedene Mehrwertsteuers&auml;tze geben, die in einem weiteren Feld namens <b>Mehrwertsteuersatz <\/b>landen sollen. Dieses Feld erh&auml;lt ebenfalls den Datentyp <b>W&auml;hrung <\/b>&#8211; dadurch erhalten Sie die notwendige Genauigkeit f&uuml;r sp&auml;tere Berechnungen der Brutto- und Netto-Rechnungsbetr&auml;ge (siehe Bild 1).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_102_001.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_102_001.png\" alt=\"Entwurf der Tabelle tblArtikel\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Entwurf der Tabelle tblArtikel<\/p>\n<p>Der Mehrwertsteuersatz soll allerdings nicht mit dem W&auml;hrungszeichen versehen werden, sondern als Prozentzahl angezeigt werden. Dazu stellen Sie die Eigenschaft <b>Format <\/b>des Feldes in der Entwurfsansicht der Tabelle auf den Wert <b>Prozentzahl <\/b>ein.<\/p>\n<p>Wenn Sie tats&auml;chlich nur Bestellungen verwalten m&ouml;chten, was hier der Fall ist, reichen diese Felder bereits aus. Varianten, die weitere Informationen erfordern, besprechen wir in weiteren Artikeln. Dort geht es etwa um Artikelbest&auml;nde, Nachbestellungen, Artikelkategorien und Lieferanten.<\/p>\n<h2>Kunden verwalten<\/h2>\n<p>Zu einer Bestellung geh&ouml;rt selbstverst&auml;ndlich ein Kunde. Diesen wollen wir auf die einfachste Art und Weise anlegen, und zwar mit einer einzigen Anschrift statt mit mehreren Varianten wie Liefer- oder Rechnungsanschrift. Diese Tabelle hei&szlig;t <b>tblKunde <\/b>und enth&auml;lt die folgenden Felder:<\/p>\n<ul>\n<li><b>KundeID<\/b>: Prim&auml;rschl&uuml;sselfeld der Tabelle<\/li>\n<li><b>Firma<\/b>: Firma des Kunden<\/li>\n<li><b>AnredeID<\/b>: Fremdschl&uuml;sselfeld zur Auswahl eines der Datens&auml;tze der Tabelle <b>tblAnreden<\/b><\/li>\n<li><b>Vorname<\/b>: Vorname des Kunden<\/li>\n<li><b>Nachname<\/b>: Nachname des Kunden<\/li>\n<li><b>Bezeichnung<\/b>: Eindeutige Bezeichnung, die je nach den vorhandenen Daten aus Firmenname, Vorname, Nachname, Anrede oder Kundennummer zusammengesetzt werden kann.<\/li>\n<li><b>Strasse<\/b>: Stra&szlig;e des Kunden<\/li>\n<li><b>PLZ<\/b>: PLZ des Kunden<\/li>\n<li><b>Ort<\/b>: Ort des Kunden<\/li>\n<li><b>Land<\/b>: Land des Kunden<\/li>\n<li><b>EMail<\/b>: E-Mail-Adresse des Kunden<\/li>\n<li><b>Telefon<\/b>: Telefonnummer des Kunden<\/li>\n<li><b>Telefax<\/b>: Telefaxnummer des Kunden<\/li>\n<li><b>Mobil<\/b>: Handynummer des Kunden<\/li>\n<\/ul>\n<p>Um das Datenmodell bez&uuml;glich der Kunden zu komplettieren, h&auml;ngen wir noch die Tabelle <b>tblAnreden <\/b>an, welche die Daten f&uuml;r das Feld <b>AnredeID <\/b>liefert. Zusammen sehen diese beiden Tabellen dann wie in Bild 2 aus.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_102_002.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_102_002.png\" alt=\"Die beiden Tabellen tblKunden und tblAnreden enthalten die Kundendaten.\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Die beiden Tabellen tblKunden und tblAnreden enthalten die Kundendaten.<\/p>\n<p>Eine Erweiterung dieser Kundentabelle k&ouml;nnte aus Feldern f&uuml;r eine zweite Adresse bestehen, die dann entweder als abweichende Liefer- oder Rechnungsadresse dient. Der Einfachheit halber gehen wie in diesem Artikel jedoch davon aus, dass die Kunden nur eine Anschrift als Liefer- und Rechnungsadresse verwenden.<\/p>\n<h2>Bestellungen verwalten<\/h2>\n<p>Welche Daten m&uuml;ssen Sie &uuml;berhaupt speichern, um eine Bestellung aufzunehmen Gibt es &uuml;berhaupt je Bestellung einen Datensatz oder m&uuml;ssen wir sogar mehrere Datens&auml;tze pro Bestellung anlegen, um auch die einzelnen Artikel pro Bestellung zu erfassen Wir m&uuml;ssen beides ber&uuml;cksichtigen: Nat&uuml;rlich gibt es pro Bestellung Daten, die nur einmal erfasst werden m&uuml;ssen, da diese f&uuml;r alle Artikel der Bestellung gleich sind &#8211; zum Beispiel der Kunde oder das Bestelldatum. Zu einer Bestellung geh&ouml;ren aber oft auch mehr als ein Artikel &#8211; auf diesen Punkt kommen wir sp&auml;ter zu sprechen. Als erstes legen wir eine Tabelle an, mit der Sie die Basisdaten einer jeden Bestellung erfassen.<\/p>\n<p>Als Erstes ben&ouml;tigen Sie ein Prim&auml;rschl&uuml;sselfeld, dass jede Bestellung eindeutig identifiziert. Danach legen Sie fest, welcher Kunde die Bestellung aufgibt. Dies erledigen Sie, indem Sie ein Fremdschl&uuml;sselfeld namens <b>KundeID <\/b>einrichten und dieses mit den Datens&auml;tzen der Tabelle <b>tblKunden <\/b>verkn&uuml;pfen.<\/p>\n<p>Wann wurde die Bestellung aufgegeben Diese Frage beantworten wir in einem Datumsfeld namens <b>Bestelldatum<\/b>. Mehr ben&ouml;tigen wir zun&auml;chst nicht: Wir gehen zun&auml;chst davon aus, dass Sie die Bestellungen allein erfassen beziehungsweise dass die Anwendung nicht von verschiedenen Mitarbeitern verwendet wird. Daher pflegen wir keine Mitarbeiter-Tabelle in das Datenmodell ein.<\/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\/55000102\/\">\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\/55000102?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\/55000102\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"22c77db969\"\/>\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>Das Verwalten von Bestellungen in einer Access-Datenbank ist f&uuml;r Einsteiger eine echte Herausforderung. Wer Kunden, Bestellungen, Bestellpositionen und Artikel sauber pflegen m&ouml;chte, braucht ein sauber normalisiertes Datenmodell &#8211; und eine Menge Hirnschmalz, damit alle Felder in den richtigen Tabellen landen. Dieser Artikel zeigt, wie Sie das Datenmodell aufbauen und welche Varianten es gibt.<\/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":[66022012,662012,44000003],"tags":[],"class_list":["post-55000102","post","type-post","status-publish","format-standard","hentry","category-66022012","category-662012","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>Bestellungen in Tabellen verwalten - Access [basics]<\/title>\n<meta name=\"description\" content=\"Das Verwalten von Bestellungen in einer Access-Datenbank ist f\u00fcr Einsteiger eine echte Herausforderung. Wer Kunden, Bestellungen, Bestellpositionen und Artikel sauber pflegen m\u00f6chte, braucht ein sauber normalisiertes Datenmodell \u2013 und eine Menge Hirnschmalz, damit alle Felder in den richtigen Tabellen landen. Dieser Artikel zeigt, wie Sie das Datenmodell aufbauen und welche Varianten es gibt.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Bestellungen_in_Tabellen_verwalten.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bestellungen in Tabellen verwalten - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Das Verwalten von Bestellungen in einer Access-Datenbank ist f\u00fcr Einsteiger eine echte Herausforderung. Wer Kunden, Bestellungen, Bestellpositionen und Artikel sauber pflegen m\u00f6chte, braucht ein sauber normalisiertes Datenmodell \u2013 und eine Menge Hirnschmalz, damit alle Felder in den richtigen Tabellen landen. Dieser Artikel zeigt, wie Sie das Datenmodell aufbauen und welche Varianten es gibt.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Bestellungen_in_Tabellen_verwalten.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-24T15:58:06+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_102_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=\"12\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\/Bestellungen_in_Tabellen_verwalten.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/pic_102_001.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Bestellungen_in_Tabellen_verwalten.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Bestellungen_in_Tabellen_verwalten.html\",\"name\":\"Bestellungen in Tabellen verwalten - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Bestellungen_in_Tabellen_verwalten.html#primaryimage\"},\"datePublished\":\"2020-01-24T15:58:06+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Das Verwalten von Bestellungen in einer Access-Datenbank ist f\\u00fcr Einsteiger eine echte Herausforderung. Wer Kunden, Bestellungen, Bestellpositionen und Artikel sauber pflegen m\\u00f6chte, braucht ein sauber normalisiertes Datenmodell \\u2013 und eine Menge Hirnschmalz, damit alle Felder in den richtigen Tabellen landen. Dieser Artikel zeigt, wie Sie das Datenmodell aufbauen und welche Varianten es gibt.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Bestellungen_in_Tabellen_verwalten.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Bestellungen_in_Tabellen_verwalten.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Bestellungen_in_Tabellen_verwalten.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\/Bestellungen_in_Tabellen_verwalten.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Bestellungen_in_Tabellen_verwalten.html\",\"name\":\"Bestellungen in Tabellen verwalten\"}}]},{\"@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\/55000102","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=55000102"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000102\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}