(Access 2000) Einträge zwischen 2 Datumwerten
OKe
- datenbank
0 Vinzenz Mai0 OKe
Hallo,
ich habe ein kleines Problem mit Access, bzw. mit einer abfrage, die alle Einträge raussuchen soll, bei denen das Bestelldatum zwischen 2 angegeben Datumwerten liegt.
Folgende Bedingung hab ich versucht. nur ist dort anscheint ein Fehler drin.
WHERE (((Bestelldaten.Bestelldatum)>[Formulare]![Warenverkäufe]![Anfang] And (Bestelldaten.Bestelldatum)<[Formulare]![Warenverkäufe]![Ende]))
Es funktioniert nur, wenn ich die werte manuell eingebe.:
WHERE (((Bestelldaten.Bestelldatum)>#12/12/2001# And (Bestelldaten.Bestelldatum)<#12/12/2010#))
Das Anfangs- und das Enddatum wird in ein Textfeld eingegeben.
Die beiden Textfelder haben das Eingabeformat: 00.00.0000;0;_ und das Format: Datum, kurz
Das Feld Bestelldatum ist ebenfalls als Datum formatiert.
Format_ Datum, kurz
Eingabeformat: 00.00.0000;0;_
Habt ihr eine Idee, wie ich das verbessern muss?
Wäre euch sehr dankbar...
ACH: gerade aufgefallen, ein Gemisch funktioniert auch.
WHERE (((Bestelldaten.Bestelldatum)>[Formulare]![Warenverkäufe]![Anfang] And (Bestelldaten.Bestelldatum)<#12/12/2010#))
Hallo
Folgende Bedingung hab ich versucht. nur ist dort anscheint ein Fehler drin.
WHERE (((Bestelldaten.Bestelldatum)>[Formulare]![Warenverkäufe]![Anfang] And (Bestelldaten.Bestelldatum)<[Formulare]![Warenverkäufe]![Ende]))
Du musst Deine Datumsangaben explizit in die von Jet-SQL erforderliche Form bringen, siehe:
Es funktioniert nur, wenn ich die werte manuell eingebe.:
WHERE (((Bestelldaten.Bestelldatum)>#12/12/2001# And (Bestelldaten.Bestelldatum)<#12/12/2010#))
Grundsätzlich würde ich Dir raten
a) den Operator BETWEEN ... AND empfehlen.
b) eine (VBA-)Funktion zu schreiben, die Dir einen Datumswert in die von Jet-SQL
gewünschte Zeichenkette umwandelt. Nutze dazu die Funktion Format().
Freundliche Grüße
Vinzenz
Grundsätzlich würde ich Dir raten
a) den Operator BETWEEN ... AND empfehlen.
b) eine (VBA-)Funktion zu schreiben, die Dir einen Datumswert in die von Jet-SQL
gewünschte Zeichenkette umwandelt. Nutze dazu die Funktion Format().
Jo. also zu a) den Operator suche ich immer im Abfrageeditor. aber leider kennt (mein)access diesen Operator augenscheinlich nicht. ich werds noch mal irgendwie versuchen.
Zu b) Jet-SQL => da muss man das datum in das Amerekanische Format bringen etwa so mm.dd.jjjj oder?
ich probiers gleich mal aus.
Danke schön
Hallo
a) den Operator BETWEEN ... AND empfehlen.
b) eine (VBA-)Funktion zu schreiben, die Dir einen Datumswert in die von Jet-SQL
gewünschte Zeichenkette umwandelt. Nutze dazu die Funktion Format().Jo. also zu a) den Operator suche ich immer im Abfrageeditor. aber leider kennt (mein)access diesen Operator augenscheinlich nicht.
Den kannte schon Access 97, was die älteste mir zugängliche Access-Version ist.
Zu b) Jet-SQL => da muss man das datum in das Amerekanische Format bringen etwa so mm.dd.jjjj oder?
Nein, natürlich nicht.
Du musst Deine Datumsangaben explizit in die von Jet-SQL erforderliche Form bringen, siehe:
WHERE (((Bestelldaten.Bestelldatum)>#12/12/2001# And (Bestelldaten.Bestelldatum)<#12/12/2010#))
Da verwendest Du das Datumsformat, das Jet-SQL, die Datenbank-Engine hinter
MS-Access, erwartet:
#Monat/Tag/Jahr#
Das findest Du übrigens auch in der ausgezeichneten Dokumentation, die mit
Access mitgeliefert wird.
Freundliche Grüße
Vinzenz
Danke. es hat geklappt.
Das Umformatieren hats bewirkt. (hab es jetzt aber ins Ami-Format gebracht ;) )
Ein Problemchen weniger.
Vielen Dank und ein schönen Abend noch.
Oke
Hello,
#Monat/Tag/Jahr#
Das findest Du übrigens auch in der ausgezeichneten Dokumentation, die mit
Access mitgeliefert wird.
ja, wobei, so ganz frei von Tücken ist das nicht...
MfG
Rouven