Upgrading your Access Application for a Multi-user Environment
(Page 1 of 5 )
MS Access is not an industrial-strength database like Oracle or DB2 nor does it pretend to be. It is best suited for desktop applications. However, it is often the case that an existing application needs to be upgraded for a multi-user environment. Depending on circumstances, it is not always necessary to implement a true client/server RDBMS. If demands are fairly modest, Access can function satisfactorily in a multi-user environment. This article will deal with the issues that arise when upgrading an Access-based application and will take you through the major steps necessary to upgrade your desktop Access database application for a multi-user environment.
Introduction
It often happens that a database designed for a single-user needs to be upgraded for use in a multi-user environment. This article will illustrate how to upgrade your single-user, Access-based application. As a rough rule of thumb, you can continue to use Access if the total number of users does not exceed twenty. Any more than this and you should consider changing to a more robust client/server database.
The three major issues that arise when converting an application for a multi-user environment are related to concurrency, security and performance. This is what we intend to address in this article. It is assumed that you are using MS Access 2000 or higher.
First a note about concurrency. The discussion of concurrency assumes you are using a Visual Basic (VB) front-end with ADO data objects. If this is not the case, then the concepts discussed in this section may apply but not the details. Likewise, concurrency problems only arise when multiple users can edit and update information in a database. If your desktop application simply allows users read-only access to data, and for example, updates are done after hours in exclusive mode then, again, this section will not concern you and may safely be skipped.
Concurrency Issues
Concurrency issues arise in a multi-user environment because two users may want to simultaneously update the same record or delete what another wants to edit. This is a common programming problem that is overcome through the use of a monitor or a lock.
We may also want users to see changes in real time. In this case the type and location of the cursor are important. We will begin our discussion by describing the kind of connection object and recordset object that are needed.
Next: Connection Object >>
More Microsoft Access Articles
More By Peter Lavin