Microsoft Access started at the beginning of the Windows revolution 20+ years ago and became the most popular database of all time. More recently, additional technologies have become significant, so it behooves the Microsoft Access community to be aware of the trends and options.
Ultimately, it's about being able to create solutions that help you and/or your users accomplish their mission. Sometimes the user's platform is critical, sometimes, it's the data source, and other times it's the permissions you have to deploy a solution. A variety of platforms and options are available with benefits and limitations with each. Meanwhile, Microsoft Access is also evolving with their latest Access 2013 version offering new web based solutions.
Here is a summary of what we're seeing and experiencing:
Microsoft Access (desktop) lets you create database applications that can be run on a PC and easily shared across a network or passed to another person with a file transfer. Each user needs to have the right version of Access installed. Access databases can have data within itself or link to a backend database which can be another Access database on the network or a SQL Server database. With ADO, it supports the ability to execute SQL Server features such as stored procedures. It can work with files on the PC and automate other Windows programs such as Word and Excel.
Microsoft Access 2010 has the ability to create hybrid desktop and web solutions. Hosted on SharePoint 2010, the web solutions support macro driven forms but not VBA code. It stores its data in SharePoint lists. While SharePoint simplifies the deployment process, SharePoint lists do not offer the features of Access Jet databases. For instance, referential integrity and advanced queries are not available. Access 2010 offers basic displaying and editing of data without the need to install a copy of Access on each user's machine.
Microsoft Access 2013 web solutions let you create browser based sites that people with rights to your SharePoint 2013 server can run without having to install anything on their machine. Deployment is very easy and is ideal for information workers who would normally not have admin rights or the knowledge of deploying web applications on an IIS server. These Access web apps support any browser that SharePoint supports including Windows, Mac, and mobile devices. Though running in SharePoint, the data is stored in SQL Server (part of SharePoint) which is not the case for Access 2010. Office365 includes SharePoint 2013 which stores its data in SQL Azure.
Some of the limitations include the reliance on the macro language which offers far fewer capabilities than VBA or .NET. Though JavaScript code is automatically generated, it is not possible to modify it. Because it's a web solution, it also cannot interact with desktop files or perform Office automation, though it can work with SharePoint lists. There also isn't a report generator, and the user interface is limited to what's offered.
A significant concern for this platform is the inability to separate the application from the database. That means modifications are made on the production platform. It also cannot be pointed to an existing SQL Server (or Access) database, so it's not appropriate for adding functionality to an existing database.
LightSwitch is a subset of Visual Studio to create deployable database solutions using SQL Server for Windows, Mac, web, and mobile users. The primary focus is for basic database features (search, add, edit, delete) and export to Excel. These solutions are based on Silverlight or HTML5 technology.
Note that LightSwitch can create web solutions with an OData interface for a web service.
Silverlight solutions are rich Windows like solutions which support Windows and the Mac (but not iPad or mobile). It requires each user to install Silverlight on their machine (similar to installing Flash or Adobe Acrobat), which generally limits its use to internal users or customers willing to add this. However, Silverlight is no longer being enhanced by Microsoft.
The direction of LightSwitch is towards HTML5 which is supported by the latest browsers such as Windows 8. JavaScript is used to customize HTML5 applications.
While customization can be achieved by adding .NET code in C# and VB.NET, there are limited options for customizing the LightSwitch user interface and extending the database functionality beyond what is offered. The inability of the client tier to execute stored procedures without hacks means it is appropriate for only basic SQL Server solutions (compared to what most Microsoft Access databases linked to SQL Server require).
From our experience, support for multiple developers on a project is weak and corruption prone. LightSwitch offers an EXE distribution for local installation. For web deployment, the developer needs rights to a web server host.
A pure Visual Studio .NET solution offers the ability to create a Windows EXE file that can run on a PC or a web hosted ASP solution. A great deal of customization is available for the user interface and internal code. A professional developer is usually required with experience connecting to databases via MVC, familiarity with JQuery or other database platforms. Multiple developer support via Team Foundation Server (TFS) and Subversion are solid.
None of the platforms listed offers the ability to create an application once and run it on a device like an Apple iPhone, iPad, or Android device, or Windows Phone when it's disconnected. For those devices, native applications still need to be created for those disconnected, non-browser situations though HTML5 offers the future promise of local storage that can reconnect when connectivity is restored.
Note that not all mobile browsers support HTML5. Even Windows Phones before Windows 8 do not support HTML5 solutions.
This paper has not reviewed LightSwitch 2013. Microsoft just announced the release candidate of LightSwitch in Visual Studio 2013. We know some of the limitations we cite are addressed in the new version, so that's promising. We'll update this paper when we gain more real world experience with it. Meanwhile, please let us know what you think.
Have any suggestions or comments? Head to our blog post Comparison of Microsoft Access, LightSwitch and Visual Studio Platforms for Database Developers and leave us your feedback!
Strategic Overview
Microsoft Access within an Organization's Database Strategy
How many simultaneous Microsoft Access users?
Blaming Microsoft Access instead of the Developer
Microsoft Access Version Feature Differences
Microsoft Access Versions, Service Packs and Updates
Microsoft Office 365 Access Update Version Releases
Top 14 Features Added with MS Access 2007
Taking Over Legacy MS Access Databases
Winner of Every Best Access Add-in Award
Set AutoNumber Starting Number Other than 1
Avoid Unnecessary or Duplicate Indexes
Copy Command Button and Keep Picture
Module VBA to Forms and Controls
Subform Reference to Control Rather than Field
Suppress Page Headers and Footers on the First Page of Your Report
Annual Monthly Crosstab Columns
Add Buttons to the Quick Access Toolbar
Collapse the Office Ribbon for more space
Avoid Exits in the Body of a Procedure
Send Emails with DoCmd.SendObject
Error Handling and Debugging Techniques
Error Number and Description Reference
Remote Desktop Connection Setup
Terminal Services and RemoteApp Deployment
Missing Package & Deployment Wizard
Remove 'Save to SharePoint Site' Prompt from an Access Database
Class Not Registered Run-time Error -2147221164
Microsoft Access to SQL Server Upsizing Center
When and How to Upsize Access to SQL Server
SQL Server Express Versions and Downloads
Deploying MS Access Linked to SQL Azure
SQL Server Azure Usage and DTU Limits