Using an Access database as a sort of database server is asking for trouble, in my opinion. You should move to MSDE (which is also free to distribute with several product licenses, such as VS, Office, etc.), which will scale much better, will give you real stored procedures, security and an inmediate path of upgrade to the full SQL Server. MSDE uses the same engine as SQL 2000, with limits on concurrent connections and database size. However, most of these limits are practically unreachable for an access database (performance-wise at least). You can install the trial version of SQL Server 2000 and perform the upgrade to your database, and then use MSDE in the production environment.
Reaching the DB is the easy part. If the application will run inside a VPN across the WAN, you can connect just as you do locally, with the machine name. If you're going through the Internet, you have to enable TCP/IP client protocol on the server and just connect to it from the other end with the appropriate connection string. This is not quite secure, however.
Another cool way of exposing the information in a MSDE/SQL 2000 database is through SQLXML. It allows client applications to issue queries and get results in XML format through standard HTTP calls.
This was first published in May 2003