Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Datum in SQL-String

Begonnen von Herby1949, November 22, 2020, 20:48:06

⏪ vorheriges - nächstes ⏩

Herby1949

...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.

MzKlMu

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#
Gruß Klaus

DF6GL

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.

Herby1949

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).