Running an Access database over the internet
You have an Access application that you need remote users to access over the internet. What are your options?
Unfortunately, you can not just place an Access database on a Web Server and use it through a web browser. If you have Access 2010 and a Sharepoint Server, you can publish your databases to a SharePoint Server. This will convert your database to ASP.net/JAVA/AJAX and Sharepoint lists. The downside is that your database has to use embedded macros and no VBA code.
So you do not have Access 2010 and a SharePoint server. What can you do?
If you place the back end on a web server, unfortunately, you can not link to the tables from an Access front end over the internet.
I like to use a Thin Client Technology, like Terminal Server, that is connected through a VPN for the most add security. The advantage of using a Terminal Server is that the Application is installed locally on the Terminal Server. Installing updates to the Access front end is easy since it is local on the Terminal Server. On the remote client, there is nothing that needs to be installed. The Remote Desktop Client is probably already installed with Windows.
There are other options for remote access for your Access Application. List of some possible remote access solutions:
- Terminal Server/Thin Client (There are also other Thin Client alternatives like Citrix and 2X ) See: MS Terminal Services (Click Here)
- Terminal Services RemoteApp (Click Here)
- Use Remote Web Workspace to Access your Desktop
- Use a true client-server back end like MS SQL Server, SQL Azure (Cloud DB), MySQL, etc. This allows you to link to the back end over the internet from your remote Access Front End.
- Jet Database Replication (See this WIKI )
- Web-Based front end to replace the Access Application. Requires a Web Server. Note: You must also rewrite your Front End. You can use ASP/ASP.net and SQL server reporting services.
- Microsoft Sharepoint and Access 2010 (See Demo here)
- Offsite hosted service (Examples AccessTables , eql data, and Access Services Hosting)
- Application Hosting - (Example: Windows Azure )
- Remote Control - ( Examples: LogMeIn or GoToMyPC , VNC, etc.)
- Windows Azure (Click Here).
The best solution depends on several factors like the number of remote users and the experience level of the developer(s) in other platforms.
Using terminal Services, Citrix or some type of remote control requires additional hardware and possible software with little or no changes to the application. This means you can get up quickly with all the functionality of Access.
Using a SQL Server back end does require a server to run the SQL Server. This could be an in house server or “in the cloud”. This also will require developer time. How much time this will require depends on the experience level of the developer with SQL Server as a back end. This could take a month to server months to get working.
Using a Web front end does require a web server to host the web application. This could be an in house server or “in the cloud”. This also will require a lot of developer time to recreate the application. How much time this will require depends on the experience level of the developer with web applications. This can easily take six months to over a year to get working.
Also, see this excellent discussion by Albert D. Kallal