Results 1 to 4 of 4
  1. #1
    Join Date
    Aug 2004
    Posts
    3

    Unanswered: Converting databases from 97 to 2000

    I've created a lot of databases to track production work over the last 6 years. Although I am not an Access pro, I'm pretty good at what I taught myself, but am lacking alot of the technical "programming" knowledge. I currently have 97 and 2000 installed on my machine to test the conversion. When I try to convert most of my databases I get errors telling me it could not compile, and saves the database without compiling. My modules stop working. Does anyone have any ideas or do I have to re-write my modules?

  2. #2
    Join Date
    Feb 2004
    Location
    Canada
    Posts
    133
    I'm not sure if this affects your compiling issue, but I've noticed through this and other forums that one of the main issues with converting 97 to 2000 is the fact that 97 uses the DAO object model by default, while 2000 uses ADO by default.
    This means that if you don't explicitly declare your objects (written in 97 code) as DAO, 2000 will assume it's ADO and get confused.
    e.g. Dim rst as Recordset should be Dim rst as DAO.Recordset.
    You also need to set a reference to the DAO 3.6 Object Library in Tools/References in the VBA window.

  3. #3
    Join Date
    May 2004
    Posts
    159
    Quote Originally Posted by bmacr
    I'm not sure if this affects your compiling issue, but I've noticed through this and other forums that one of the main issues with converting 97 to 2000 is the fact that 97 uses the DAO object model by default, while 2000 uses ADO by default.
    This means that if you don't explicitly declare your objects (written in 97 code) as DAO, 2000 will assume it's ADO and get confused.
    e.g. Dim rst as Recordset should be Dim rst as DAO.Recordset.
    You also need to set a reference to the DAO 3.6 Object Library in Tools/References in the VBA window.
    I have some questions on converting from 97 to 2000 also.
    I was under the impression you could change the default in 2000 back to DAO- is this true or not?
    What really is the difference between the two in how the program operates?
    For instance why won't 2000 just open the recordset anyway it can as long as the DAO object library is in the references?
    If I have to go through dozens of our 97 programs that use recordset and change to DAO.recordset then I better get started but I want to be sure that is needed.

  4. #4
    Join Date
    Oct 2002
    Location
    Florida
    Posts
    7

    Post Conversion to 2003 and DAO

    When it comes to the Reference Library it not really about a 'Default' Reference. You can reference both ADO and DAO, but if you leave out the explicit reference, (i.e.; Dim rs as DAO.RECORDSET) Access will use the first one referenced. If DAO is referenced first, then you problably wont have a problem, especially if it is DAO syntac. But if ADO is referenced first you will not get the results you want.

    About a year ago I started dabbling with ADO so I started being explicit in all my programing, putting the DAO in every bit of code ( Note: I now highly recommend this!). I just uninstalled Office 2000 and Access 97 from the machine. Converted three production databases (Access 97) with quite a bit of DAO (DAO 3.51) and ODBC (Oracle Drivers and SQL) code and it ran good, suprizingly very good. Although I an not endorsing it, I forgot to decompile and complile before converting and still didn't have any issues. Interesting is that I just checked the references and DAO 3.6 is referenced without me putting it there, although it is referenced below ADO 2.5 and ADOX 2.5. A thought on this is that during the conversion it 'noticed' my code and put in the appropriate reference.

    I only pray this continues through the 50 or so other production databases I utilize.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •