RE: Deny Database Access To Users When Design Work Being Done

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



There are a number of things you are doing incorrectly. You need to change a
lot of what you are dong.

First, it sounds like you have multiple users sharing the same copy of the
mdb. Bad Idea.
My guess is that you also don't have the database split. Another bad idea
You are doing development in a production environment. I would get fired
for that.

Here is what you need to do.

First split your database. Use the Spilt Database wizard in Access. That
will create two mdb files. One that is the same name the application is now.
The other will have _be.mdb added to it. So you would have MyApp.mdb and
MyApp_be.mdb

The _be (backend) will have only tables and relationships.
The other(frontend) will have all your forms, reports, queries, macros, and
modules.

Once the split is complete, put the backend on a shared folder to which all
users have read/write permissions.

Now, you need to change the links to the backend. Open the frontend. Open
the Linked Table Manager and link to the backend database. The most
important thing here is to use UNC paths instead of Drive Letter Paths.
UNC paths are like \\ServerName\FolderName\SubfolderName
That way, individual user drive mapping will not have any effect on your
application.

Now create an mde from your frontend.

Give each user their own copy of the mde version. This is the production
verison, you don't touch it except to replace it with an updated version.

Now, make a copy of the backend and put it in a different folder to use for
development and testing.
Use your copy of the frontend to do your development and testing. When you
are ready to distribute a new version, create a new mde file and distribute
that.

I didn't invent this concept, it is the way it is done correctly.

Best of luck and please post back if you have questions.
--
Dave Hargis, Microsoft Access MVP


"iez44" wrote:

Overview:
My database has many users who input data throughout the day. The database
can become corrupted if someone attempts to add data at the same time I'm
making design changes. The compact/repair utility in most cases doesn't
work, so the database must be restored with a backup copy. Although the
files are backed up every morning and afternoon, information can be lost and
must be re-entered.

To prevent this from happening, how can I deny access (pun intended!) to the
database when this design work is being done? I'm guessing it's going to
take VBA code to accomplish this.

Is it also possible to have a pop-up message appear to notify the user that
the database is under construction and is not available?

Thanks, Jim
.



Relevant Pages

  • RE: 5 access 2000 users and 1 AccessXP user
    ... I, too, have a split database with the backend on a server. ... > This is then followed by a message to the effect that the mde is corrupted. ...
    (microsoft.public.access.conversion)
  • Re: Using Visual Basic Net as front end - Access as back end
    ... really powerful machine to run the database front-end, ... I originally wanted to have the backend located in the California ... I could not have just one backend database it took Florida ... Report as the report writer and Access as the ...
    (microsoft.public.access.formscoding)
  • Re: Why does splitting a mdb make it slower?
    ... In one form that opens as a continous form, the data looks like it is being repainted as it displays...you can see each row being created quickly. ... I created a table on the backend called KeepOpen. ... performance when opening the main database and opening tables and forms, by forcing the linked database to remain open." ... The folder name is 8 characters in length. ...
    (comp.databases.ms-access)
  • Re: Distribution of a split db as a runtime
    ... I have a database that I plan to ... make installation package with the packaging wizard, ... it should find the backend automatically but if not add ... Dim Tdfs As TableDefs ...
    (microsoft.public.access.devtoolkits)
  • Re: Using Visual Basic Net as front end - Access as back end
    ... Currently I am using Access 2002 I developed an inventory tracking database, which this database is used in California and in Florida. ... Unfortunately, I could not have just one backend database it took Florida about 40 to 50 seconds or longer to open up a form and about 2 minutes or more to open up a report, which the backend was in California. ... We are on a budget like most IT shops and I thought using the combination of Visual Basic net, Crystal Reports, Access will be the least expensive way to go. ...
    (microsoft.public.access.formscoding)