Aktuelles Tagesdatum ohne Uhrzeit in Abfrage Generator

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Aktuelles Tagesdatum ohne Uhrzeit in Abfrage Generator

    Hallo zusammen,

    ich erstelle ein Tool zur Gästeverwaltung. Hier habe ich einen DataGridView in dem die angemeldeten Gäste angezeigt werden sollen.
    Im Abfrage Generator habe ich folgendes Problem.

    Ich möchte alle Datensätze anzeigen die kleiner / gleich und größer / gleich heute sind.

    Wenn ich als Filter Now() nehme, werden zwar Datensätze angezeigt, nur die von heute (gültig von 03.03.2015 bis 03.03.2015) werden nicht angezeigt, da für die Abfrage der Datensatz in der Datenbank die Uhrzeit 00:00:00 hat.

    Today funktioniert nicht da kommt die Fehlermeldung im Bild.



    CDate(Now()) hat funktioniert aber da kamen die selben Ergebnisse wie Now() alleine.

    Kann mir jemand von euch hier bitte weiterhelfen.


    Vielen Dank

    Sebastian
    Dass es Today nicht gibt habe ich rausgefunden und verstanden.
    Auch weiß ich, dass bei jedem Provider SQL etwas anders funktioniert (Syntax, Funktionen).
    Ich habe die letzten Jahre mit Ingres gearbeitet, hier gibt es eine Today Funktion.

    Ich benötige nur das Datum ohne die Uhrzeit, was ich leider im Abfrage Generator nicht hinbekomme.

    Das Problem ist, dass in der Datenbank ein Start und Enddatum eingetragen ist. Wenn diese am selben Tag sind, werden diese dann mit jeweils 00:00:00 Uhr ausgelesen und somit läuft die Abfrage mit Enddatum >= Now() ins leere.

    Ich habe jetzt als Lösung (Löst nicht das Problem aber umgeht es) einfach beim INSERT INTO das Datum Start mit 00:00:00 Uhr und das Datum Ende mit 23:59:59 Uhr eingetragen.

    So wird mir mit der Abfrage mit NOW() dennoch der aktuelle Tag dargestellt.


    Vielen Dank an Euch

    Gruß
    Sebastian
    Keine Ahnung, welchen SQL-Dialekt der Abfrage-Generator versteht.
    Den verwende ich nie.
    Falls er sich an MS-SQL anlehnt, funktioniert ​CAST(GETDATE() AS DATE)
    Für eine Abfrage der heutigen Werte würde ich dann verwenden:

    SQL-Abfrage

    1. ​SELECT * FROM table WHERE CAST(Timestamp AS DATE) = CAST(GETDATE() AS DATE)

    Ansonsten gibt es doch bestimmt eine Doku für die SQL-Syntax des Generators.
    Oder den Object-Explorer.
    Oder Intellisense.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Alles was von Microsoft kommt und denn MSSQL-Server verwendet benutzt TSQL :)
    Vielen Dank für euere Hilfe.

    Ich werde es ausprobieren.

    Das Problem habe ich jetzt wie oben beschrieben vorerst gelöst.

    Beim nächsten Mal werde ich versuchen den Abfrage Generator zu umgehen und es während der Laufzeit zu ändern.