DAO Upgraded to Version 3.5

Microsoft has upgraded the Data Access Object (DAO) to version 3.5. If your application uses DAO 3.0, you may still reference it. Because DAO 3.5 is designed to work well with applications designed for DAO 3.0, you will not be required to reference the newer version. Of course, applications written in Microsoft Excel 97 with a reference to DAO 3.5 will not reference DAO 3.0 if saved in Microsoft Excel 95 format.

DAO 3.5 Will Be Default if DAO 3.0 Is Not Installed

If DAO 3.0 is not installed, then Microsoft Excel 97 will default to DAO 3.5. You will want to ensure that users of your applications have the appropriate installation of DAO, as there is functionality that is specific to each.

CreateObject Method and DAO

Objects in DAO 3.5 are named slightly differently than their equivalents in DAO 3.0. For example: the DBEngine in DAO 3.0 is referred to as DAO.DBEngine while in DAO 3.5 it is DAO.DBEngine.35. The best way to ensure application portability is to avoid using CreateObject in either Microsoft Excel 95 or Microsoft Excel 97.

DAO and Named Arguments

Although named arguments were never supported by DAO, in some cases they would work. We discouraged the use of this practice, but there may be code that works in Excel 95 that uses named arguments with DAO, so you cannot be sure that these arguments will be correctly identified. For example, this working Microsoft Excel 95 code:

Set dbTest = DBEngine.OpenDatabase(Name:="C:\My Documents\MyDB.mdb", _
     Exclusive:=False, _ 
     ReadOnly:=False) 'Note that the second argument has changed

Should become the following in Microsoft Excel 97:

Set dbTest = DBEngine.OpenDatabase(Name:="C:\My Documents\MyDB.mdb", _
     Options:=dbDriverComplete, _ 
     ReadOnly:=False)  'Note the corrected argument