VC++, .MDB Files, ADO and ADOX programming
Posted on 2003-10-22
I have a VC++ program in which I am using ADO and ADOX to open and create as need an Access .MDB file. For the most part things are working fine. However, I do have a problem that I will try to describe in general terms and see if I can get a solution. If needed I can provided code snippets, etc.
The program works as follows as it starts and attempts to open the database:
1. If the database exists, everything opens and the program works fine from start to finish
2. If the database does not exist, a create routine is called that creates the database, 3 tables, and a variety of indexes per table.
2a. If I immediately stop the program at this point and restart it, the program works fine from start to finish.
2b. If I continue to use the program and attempt something that accesses one of my Indexes, I get an ADO Exception that the Index does not exist in the database/table. If I stop the program and use Access to open the database and the design tool, everything looks fine -- the tables and indexes are all there. I can restart the program, attempt the same procedure as before to access the Index and all works well.
Any ideas why this would be happenning -- when the Index would not be seen after getting Appended to the table? I'm using MDAC 2.6 and I've checked to make sure that I am appending and releasing everything in the create routine before calling the open routine to finish the process.