Abfrage mit Datumproblem

Hallo,
ich habe hier ein kleines Problem mit meiner Abfrage.

Ich habe ein Parameter [Datum].
Nun sollen alle Datensätze ausgewählt werden, wo [Datum] zwischen [Eintritt] und [Austritt] liegt.
Meine Lösung:
WHERE (((Stammdaten.Austritt) Is Not Null) AND (([Datum]) Between [Eintritt] And [Austritt])) OR
(((Stammdaten.Austritt) Is Null) AND (([Datum])>[Eintritt]));

das Problem ist, dass nur der Monat und das Jahr betrachtet werden sollen, nicht der Tag. Jemand eine Idee?

Vielen Dank
Steffi

Hallo Steffi,

wenn du nur Monat oder Jahr betrachten woltest würde dir Monat([datum]) oder Jahr([datum]) weiterhelfen.

Da du aber wie es scheint beides brauchst musst du dich weiterhin mit dem Datums-Werten herumschlagen. Bleibt dir imho nur die eingabe so sicher zu machen, dass zb. dez 02 (alternativ aber auch 12/02) als 1.12.02 bzw auch Austritt als 31.12.02 interpretiert wird)

Gruss
Nils

PS: Hier noch ein weniger schöner vorschlag von mir: „01.“+[monat]+"."+[jahr]

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo

wenn du nur Monat oder Jahr betrachten woltest würde dir
Monat([datum]) oder Jahr([datum]) weiterhelfen.

das dachte ich auch, kann man ja per Parametern auch machen. Aber wie geht dann die Abfrage, dass das datum (monat/jahr) zwischen eintritt und austritt liegt? da muss ich doch auch einen Tag eingeben.
zB. EIntritt 1.11.2002 austritt 20.12.2002 nun soll bei der Monatsabfrage für den Dezember ja auch dieser Datensatz angezeigt werden. Wenn ich „between“ benutze, muss ich ja ein Tag mit eingeben. wenn ich zb den 31 nehme, klappt das ja nicht, da das Datum > ist als austrittsdatum.

Idee?

steffi

Datepart(Monat und Jahr) möglich?
gibt es die Möglichkeit ein Datum zu überprüfen mit Datepart(„mjjjj“,[Datum])?
also dann überprüfen:

WHERE (
DatePart(„myyyy“,[Eintritt])

So wie es aussieht kann Datepart nur einen Teil also Monat oder Jahr auslesen.

Wie wäres mit Dateserial(DatePart(„mm“,[Datum]),DatePart(„yyyy“,[Datum]))

Vermutlich hast du dann einen Datum am Monatsersten. Da du aber den Monatsletzten brauchts kannst du z.B. den Monat um eins erhöhen bzw wenn monat=12 Monat =1 und Jahr+1 (Prüfen mit kleiner, nicht mit kleiner gleich).

Gruss
Nils