Any thoughts on the best, most efficient, least susceptible to corruption approach would be greatly appreciated.
The MS Access application is being designed as a multi-user (network) calendar app that uses data from a foxpro application. Specifically foxpro free tables (dbfs) that I'm retrieving and importing into MS Access. In addition, the application will supplement the foxpro data by managing related data (not being managed in the foxpro app) within access.
The foxpro application is the principal application since it's the company's legacy application that is provided by the office's corporate group in Minneapolis (i.e. off site) and we can't replace it.
So, if there are data changes, the changes are made in the foxpro app (which has updates uploaded to the corporate office), then the user will need to click a button in Access to retrieve the dbf and import it again.
Right now, my approach is to have a frontend (FE) and backend (BE), where the FE is the main application that the users will work with. All the tables will be linked to the FE via the BE. When the data is changed in foxpro, the user will click a button in the FE that opens the BE exclusively. The startup form in the BE has a button that, when clicked will retrieve the dbf (fso copy), import it (transferdatabase using ODBC) and then update (docmd.openquery)the resident MS Access tables. (I.e. Only one person can run the update procedures via the BE at a time).
Some concerns I have:
-if the BE is opened exclusively, will the linked tables be affected? I.e. can other users continue to operate the FE without any problems?
-when the update procedures are being performed (i.e. TransferDatabase method, update/append/deleted queries), will the linked tables be affected?I.e. can users continue to operate the FE without any problems?
-I don't see anyway around the TransferDatabase method, but for updating the resident tables, I'm using primarily docmd.openquery methods. Would some of the slower processes (update queries) be quicker if I were to update by code?
-any other concerns I should be thinking about? Specifically with regards to 1) maximizing application speed and 2) minimizing concurrent user issues.
Thanks - Everything has pretty much been built, I'm just wanting to maximize user enjoyment.
Noel
The MS Access application is being designed as a multi-user (network) calendar app that uses data from a foxpro application. Specifically foxpro free tables (dbfs) that I'm retrieving and importing into MS Access. In addition, the application will supplement the foxpro data by managing related data (not being managed in the foxpro app) within access.
The foxpro application is the principal application since it's the company's legacy application that is provided by the office's corporate group in Minneapolis (i.e. off site) and we can't replace it.
So, if there are data changes, the changes are made in the foxpro app (which has updates uploaded to the corporate office), then the user will need to click a button in Access to retrieve the dbf and import it again.
Right now, my approach is to have a frontend (FE) and backend (BE), where the FE is the main application that the users will work with. All the tables will be linked to the FE via the BE. When the data is changed in foxpro, the user will click a button in the FE that opens the BE exclusively. The startup form in the BE has a button that, when clicked will retrieve the dbf (fso copy), import it (transferdatabase using ODBC) and then update (docmd.openquery)the resident MS Access tables. (I.e. Only one person can run the update procedures via the BE at a time).
Some concerns I have:
-if the BE is opened exclusively, will the linked tables be affected? I.e. can other users continue to operate the FE without any problems?
-when the update procedures are being performed (i.e. TransferDatabase method, update/append/deleted queries), will the linked tables be affected?I.e. can users continue to operate the FE without any problems?
-I don't see anyway around the TransferDatabase method, but for updating the resident tables, I'm using primarily docmd.openquery methods. Would some of the slower processes (update queries) be quicker if I were to update by code?
-any other concerns I should be thinking about? Specifically with regards to 1) maximizing application speed and 2) minimizing concurrent user issues.
Thanks - Everything has pretty much been built, I'm just wanting to maximize user enjoyment.
Noel