Kann Datetime nicht filtern

Hallo,

ich habe in eine Access2007-FrontEnd MDB die Tabelle radacct aus der MySQLDB für den DaloRadius verknüpft.
In dieser sind umfangreiche Sessiondaten hinterlegt, die ich auswerten will.
Dabei möchte ich Daten zu einem User für die letzten 30 Tage, 7 Tage und Heute/24h zusammengefasst darstellen.

Mein Problem ist, dass das Filtern auf diese vom DaloRadius angelegten Daten im Access nicht funktioniert/ ich es nicht hin bekomme wenn ich das Datum abfrage, welches als Datetime hinterlegt ist.

Ob mit der vom Access vorgegebenen Filterfunktion in der Tabelle oder als Abfrage bekomme ich unter schiedliche Ergebnisse. Aber alle sind nicht korrekt, so dass ich annehme das Access selber schon ein Problem mit den Daten hat.

Kann mir vielleicht jemand einen Tipp geben, wie ich Access überzeugen kann die Datetime-Daten richtig zu händeln?
Hatte es auch schon mit Cast und Convert versucht, aber das mag Access nicht. Und diverse Datum-Formate haben auch zu keinem Ergebnis geführt.

Danke
Ricardo

Hallo,

Vermutlich (ich kenne weder das BE noch die Art der Verknüpfung, vermutlich ODBC) könnten eine oder mehrere solcher Where-Conditions funktionieren:

Select * from radacct where [Datum] = #2016-01-18#
Select * from radacct where [Datum] = #01/18/2016#
Select * from radacct where [Datum] = ‚01/18/2016‘
Select * from radacct where [Datum] = ‚18.01.2016‘

PS:

Die ersten beiden Beispiele sind Access-konform, was nicht bedeuten muss, dass der ODBC-Treiber die auch versteht.

Ein Blick in die ODBC-Treiber-Beschreibung brächte mehr Klarheit.

Gruß
Franz, DF6GL

Danke für deine Antwort.
Aber leider hat es nicht funktioniert.

Habe aber jetzt das Problem gelöst, in dem ich in der Abfrage eine neue Spalte hinzufüge und in dieser das Datum formatiert einfüge.

'SELECT *, CDate(Format([Datum/Uhrzeit-Spalte],‚dd/mm/yyyy‘)) AS Datum " _
'& "FROM Tabelle " _
'& „WHERE (((CDate(Format([Datum/Uhrzeit-Spalte],‚dd/mm/yyyy‘)))>Now()-30));“

Das klappt.

Hallo,

dann sollte das einfach so auch gehen:

SELECT * FROM Tabelle WHERE [Datum/Uhrzeit-Spalte]>Date()-30)

Gruß
Franz, DF6GL

Hallo,

da brat mir einer ein Storch, das geht tatsächlich :confounded:

So hatte ich es nicht ausprobiert. Ich hatte immer erst das Datum genauso ermittelt und dann in den SQL-String eingefügt. Das wollte nicht gehen.

Habe wohl über eine Woche lang hin und her probiert, aber auf den Gedanken nicht nach „dem“ Datum zu suchen, sondern die Datenbank, das Datum selbst ermitteln zulassen, bin ich nie nicht gekommen.

Warum einfach wenn es auch kompliziert geht :confused:

Nochmals vielen Danke für deine Hilfe.
Ricardo