Herbert Leitner 10 Geschrieben 21. Februar 2008 Melden Teilen Geschrieben 21. Februar 2008 Hallo! Ich schlage mich scon seit längerem mit folgendem Probem im Access rum Da gibts eine Tabelle mit zig Datensätzen und einem Datumsfeld. Da ist. z.B ein Datensatz mit dem Datumsfeld 15.01.2006 Wenn ich in einer Abfrage nach diesem Datum suche, dann wird der nicht gefunden. Wenn ich die Suche erweiter auf >=14.01.2006 und <=16.01.2006, dann schon. Das soll jemand verstehen. Warum wird der Satz nicht angezeigt wenn ich das genaue Datum eingeben. DAs Probleme hatte ich beretis seit zumindest Access 2000, und jetzt 2003. Nun bin ich auf die Idee gekommen eine "Parametrisierte Abfrage" zu machen. Beim Starten der Abfrage soll das gesuchte DAtum eingegeben werde und in der Abfrage lege ich ein Kriterum fest mit >=ein Tag vorher und <= ein Tag nacher. Nur leider will mir die Syntax nicht gelingen - ich schlage mich schon seit Stunden rum: Kriterum: >=[suchdatum]-1 und <=Suchdatum+1 Suchdatum ist der Parameter der beim STart der Abfrage abgefragt ;-) wird und hier als Kriterum ausgewertet wird. Sollte doch das einfachste der Welt sein. Nur da kommt nie einer Ergebnismenge raus. Warum nicht? tks! Herbert Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 21. Februar 2008 Melden Teilen Geschrieben 21. Februar 2008 Das Problem ist, dass das Datumsfeld ja ein "Timestamp" ist incl. Zeit (die nur nicht angezeigt wird) und daher eine =-Abfrage nicht funktioniert! Ggf. vorher das Datum rausziehen. Weiss grad nicht genau, wie die Funktion heisst so in der Art: Datum([Datumsfeld]) Zitieren Link zu diesem Kommentar
Luck0r 10 Geschrieben 21. Februar 2008 Melden Teilen Geschrieben 21. Februar 2008 Hallo! Hab hier ne funktion die dir vielleicht hilft Zwischen ZDate(DatAdd("t";-1;Datum())) Und ZDate(DatAdd("t";+1;Datum())) GreetzZz:D Zitieren Link zu diesem Kommentar
Herbert Leitner 10 Geschrieben 21. Februar 2008 Autor Melden Teilen Geschrieben 21. Februar 2008 Das Problem ist, dass das Datumsfeld ja ein "Timestamp" ist incl. Zeit (die nur nicht angezeigt wird) und daher eine =-Abfrage nicht funktioniert!Ggf. vorher das Datum rausziehen. Weiss grad nicht genau, wie die Funktion heisst so in der Art: Datum([Datumsfeld]) Hallo! Ja, das muss es sein. In der Tabelle steht z.B: 16.01.2006 15:35 Und ich prüfe auf Gleicheit mit 16.01.2006 (vermutlich 00:00) Damit wird der Datensatz nicht als "gleich" erkannt und nicht angezeigt. Komisch ist das bei den allermeisten DAtensätzen das kein Problem ist! Ich gebe das DAtum über die Dastatur ein - und gelegentlich rutscht irgendwie die Uhrzeit rein! Wie kriege ich das hin mit dem Eingrenzen auf einen Tag vorher und einen Tag nachher? Auch das würde mein Probem vorerst lösen, auch wenn dann jedesmal mehr Datensätze als Resultat kommen! Dank Dir! Herbert Zitieren Link zu diesem Kommentar
Herbert Leitner 10 Geschrieben 21. Februar 2008 Autor Melden Teilen Geschrieben 21. Februar 2008 Hallo! Zwischen ZDate(DatAdd("t";-1;Datum())) Und ZDate(DatAdd("t";+1;Datum())) GreetzZz:D Hallo! Dank Dir, das geht wirklich! Genau das hatte ich gesucht! Damit kriege ich das Problem weg, daß einige Daten (Mehrzahl von Datum) mit einer Uhrzeit gespeichert werden, die NICHT 00:00:00 ist! Wie gesagt bei der Abfrage prüfe ich ja auf z.B: 16.01.2006 (= 00:00:00) PS: Ich hatte mit der Formel rumgespielt und mich immer geärgert. Je mehr ich mich geärgert hatte, desto weiter war ich von der Lösung fern! Bleibt noch zu (annerkennend) zu erwähnen: Warum weiß Du das und ich nicht! ;-9 Dank Dir! Herbert Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.