Microsoft KB Archive/178880

From BetaArchive Wiki

Article ID: 178880

Article Last Modified on 1/22/2007



APPLIES TO

  • Microsoft Access 1.0 Standard Edition
  • Microsoft Access 1.1 Standard Edition
  • Microsoft Access 2.0 Standard Edition
  • Microsoft Access 95 Standard Edition
  • Microsoft Access 97 Standard Edition
  • Microsoft Visual Basic 3.0 Professional Edition
  • Microsoft Visual Basic 3.0 Professional Edition
  • Microsoft Visual Basic 4.0 Standard Edition
  • Microsoft Visual Basic 4.0 Enterprise Edition
  • Microsoft Foundation Class Library 4.2, when used with:
    • Microsoft Visual C++ 4.0 Standard Edition
    • Microsoft Visual C++ 4.1 Subscription
    • Microsoft Visual C++ 4.2 Professional Edition
    • Microsoft Visual C++ 4.2 Professional Edition
    • Microsoft Visual C++ 5.0 Standard Edition



This article was previously published under Q178880

SUMMARY

DAO is a COM wrapper around the Jet Engine, which is used by Microsoft Access, Excel, Project, Visual Basic, and the Microsoft Foundation Classes (among others). It can be confusing which version of Jet you are using because so many applications may distribute Jet onto your machine. The tables and explanations in this article are intended to help you identify the version and components of Jet that you are using for the given application.

MORE INFORMATION

This table displays which version of Jet is shipped with each of the following products.

   Application                      Microsoft JET version
   -----------------------------------------------------------------------
   Microsoft Access 1.0             1.0
   Microsoft Access 1.1             1.1
   Microsoft Access 2.0             2.0
   Microsoft Access 2.0             2.5 with Microsoft Access Service Pack
   Microsoft Access 7.0             3.0
   Microsoft Access 97              3.5 with Office 97
   Microsoft Access 97 SR1          3.5 with Office 97SR1
   Visual Basic 3.0                 1.1
   Visual Basic 3.0                 2.0 with Visual Basic Compatibility
                                        Layer
   Visual Basic 3.0                 2.5 with Microsoft Access Service Pack
   Visual Basic 4.0 16-bit          2.5
   Visual Basic 4.0 32-bit          3.0
   Visual Basic 5.0 32-bit          3.0
   Visual Basic 5.0 32-bit          3.5
   Visual C++ 4.X                   3.0
   Visual C++ 5.0                   3.5
   Jet 3.51 (web download)          3.51 (Latest, 3.5 Binary compatible)
                

Compatibility Among Versions

With each new version of Microsoft Jet, enhancements in functionality and changes to the structure of the database file cause problems with backward compatibility. Wherever possible, efforts have been made to ensure an easy migration path among versions. However, incompatibilities do exist. The following table illustrates how you can use database files and objects among different versions of Microsoft Jet.

                            Jet Version
                 --------------------------------
                 1.0   1.1   2.0   2.5   3.0  3.5
   ----------------------------------------------
   MDB Version
   -----------
   1.0            Y     Y     Y     Y     Y    Y
   1.1            N     Y     Y     Y     Y    Y
   2.0            N     N     Y     Y     Y    Y
   3.0            N     N     N     N     Y    Y
                


A "Y" indicates that you can use the database without conversion; "N" indicates that you cannot use or convert the database. With DAO code, you can open any version of any database up to the same version of Microsoft Jet. Microsoft Access is an exception to this rule because it can open only those databases with the same version as itself. However, it can link to tables with the same or earlier version. In other words, if you upgrade to Microsoft Jet 3.0, you will still be able to read version 2.x databases.

There is no version 2.5 or 3.5 of an .mdb file (just 2.0 and 3.0), which are common to the x.0 and x.5 versions of Jet.

Jet 2.0 and Jet 2.5 use identical database formats in every aspect. Jet 2.0 can read databases created with Jet 2.5.

Microsoft Jet 3.5 databases have the same structure as Jet 3.0. Microsoft Jet 3.0 can read data from Microsoft Jet 3.5 tables. The main limitation here is that Microsoft Jet 3.5 may support additional properties on the database object that aren't recognized or taken advantage of by Microsoft Jet 3.0, but there aren't any data incompatibilities.

Notice that Visual Basic 3.0 is capable of using three different versions of Jet each requiring a separate set of dynamic link libraries (DLLs). This can cause problems when your Visual Basic application expects to use Jet 2.0 for example, and then you install another Visual Basic application using an earlier version of Jet on the same system that replaces some of the version 2.0 DLLs with version 1.1. Typically the problem DLL in this situation is Vbdb300.dll because it determines which version of the Jet engine will be used.

The following table should help you solve any version conflicts, and help you identify the version of Jet you are using. You may use the Wps.exe utility shipped with Visual Basic to find out which version of Jet you currently have loaded in memory. Wps.exe is located in the \VB\CDK directory of Visual Basic 3.0 Professional, and in \TOOLS\PSS directory of the Visual Basic 4.0 CD. Pay special attention to the version information obtained from File Manager (File, Properties) in Visual Basic 3.0, and Microsoft System Info. in Visual Basic 4.0 32-bit.

The following files are required by Visual Basic to use the Jet Database Engine:

   Jet Version    File          Version     Description
   ---------------------------------------------------------------------
   1.1            VBDB300.DLL   3.00.0528   VB/JET support
                  MSAES110.DLL  1.10.0000   Expression services
                  MSAJT110.DLL  1.10.0001   Jet 1.1 engine
                  XBS110.DLL    1.10.0002   External xBASE ISAM
                  BTRV110.DLL   1.10.0000   External Btrieve ISAM
                  PDX110.DLL    1.10.0000   External Paradox ISAM
   2.0 (comlyr)   VBDB300.DLL   3.00.0529   VB/JET support
                  MSAJT112.DLL  1.99.1605   Jet 2.x comp. loader
                  MSAJT200.DLL  2.00.0000   Jet 2.0 engine
                  XBS200.DLL    2.00.0000   External xBASE ISAM
                  BTRV200.DLL   2.00.0000   External Btrieve ISAM
                  PDX200.DLL    2.00.0000   External Paradox ISAM
   2.5 (accsvc)   VBDB300.DLL   3.00.0529   VB/JET support
                  MSAJT112.DLL  1.99.1605   Jet 2.x comp loader
                  MSAJT200.DLL  2.50.1606   Jet 2.5 engine
                  MSJETERR.DLL  2.50.1108   Error services
                  MSJETINT.DLL  2.50.1108   International
                  XBS200.DLL    2.50.1108   External xBASE ISAM
                  BTRV200.DLL   2.50.1108   External Btrieve ISAM
                  PDX200.DLL    2.50.1108   External Paradox ISAM
   2.5 (VB4 16)   VBDB16.DLL    4.00.2422   VB/JET support
                  MSAJT200.DLL  2.50.1606   Jet 2.5 engine
                  MSJETERR.DLL  2.50.1111   Error services
                  MSJETINT.DLL  2.50.1111   International
                  XBS200.DLL    2.50.1117   External xBASE ISAM
                  BTRV200.DLL   2.50.1117   External Btrieve ISAM
                  PDX200.DLL    2.50.1117   External Paradox ISAM
                  MSXL2016.DLL  2.50.1117   External Excel ISAM
                  MSTX2016.DLL  2.50.1117   External Text ISAM
   3.0            MSJT3032.DLL  3.0.0.2118  Jet 3.0 engine
                  MSJINT32.DLL  3.0.0.2118  International
                  MSJTER32.DLL  3.0.0.2118  Error services
                  MSXL3032.DLL  3.0.0.2001  External Excel ISAM
                  MSRD2X32.DLL  3.0.0.2118  External Jet 2.0 ISAM
                  MSLT3032.DLL  3.0.0.2008  External Lotus ISAM
                  MSPX3032.DLL  3.0.0.2001  External Paradox ISAM
                  MSXB3032.DLL  3.0.0.2008  External xBASE ISAM
                  MSTX3032.DLL  3.0.0.2008  External Text ISAM
                


With Jet 3.5x, there have been multiple releases. The following table indicates which version of Jet applies to a given product:

                 Access 97
                 Access 97a

   FileName      Office 97    VB5          Office 97a   Jet 3.51
   ------------  -----------  -----------  -----------  -----------
   MSEXCL35.DLL  3.50.3428.0  3.50.3602.5  3.50.3907.0      n/a
   MSJET35.DLL   3.50.3428.0  3.50.3602.4  3.50.3907.5  3.51.0623.4
   MSJINT35.DLL  3.50.3428.0  3.50.3602.5  3.50.3907.0      n/a
   MSJTER35.DLL  3.50.3428.0  3.50.3602.0  3.50.3907.0      n/a
   MSLTUS35.DLL      n/a      3.50.3602.5      n/a          n/a
   MSPDOX35.DLL      n/a      3.50.3602.0      n/a          n/a
   MSRD2X35.DLL  3.50.3428.0  3.50.3602.0  3.50.3907.0      n/a
   MSREPL35.DLL  3.50.3428.0  3.50.3602.0  3.50.3907.1  3.51.0623.0
   MSTEXT35.DLL  3.50.3428.0  3.50.3602.0  3.50.3907.0      n/a
   MSXBSE35.DLL  3.50.3428.0  3.50.3602.0  3.50.3907.0      n/a
   VBAJET32.DLL  3.0.0.6908   5.0.0.7122   3.0.0.6908       n/a
   VBAR332.DLL   3.0.0.6908   3.0.0.6908   3.0.0.6908       n/a
                

REFERENCES

"Microsoft Jet Database Engine Programmer's Guide 2nd Edition," by Dan Haught and Jim Ferguson, Microsoft Press, 1997, ISBN 1-57231-342-0

For information on how to obtain the Microsoft Jet 2.0/Visual Basic 3.0 Compatibility Layer, please see the following KB article:

113951 HOWTO: Obtain/Distribute the Compatibility Layer in VB 3.0


You can find information about how to download the Jet 3.51 patch in the following Knowledge Base Article:

172733 ACC97: Updated Version of Microsoft Jet 3.5 Available on MSL


Keywords: kbinfo KB178880