Forum Discussion

Nicola _ Borzacchiello's avatar
Nicola _ Borzacchiello
Copper Contributor
Jul 27, 2020

Problematic access

Is it possible to have multiple user accesses on the access platform? if yes, what would be the solution?

  • George_Hepworth's avatar
    George_Hepworth
    Silver Contributor

    Nicola _ Borzacchiello 

     

    Yes, Access is designed to support multiple users. 

     

    Like all fully developed relational database applications would be, you need to design it with three components, or layers.

     

    Data Layer: This is the component of the application holding the data. Data is stored in Tables. 

     

    Interface Layer: This is the component of the application with the objects through which users interact with that data. Forms and Reports are the interface objects in your solution.

     

    Logic Layer: This is the code by which you automate processes. In Access, this can be either macros or VBA, or both.

     

    The MS Access application contains all of the necessary tools for creating tables and queries, for creating forms and reports, and for writing VBA.

     

    Unlike other solutions, though, an accdb is a unitary file, which contains all of those components by default. In order to prepare it for deployment to a GROUP of users, therefore, you must separate the data layer, i.e. the tables, from the other components. And you do that by splitting the accdb into two accdbs. One, usually referred to as the Front End, contains ONLY the interface and logic components. The other, usually referred to as the Back End, contains ONLY the tables for the data storage.

     

    Place the Back End in a shared folder to which all users have permissions. They will all work with that copy of the accdb because they must share that data.

     

    Put an individual copy of the Front End on each user's computer. This is their personal copy of the interface and code, linked to the shared data in the Back End. Do NOT, under any circumstances, let users share a Front End. Corruption is highly likely in such scenarios.

     

    There are many other possible considerations, of course, such as deployment methods and even IT support. Invest some time in a search on topics relating to "Splitting your accdb."

      • Daniel_Pineault's avatar
        Daniel_Pineault
        MVP
        Change in what way.

        If you are in the database, using the front-end and edit records, the data is being updated in the backend.

        If you edit data directly in the backend, which no one should ever be doing, everyone in the front-end would see the changes.

Resources