Access und VBA liefern unterschiedliche Ergebnisse

Stoffelchen

Mitglied
Halli hallo zusammen,

entweder bin ich vollends erblindet oder ich seh einfach den Wald vor lauter Bäumen nicht mehr -_-

Folgendes Problem:
Ich führe in Access eine Abfrage aus, um herauszufinden, ob es Zeiträume gibt, die meinen angegebenen Zeitraum schneiden. Ein kleines Beispiel:
Mein Zeitraum: 15.10.2010 - 15.01.2011
Zeiträume in der DB:
1] 01.10.2010 - 31.10.2010
2] 01.01.2011 - 20.01.2011

Laut meiner Abfrage schneiden diese zwei Zeiträume meinen gewünschten. VBA sieht das genauso -> Alles in Ordnung. Wenn ich den Zeitraum jedoch auf 01.11.2010 - 31.12.2010 abändere, liefert mir mein VBA-Code Datensatz 1 als Ergebnis und sagt, dieser würde meinen Zeitraum schneiden. Eine erstellte Abfrage mit Access liefert dieses Ergebnis nicht, sondern wie erwartet [0] Datensätze, die meinen Zeitraum schneiden.

Hier die SQL-Anweisung der Accessabfrage. Diese habe ich 1:1 verwendet und lediglich den Tabellennamen/Spaltenüberschriften/Datum durch Variablen ersetzt. Die Werte habe ich im Debugg-Modus kontrolliert -> Alles korrekt.
Code:
SELECT * 
FROM article_price
WHERE (((article_price.[valid_to])>#11/1/2010#) AND ((article_price.[valid_from])<#12/31/2010#));
(Die Klammern werden von Access automatisch hinzugefügt)

Das urwitzige ist ja, wenn ich mir im Debugg-Modus das Ergebnis meines Recordset.Filter Inhalts ausgeben lassen, ihn kopiere und in die Access-Abfrage einfüge, bekomme ich ein korrektes Ergebnis o_O

Wo liegt der Hase nun im Pfeffer****? Ich suche bereits seit 2 Stunden nach dem Fehler und finde ihn einfach nicht...

Liebe Grüße,
Stoffelchen
 
Ich kann aktuell nur eine Vermutung aufstellen und zwar ein Punkt, welcher mir auch schon so manchmal auf die Füße gefallen ist. Ein Datum kann speziell bei MS Office Applikationen in der englischen Schreibwese interprtiert werden, sprich z.B. 01.10.2010 wird schnell mal zum 10. Januar 2010 statt dem gewollten 1. Oktober 2010 oder eben andersherum.
 
Ja, daran hatte ich auch gedacht. Deshalb lasse ich mir per Debug-Befehl den Inhalt des Filters ausgeben. Diese Ausgabe kopiere ich und kontrolliere sie mit einer Access-Abfrage. Deswegen verstehe ich das ganze ja irgendwie nicht... sehr seltsam es ist :(

Danke trotzdem für die Hilfe :) vllt finde ich die Lösung ja noch. ^^

*edit*
Wir hatten beiden den gleichen, richtigen Gedanken. Es liegt tatsächlich an der Doppeldeutigkeit von "mm-dd" und "dd-mm" ... Ein Weg, wie es auf jeden Fall funktioniert ist die Formatierung des Datumwertes zu "yyyy-mm-dd" statt, wie ich es versucht hab, zu "mm\/dd\/yyyy"... und das soll einer wissen... -_-
 
Zuletzt bearbeitet:
Zurück