{"id":55000592,"date":"2022-10-01T00:00:00","date_gmt":"2022-10-01T00:00:00","guid":{"rendered":"http:\/\/access-basics.de\/592"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Abfragen_basics_Nach_Datumsfeldern_filtern","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Nach_Datumsfeldern_filtern.html","title":{"rendered":"Abfragen [basics]: Nach Datumsfeldern filtern"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg07.met.vgwort.de\/na\/fbbeb8d51fa649fe90409ab0b7fc9ce0\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p class='introduction'>Das Filtern ist eine der wichtigsten Funktionen von Abfragen. In anderen Artikeln haben wir bereits gezeigt, welche Besonderheiten das Filtern von Textfeldern und Zahlenfeldern mit sich bringt. Im vorliegenden Artikel schauen wir uns das Filtern von Datens&auml;tzen nach dem Wert von Datumsfeldern an. M&ouml;gliche Kriterien sind ein bestimmtes Datum, die Zeit ab oder bis zu einem Datum, die Zeit zwischen zwei Daten, der heutige Tag, ein bestimmter Monat oder ein bestimmtes Jahr und viele mehr.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>2205_NachDatumFiltern.accdb<\/b>.<\/p>\n<h2>Unterscheidung: Daten mit und ohne Uhrzeit<\/h2>\n<p>Bevor wir in die verschiedenen M&ouml;glichkeiten zum Filtern von Datens&auml;tzen nach der Datumsangabe in einem Feld einsteigen, m&uuml;ssen wir einen wichtigen Unterschied kl&auml;ren: Es gibt Datumsangaben mit und ohne Uhrzeit. Der Grund f&uuml;r diese Unterscheidung ist, wie Access Datumsangaben intern speichert. Dazu m&uuml;ssen wir au&szlig;erdem wissen, dass die Ausgabe von Datumsangaben nur eine Formatierung von Double-Zahlen in einem bestimmten Format ist.<\/p>\n<p>Intern werden Datumsangaben also als Zahlen des Datentyps <b>Double <\/b>gespeichert. Dabei geben die Stellen vor dem Komma die Anzahl der Tage seit dem 30.12.1899 an. Der Wert <b>1 <\/b>entspricht also beispielsweise dem 31.12.1899, der Wert <b>44763 <\/b>dem Datum 21.7.2022. Die Uhrzeit wird in den Nachkommastellen des <b>Double<\/b>-Wertes als Bruchteil eines Tages gespeichert. Haben wir keine Nachkommastellen, entspricht dies 0:00 Uhr. Lauten die Nachkommastellen 0,25, entspricht dies 6:00 Uhr und 0,5 entspricht 12:00 Uhr. <\/p>\n<p>Fassen wir das mit dem Datum beziehungsweise der Zahl vor dem Komma zusammen, entspricht der Wert 44763,75 also beispielsweise 21.7.2022 18:00:00 Uhr.<\/p>\n<p>Wir gehen in den folgenden Beispielen zun&auml;chst von reinen Datumsangaben ohne Angabe der Uhrzeit aus,  was zwar von Access in einer Tabelle als reines Datum angezeigt wird, aber eigentlich dem jeweiligen Datum plus der Zeitangabe 0:00:00 Uhr entspricht. Wenn wir jedoch Vergleiche  mit Datumsangaben ohne Uhrzeit anstellen wollen, ist es wichtig, dass alle Werte ohne Uhrzeit kommen.<\/p>\n<p>Wenn wir sonst wissen wollen, welche Bestellungen alle am <b>21.7.2022 <\/b>erfolgt sind und wir speichern die Bestellungen mit Uhrzeit in dem Feld <b>BestelltAm <\/b>der Bestellungentabelle, also beispielsweise <b>21.7.2022 6:00:00<\/b>, dann wird diese Bestellung nicht im Ergebnis auftauchen &#8211; denn intern sucht Access nach Datens&auml;tzen, die im Feld <b>BestelltAm<\/b> den Wert <b>44763 <\/b>enthalten, aber es liegt nur eines mit dem Wert <b>44763,25 <\/b>vor.<\/p>\n<p>Also nutzen wir f&uuml;r die ersten Beispiele ein Feld, das nur reine Datumsangaben ohne Uhrzeit beziehungsweise Nachkommastellen enth&auml;lt (siehe Bild 1).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_592_001.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_592_001.png\" alt=\"Tabelle mit einem Datumsfeld ohne Uhrzeit\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Tabelle mit einem Datumsfeld ohne Uhrzeit<\/p>\n<h2>Genaues Datum<\/h2>\n<p>Die erste und einfachste Variante ist das Auffinden von Datens&auml;tzen, die in einem Feld ein bestimmtes Datum enthalten.<\/p>\n<p>Wenn wir in der obigen Tabelle nach allen Bestellungen vom 2.6.2021 suchen wollen, geben wir diesen Wert in die Zeile <b>Kriterien <\/b>f&uuml;r die Spalte <b>BestelltAm <\/b>ein (siehe Bild 2).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_592_002.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_592_002.png\" alt=\"Datum als Vergleichswert\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Datum als Vergleichswert<\/p>\n<p>Direkt nachdem wir die Eingabe abschlie&szlig;en, indem wir in eine andere Zeile oder Spalte klicken, &auml;ndert Access den Wert 2.6.2021 automatisch in den folgenden Wert um:<\/p>\n<pre>#02.06.2021#<\/pre>\n<p>Es erg&auml;nzt also vorn und hinten eine Raute und f&uuml;llt die Angabe f&uuml;r die Tage und Monate mit <b>0 <\/b>auf. Dies ist das offizielle Format f&uuml;r die Eingabe von Datumsangaben in Abfragevergleichswerten.<\/p>\n<p>Gibst Du die Rauten direkt mit ein, wei&szlig; Access, dass Du ein Datum als Vergleichswert nutzen m&ouml;chtest und pr&uuml;ft dieses direkt bei der Eingabe.<\/p>\n<h2>Nicht dieses Datum<\/h2>\n<p>Wollen wir alle Datens&auml;tze ermitteln, deren Bestelldatum gerade nicht an dem angegebenen Datum bestellt wurden, verwenden wir das folgende Kriterium f&uuml;r das Feld <b>BestelltAm<\/b>:<\/p>\n<pre>Nicht #02.06.2021#<\/pre>\n<h2>Vor einem bestimmten Datum<\/h2>\n<p>Um alle Datens&auml;tze abzufragen, deren Bestelldatum vor einem bestimmten Datum liegt, verwenden wir einen Vergleichsausdruck mit dem <b>Kleiner<\/b>-Zeichen:<\/p>\n<pre>&lt;#9.06.2021#<\/pre>\n<h2>Bis zu einem bestimmten Datum<\/h2>\n<p>Wenn wir hier auch noch das angegebene Datum einschlie&szlig;en wollen, nutzen wir statt dem <b>Kleiner<\/b>-Operator zus&auml;tzlich noch das Gleichheitszeichen:<\/p>\n<pre>&lt;=#09.06.2021#<\/pre>\n<h2>Nach einem bestimmten Datum<\/h2>\n<p>F&uuml;r Bestellungen, die nach einem bestimmten Datum liegen, setzen wir den <b>Gr&ouml;&szlig;er<\/b>-Vergleichsoperator ein:<\/p>\n<pre>&gt;#09.06.2021#<\/pre>\n<h2>Ab einem bestimmten Datum<\/h2>\n<p>Wenn wir das jeweilige Datum noch mit einschlie&szlig;en wollen, verwenden wir den Gr&ouml;&szlig;er-Gleich-Operator:<\/p>\n<pre>&gt;=#09.06.2021#<\/pre>\n<h2>Zwischen zwei Daten<\/h2>\n<p>F&uuml;r Bestellungen, die nach einem bestimmten Datum und vor einem anderen Datum liegen, verkn&uuml;pfen wir zwei Bedingungen mit dem <b>Und<\/b>-Operator:<\/p>\n<pre>&gt;#09.06.2021# Und &lt;#20.06.2021#<\/pre>\n<h2>Von Datum bis Datum<\/h2>\n<p>Wollen wir auch noch die Bestellungen erhalten, die am ersten und letzten Datum des angegebenen Zeitraums erfolgt sind, geben wir jeweils das Gleichheitszeichen hinzu:<\/p>\n<pre>&gt;=#09.06.2021# Und &lt;=#20.06.2021#<\/pre>\n<h2>Von Datum bis Datum mit Zwischen&#8230;Und&#8230;<\/h2>\n<p>Gleichbedeutend mit <b>>=&#8230; Und <=... <\/b>ist der <b>Zwischen&#8230;Und&#8230;<\/b>-Operator. Diesen formulieren wir f&uuml;r den gleichen Zeitraum wie folgt:<\/p>\n<pre>Zwischen #09.06.2021# Und #20.06.2021#<\/pre>\n<h2>Nicht in einem bestimmten Bereich<\/h2>\n<p>Wenn wir alle Bestellungen erhalten wollen, die nicht in dem zuvor definierten Bereich liegen, f&uuml;gen wir nur das Nicht-Schl&uuml;sselwort vorne an und schlie&szlig;en so alle Datens&auml;tze aus diesem Bereich aus:<\/p>\n<pre>Nicht Zwischen #09.06.2021# Und #20.06.2021#<\/pre>\n<p>Das k&ouml;nnen wir mit Gr&ouml;&szlig;er gleich und Kleiner gleich nicht wie folgt analog formulieren:<\/p>\n<pre>Nicht &gt;=#09.06.2021# Und &lt;=#20.06.2021#<\/pre>\n<p>Dies liefert n&auml;mlich alle Datens&auml;tze, die nicht ab dem <b>9.6.2021 <\/b>und bis einschlie&szlig;lich <b>20.6.2021 <\/b>bestellt wurden.<\/p>\n<p>Der Grund ist, dass das Schl&uuml;sselwort Nicht nur f&uuml;r den ersten Teil vor dem Und-Operator angewendet wird. Wir erhalten also alle Bestellungen, die nicht ab dem <b>9.6.2021 <\/b>erfolgten, die also vor dem <b>9.6.2021 <\/b>ausgel&ouml;st wurden.<\/p>\n<p>Das gew&uuml;nschte Ergebnis erhalten wir, wenn wir den auszuschlie&szlig;enden Bereich wie folgt in Klammern setzen:<\/p>\n<pre>Nicht (&gt;=#09.06.2021# Und &lt;=#20.06.2021#)<\/pre>\n<h2>Bestellungen von mehreren, nicht zwingend zusammenh&auml;ngenden Datumsangaben<\/h2>\n<p>Wenn wir die Bestellungen beispielsweise vom <b>5.6.2021 <\/b>und vom <b>9.6.2021 <\/b>erhalten wollen, k&ouml;nnen wir die beiden Vergleichsausdr&uuml;cke mit <b>Oder <\/b>verkn&uuml;pfen:<\/p>\n<pre>#05.06.2021# Oder #09.06.2021#<\/pre>\n<p>Auf diese Weise k&ouml;nnen wir auch noch mehrere Datumsangaben mit <b>Oder <\/b>hinzuf&uuml;gen.<\/p>\n<h2>Mehrere Datumsangaben mit In<\/h2>\n<p>Wir k&ouml;nnen dies aber auch mit der In-Klausel erledigen. Hier geben wir die gesuchten Datumsangaben durch Semikola getrennt in Klammern an:<\/p>\n<pre>In (#05.06.2021#;#09.06.2021#)<\/pre>\n<p>Auch hier k&ouml;nnen wir beliebig viele weitere Datumsangaben hinzuf&uuml;gen.<\/p>\n<h2>Bestellungen des heutigen Tages<\/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\/55000592\/\">\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\/55000592?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\/55000592\/\"\/>\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>Das Filtern ist eine der wichtigsten Funktionen von Abfragen. In anderen Artikeln haben wir bereits gezeigt, welche Besonderheiten das Filtern von Textfeldern und Zahlenfeldern mit sich bringt. Im vorliegenden Artikel schauen wir uns das Filtern von Datens&auml;tzen nach dem Wert von Datumsfeldern an. M&ouml;gliche Kriterien sind ein bestimmtes Datum, die Zeit ab oder bis zu einem Datum, die Zeit zwischen zwei Daten, der heutige Tag, ein bestimmter Monat oder ein bestimmtes Jahr und viele mehr.<\/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":[662022,66052022,44000006],"tags":[],"class_list":["post-55000592","post","type-post","status-publish","format-standard","hentry","category-662022","category-66052022","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]: Nach Datumsfeldern filtern - Access [basics]<\/title>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Nach_Datumsfeldern_filtern.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Abfragen [basics]: Nach Datumsfeldern filtern - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Das Filtern ist eine der wichtigsten Funktionen von Abfragen. In anderen Artikeln haben wir bereits gezeigt, welche Besonderheiten das Filtern von Textfeldern und Zahlenfeldern mit sich bringt. Im vorliegenden Artikel schauen wir uns das Filtern von Datens&auml;tzen nach dem Wert von Datumsfeldern an. M&ouml;gliche Kriterien sind ein bestimmtes Datum, die Zeit ab oder bis zu einem Datum, die Zeit zwischen zwei Daten, der heutige Tag, ein bestimmter Monat oder ein bestimmtes Jahr und viele mehr.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Nach_Datumsfeldern_filtern.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-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:\/\/vg07.met.vgwort.de\/na\/fbbeb8d51fa649fe90409ab0b7fc9ce0\" \/>\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\/Abfragen_basics_Nach_Datumsfeldern_filtern.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"http:\/\/vg07.met.vgwort.de\/na\/fbbeb8d51fa649fe90409ab0b7fc9ce0\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Nach_Datumsfeldern_filtern.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Nach_Datumsfeldern_filtern.html\",\"name\":\"Abfragen [basics]: Nach Datumsfeldern filtern - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Nach_Datumsfeldern_filtern.html#primaryimage\"},\"datePublished\":\"2022-10-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_Nach_Datumsfeldern_filtern.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Nach_Datumsfeldern_filtern.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Nach_Datumsfeldern_filtern.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_Nach_Datumsfeldern_filtern.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Abfragen_basics_Nach_Datumsfeldern_filtern.html\",\"name\":\"Abfragen [basics]: Nach Datumsfeldern filtern\"}}]},{\"@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\/55000592","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=55000592"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000592\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000592"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000592"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000592"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}