Hi,
I have several users who want to link their User.mdb to my BE.mdb backends. Seems like a reasonable request. However, I am reluctant to allow this because it severely compromises my ability to do maintenance work: For example, if a user is linked to the BE.mdb, I can't repair/compact it, and I have no way of figuring out who is linked to it, either. For the Frontends that I build, I control this by building in a system that (1) writes to a table every time a user logs in or out, so I can figure out who's logged in when I need to, and (2) allows me to send an auto-shutdown command to the FE when necessary.
So, what's the safest way to allow users the use of my BE data? HEre are the possibilities I can think of:
1. Use FileCopy to create a backup copy of the BE.mdb periodically, and have user link to the Backup_BE.mdb PRoblem here is that Filecopy won't work if BE.mdb is in use, which it may well be.
2. Give user a piece of code to place in his DB, which will use docmd.transferdatabase to import the desired tables from BE.mdb into User.mdb periodically. I believe this would work whether BE.mdb is in use or not.
3. Put code in my FE.mdb using docmd.transferdatabase to export tables from BE.mdb to User.mdb periodically.
4. Put code in my FE.mdb using a make-table query to transfer data from BE.mdb to User.mdb. (If the table name already exists in User.mdb, this will fail, thought, won't it?)
5. PUt code in my FE.mdb utilizing a delete query followed by an append query to refresh data in the tables in User.mdb.
6. Other ideas?
Would appreciate any discussion as to the pro's and cons of these.
Using Access 2002
Thanks
I have several users who want to link their User.mdb to my BE.mdb backends. Seems like a reasonable request. However, I am reluctant to allow this because it severely compromises my ability to do maintenance work: For example, if a user is linked to the BE.mdb, I can't repair/compact it, and I have no way of figuring out who is linked to it, either. For the Frontends that I build, I control this by building in a system that (1) writes to a table every time a user logs in or out, so I can figure out who's logged in when I need to, and (2) allows me to send an auto-shutdown command to the FE when necessary.
So, what's the safest way to allow users the use of my BE data? HEre are the possibilities I can think of:
1. Use FileCopy to create a backup copy of the BE.mdb periodically, and have user link to the Backup_BE.mdb PRoblem here is that Filecopy won't work if BE.mdb is in use, which it may well be.
2. Give user a piece of code to place in his DB, which will use docmd.transferdatabase to import the desired tables from BE.mdb into User.mdb periodically. I believe this would work whether BE.mdb is in use or not.
3. Put code in my FE.mdb using docmd.transferdatabase to export tables from BE.mdb to User.mdb periodically.
4. Put code in my FE.mdb using a make-table query to transfer data from BE.mdb to User.mdb. (If the table name already exists in User.mdb, this will fail, thought, won't it?)
5. PUt code in my FE.mdb utilizing a delete query followed by an append query to refresh data in the tables in User.mdb.
6. Other ideas?
Would appreciate any discussion as to the pro's and cons of these.
Using Access 2002
Thanks