Ein leidiges Thema für viele ...dann möchte man eine simple Datumsabfrage in seine SQL-Anweisung einbauen. Ist ja nicht schwer...meint man: Dim SQL As String Dim sDatum As String sDatum = "17.10.2001" SQL = "SELECT * FROM Termine WHERE Datum = '" + sDatum + "'"Sieht eigentlich überhaupt nicht verkehrt aus - die SQL-Anweisung - oder? Ist aber verkehrt, denn für Datumsabfragen muss man folgende SQL-Regeln beachten:
Und zur Veranschaulichung nachfolgend ein paar Beispiele: ' Alle Termine von HEUTE selektieren SQL = "SELECT * FROM Termine WHERE Datum = #" & _ Format$(Now, "m-d-yy") & "#" ' Alle Termine eines variablen Datums ermitteln Dim sDatum As Date ' Datum in den Typ Date umwandeln sDatum = CDate(txtDatum.Text) SQL = "SELECT * FROM Termine WHERE Datum = #" & _ Format$(sDatum, "m-d-yy") & "#" Nun kommt es aber bestimmt genauso häufig vor, dass man Daten nicht nach einem ganz bestimmten Datum (Tag) selektieren möchte, sondern für einen bestimmten Zeitraum - also von...bis. Hierzu bietet sich die SQL-Funktion BETWEEN..AND an! Die Syntax ist hierbei folgende: SELECT * FROM Tabelle WHERE Datum BETWEEN #m-d-yy# AND #m-d-yy#
Und auch hierfür noch ein Beispiel: Dim SQL As String Dim sDatumVon As Date Dim sDatumBis As Date ' Zeitraum txtVon.Text = "01.10.2001" txtBis.Text = "31.10.2001" ' Alle Termine eines bestimmten Zeitraums ermitteln sDatumVon = CDate(txtVon.Text) sDatumBis = CDate(txtBis.Text) ' SQL-Anweisung SQL = "SELECT * FROM Termine WHERE Datum BETWEEN #" & _ Format$(sDatumVon, "m-d-yy") & "# AND #" & _ Format$(sDatumBis, "m-d-yy") & "#" Wie gesagt, wenn Sie die beiden obigen Regeln beachten, sollte das leidige Thema der Datumsabfragen in SQL-Anweisungen ab sofort der Vergangenheit angehören Dieser Tipp wurde bereits 67.470 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Neu! sevEingabe 3.0 Einfach stark! Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |