Click to See Complete Forum and Search --> : Migrating an app using DAO 2.5/3.51 Comp. Library to DAO 3.6
aelspear
Oct 10th, 2000, 02:43 PM
Hi all,
I've been given the task (torture?) of discovering why one of our applications has stopped working correctly since Access 2000 was installed on our desktops. The application uses the DAO 2.5/3.51 compatibility library for database access.
I did find out that Access 2000 is not compatible with Jet 3.51, and since the DAO 2.5/3.51 compatibility library is using Jet 3.51 exclusively, I'm sunk on that point.
I did try Microsoft's suggestion of using a reference to DAO 3.6. However, I am now getting a host of "Member/Reference not found" errors all through my code on members such as "Table", "OpenTable", and "Snapshot". The app compiles fine with 2.5/3.51.
I used VB's object browser on both the 2.5/3.51 and 3.6 libraries and they look nearly identical, so I'm not sure why these members seem to go missing after migration. None of them pop up automatically in the little code helper window while coding in either library version.
Anyone have any ideas, advice, or similar problems? I'd love to hear from you! =)
Thanks,
KLA
JHausmann
Oct 10th, 2000, 05:10 PM
MSDN sez DAO3.51 and DAO3.6 are similar. Doesn't say compatible, sadly.
spyder
Oct 11th, 2000, 04:44 PM
This is true... I have the same task (torture). From what I have read in MS technet, they suggest that you convert to ADO. Being that is what MS wants everyone to use and the compatability issue will not be an issue ( so they say )
Anyway, I am Converting to use ADO. It is a whole crap load of work but worth it in the end(????)
-=D+_
HunterMcCray
Oct 12th, 2000, 09:41 AM
Originally posted by aelspear
Hi all,
I've been given the task (torture?) of discovering why one of our applications has stopped working correctly since Access 2000 was installed on our desktops. The application uses the DAO 2.5/3.51 compatibility library for database access.
I did find out that Access 2000 is not compatible with Jet 3.51, and since the DAO 2.5/3.51 compatibility library is using Jet 3.51 exclusively, I'm sunk on that point.
I did try Microsoft's suggestion of using a reference to DAO 3.6. However, I am now getting a host of "Member/Reference not found" errors all through my code on members such as "Table", "OpenTable", and "Snapshot". The app compiles fine with 2.5/3.51.
I used VB's object browser on both the 2.5/3.51 and 3.6 libraries and they look nearly identical, so I'm not sure why these members seem to go missing after migration. None of them pop up automatically in the little code helper window while coding in either library version.
Anyone have any ideas, advice, or similar problems? I'd love to hear from you! =)
Thanks,
KLA
I have fought the same battles. I upgraded to VB6 from VB5 and ACCESS 2000 from ACCESS 97 and crystal reports 4x to CR7 at the same time. Four weeks later I finally got my app to run again. I wish I could tell you exactly what I did that finally made it work. I did not switch to ADO. I changed the order of some of my references and components, mostly out of desperation, and this was the final straw that allowed F5 to proceed without error messages. I compiled an exe quickly and have been running it since. I have been experimenting carefully with the source code, but I no longer save automatically. If something crashes I exit without saving. I feel like the wizzard's apprentice playing while his malevolent self sleeps.
I have considered switching to ADO, but I have not found a good reason to yet. I only have one app, and it runs my business. I have been working on it on and off through Basic, Quick Basic, Proffesional Basic, VB4, VB4.5, VB5, and now VB6, I have not yet been impressed by any upgrade, and generally find myself scrambling to make things work again after an upgrade. The Version that I wrote in Pro Basic was the fastest by far, and it ran on a 386DX @25Mhz!
I would weigh the upfront disadvantages of the ACCESS 2000 and ADO upgrades against the fear of future compatibility before I proceeded. I wish that I had not upgraded at all. If it would not be such a huge pain from a data point-of-view I would switch back to VB5 and ACCESS 97.
If you are a true glutton for punishment then try upgrading to Windows 2000 Proffesional. I tried it on one computer in my LAN, I am terrified that it will spread like a virus. Virtually nothing works, and if I can get the few local data files off of that computer I will certainly go back to Win 98SE and the familiar problems that I can solve.
I know this does not help much, but atleast you are not alone.
Hunter
aelspear
Oct 12th, 2000, 10:26 AM
Hunter, spyder, and JHausmann, thanks for your tips and advice. I really appreciate hearing about other folk's experience.
I do have one tidbit to add.
I'll first restate the problem: When I go from the Microsoft DAO 2.5/3.51 compatibility library to the DAO 3.6 library, I get a pile of "Member not found" errors on methods and members such as "Snapshot", "Table", and "OpenTable".
Well, after digging around the MSDN Help Library in VB6, I found an article that defines a list of Obsolete Features in DAO. Apparently these features were from Microsoft Access version 1.x and 2.0, and VB 3.0 and earlier. It also states that though these features are obsolete, they are still supported for backwards compatibility with existing user code.
It just so happens that these "still supported" features are the exact same ones that are causing me errors when moving from the old DAO to the new DAO. Hrm.... The article does list replacement features. I may try just replacing the obsolete (but still supported...yeah right) features with the replacement features. If that doesn't work it's ADO time. =)
Thanks again for your help, it's nice to know I'm not the only one! =)
vbforums.com
Copyright Internet.com Inc., All Rights Reserved.