ACC97: Date Criteria in Converted DB Returns Incorrect Results

Last reviewed: February 3, 1998
Article ID: Q160503
The information in this article applies to:
  • Microsoft Access 97

SYMPTOMS

Novice: Requires knowledge of the user interface on single-user computers.

You have a Microsoft Access 2.0 or 7.0 database that uses a literal date between 1900 and 1929 as criteria in a query. After you convert or enable that database in Microsoft Access 97, the query returns the wrong records or no records at all.

For information about the same symptoms occurring in Microsoft Access 7.0, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q155669
   TITLE     : ACC: Years 01-29 Default to Year 2000 When Typed As M/D/YY

CAUSE

You have a newer version of Oleaut32.dll, which may have been installed by Microsoft Internet Explorer version 3.0 or Microsoft Windows NT version 4.0.

RESOLUTION

You can work around this behavior in the following ways:

  • Change the query criteria to specify the century. For example, change #01/01/00# to #01/01/1900#.
  • Use the type conversion function, CDate(), to convert a string to a date in your criteria. For example, CDate("01/01/1901").

STATUS

This behavior is by design.

MORE INFORMATION

Steps to Reproduce Behavior

  1. Start Microsoft Access 2.0 or 7.0, and create a new database called
     Testdate.mdb.

  2. Create the following new table. You do not need to create a primary
     key.

        Table: Table1
        -----------------------
        Field Name: TestDate
           Data Type: Date/Time

  3. Open Table1 in Datasheet view, and add the following records:

        TestDate
        ---------------
        1/1/29
        6/11/09
        5/15/36

  4. Create a new query in Design view based Table1:

        Query: Query1
        -------------------------
        Type: Select Query
         Field: TestDate
           Table: Table1
           Criteria: >=#01/01/01#

  5. Save the query, and then run it. Note that all three records are
     returned in the query results.

  6. Close the database, and quit Microsoft Access.

  7. Start Microsoft Access 97, and open the Testdate.mdb database.

  8. In the Convert/Open Database dialog box, click Open Database, and
     then click OK.

  9. Click OK when you receive the message that says you can't make changes
     to the database objects.

 10. Run the Query1 query. Note that no records are returned in the query
     results.

 11. Open Query1 in Design view. Note that the Criteria changed to
     >=#1/1/2001#.


Additional query words:
Keywords : CnvVerDif QryCrit kbusage
Version : 97
Platform : WINDOWS
Hardware : x86
Issue type : kbprb
Solution Type : Info_Provided


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: February 3, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.