<p>We have an Access DB which has a set of local tables and input forms etc. in which a user maintains their data.</p>

<p>We also have a SQL DB with the same tables which is used to displays the data in a web search form.</p>

<p>What is the best way to allow the user to udate his changes to the SQL db while keeping the working copy local so he can work offline and then push the files when he is happy with new version of the data?</p>

<p>My first thought was add the SQL tables as linked tables I could then truncate (access does like that) or delete the content in each table and then do an insert for each table.</p>

<p>Can I call a SP from access on the SQL to truncate the tables as I am have problem running deletes</p>

<p>I really do want to get it down to the user running a macro/sql call that is repeatable etc.</p>

<p>Thanks for your help</p>

Often your operating system will help you with these things, at least in (most distributions of) Linux. As soon as a piece of software is available as an installable package, and installed, your package management system will keep track of it and it will be possible to find out that a new version is available.
For instance, in
Gentoo Linux
, you would do the following from the command line to get a list of possible package updates:
```
```
emerge --sync && emerge -p world
```
```
The first command makes sure you have an up-to-date list of available packages, the latter compares all your installed packages (your "world") to the list, and reports back with one line per installable package. These lines contain the version you have, and the version available, so you can decide if it's worth upgrading.
There are probably several other ways of doing it, this is just what I use.