...und wieder mal stehe ich völlig auf dem Schlauch: In meiner Mitgliederverwaltung müssen Beiträge altersbedingt geändert werden, wenn ein bestimmtes Alter erreicht ist.
Um die "Kandidaten" herauszufiltern, habe ich mir eine SQL.Anweisung zusammen gestellt. Die Abfrage wird mit folgendem AUfruf gestartet:
Select * from reqPersonen WHERE [Pe_GebDat] BETWEEN #11/23/2008# AND #12/31/2007# ORDER BY [PE_GesName]
Aus mir unverständlichen Gründen werden dabei nur die Mitglieder, die im Jahr 2007 geboren wurden angezeigt, nicht aber diejenigen, die zwischen dem 23. Nov. 2008 und dem 31.12.2008 geboren sind. Mache ich einen Gedankenfehler?
Mit der o.a. SQL-Anweisung müsste doch eigentlich z. B. ein Geburtstag am 01.12.2008 ermittelt werden?!?
Vielleicht kann mir jemand auf die Sprünge helfen.
Hallo,
vom größeren Datum zum kleineren Datum.
Du sagst ja auch zwischen 10 und 20 und nicht zwischen 20 und 10.
Versuche es so:
BETWEEN #12/31/2007# And #11/23/2008#
Hallo,
das dürfe aber nicht der Grund der unerwarteten Ergebnisse sein...
@ Herby1949:
Poste mit Copy&Paste(!) den SQL-String, der in der SQL-Ansicht im Abfrageentwurf steht
und/oder den kompletten Code, der diesen SQL-String ausführen lässt.
Hallo DF6GL,
hallo MzKlMu
Shame on me.
Der Fehler lag ganz woanders: Die SQL-Abfrage wurde später noch durch einen Code geändert.
Sorry, trotzdem euch beiden ein Dankeschön!
@ MzKlMu
DF6GL hat Recht: Es spielt in der Tat keine Rolle, ob beim Vergleich Anfang und Ende des Datums getauscht / vertauscht werden. Aber wenn dann irgendwo später im Programmablauf die SQL-Abfrage geändert wird, dann ist das Ergebnis natürlich ein anderes (in meinem Fall falsches).