views:

1270

answers:

3

Hi. I've created a database in access 2007 that needs to be used by 3 users. I'm stuck because I don't know whether to place a copy on each users' computer or to place it on their SQL server. Placing it on the server would mean one access point which is desirable for data consistency but I don't know whether I need ActiveX. Don't know how to use it either. If I place it one each computer how do I work around the master file updates? Can somebody please break it all down, I'm a NEWBIE!!

+1  A: 

The "best" way I've worked this out is using Linked Tables in Access to go to SQL Server (since you stated you have that..?).

Using access as a front end in this scenario isn't the best thing you can do, but with 2007, it's a bit better than if you were a few versions back. Check out this article for info on linking Access into SqlServer:

Import or link to SQL Server data

Gus
You mean I can't just 'place' it on the server without any of that complicated stuff?
Access is a complete RDBMS, you can make it your central data repository, but that's one of the worst ways you would go about. If you have something as robust as MSSQL, you'd do best to use it. You get the easier interface of Access with the power of SQL Server, and linking tables is a pretty simple process once you run through it a couple of times.
Gus
+3  A: 

Your question seems rather confused to me. You mention a SQL Server, but you don't say your application uses SQL Server for its data storage.

Thus, I can only assume that you have a single MDB or ACCDB file with your data tables and forms and reports all in the one file.

The only proper way to distribute this app is:

  1. split it into front end (forms/reports/etc.) with linked tables that point to the back end (data tables only).

  2. place the back end on your file server and relink your tables to point to the new location of the back end.

  3. give a copy of the front end to each of the 3 users, who will run it from their desktop computers. If you're concerned about distributing changes to the front end, something like Tony Toews's front-end updater is very useful.

Others have jumped in to say that you should put the data in SQL Server, but most 3-user Access apps don't need the power of SQL Server. If you're not given administrative permissions on your SQL Server, it could be quite difficult to continue to alter your application's database.

On the other hand, if your database is going to grow to 1GB or more, or if you have strict security requirements, or if the data in your database is so important as to need completely failproof backups, then SQL Server would be a reasonable data store.

For most homegrown apps, not so much.

David-W-Fenton
A: 

One easy way is to use the EQL Data plugin: http://eqldata.com

That way you can give a copy of the database to each user, but users can sync the database with other users whenever they want. You can also access your tables and queries on the web.

apenwarr