OKe: (Access 2000) Einträge zwischen 2 Datumwerten

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

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

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

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

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

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

          --
          -------------------
          sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
          Death is nature's way of telling you to slow down.