AboutScottgem Expertise I can answer almost all types of questions relating to Microsoft Access usage and application design. My strengths are database and interface design.
Experience I've been designing databases for over 15 years working with dBase, FoxPro, Approach and Access.
Organizations Author of Microsoft Office Access 2007 VBA Techncial Editor for Special Edition Using Microsoft Access 2007 and Access 2007 Forms, Reports & Queries From Que Publishing
Question Ok, here's what I think is going on, and I'd just like confirmation or explanation if I'm wrong.
I've inherited an old VB UI program with a MS Access backend(originally 97, now 2002). The problem is lack of errorchecking, which I don't have time to fix. What I do need to know is if I am correct in what is going on.
What happens:
The Autonumber field in the database is returned as 0 (this is also my primary key) and no other information is placed in the database and the field is incremented once things are straightend out. A 0 is continually returned until the database is completely unlocked by everyone who is logged in logging out of the application.
What I know is happening:
A connection to the database has been established and is not closed till the program is exited.
What I think is happening:
Through some fluke of timing, 2 or more people are on the same screen, locking out a specific table from each other. How does table lockout happen in Access, and how does it affect Autonumber fields? Am I close on this and should just ask people to close the program when they are not using the app to cut down on the likelyhood of this even occuring? Or does table lockout only happen when an insert/update statement runs?
if code is needed, I can supply snippets. I am really just looking for an idea on lockout functions within Access.
Answer You can read more on record locking at support.microsoft.com. However, I'm not a VB person, so I'm not sure how VB and an Access database works. It might not be the same as within Access. There are many differences with using a VB frontend.