Should you develop or reengineer your old Access or FoxPro desktop applications in Access 2016?
NO, has been my answer for the past 10 years for any Access development. Read on for a more through explanation and considerations. Microsoft does not include Access 2016 in any of its Office 365 business packages. HINT!
Access 2016 continues into the age of cloud as an add-on purchase application in Office 365. But Access 2016 is not the Access that most users think it is. On the Microsoft site this statement is made:
“Access 2016 has all the functionality and features you’re used to with some added enhancements and the best new features from Office 2016.
Note: For Access 2016, no existing features or functionality from previous versions were deprecated in this release.” https://support.office.com/en-us/article/What-s-new-in-Access-2016-76454345-f85d-47af-ace1-98a456cb3496
This statement is completely true. BUT… as the late Paul Harvey would famously say, “now the rest of the story.”
The very short answer is that prior to Access 2013 to which the statement refers Access has been systematically stripped of functionality. There have been “new features” added, true. When Microsoft removed the ability for later versions (2007 >) to open older database structures they introduced “new features” to replace the functions. (see this article: https://en.wikipedia.org/wiki/Microsoft_Access )
So should you develop a new application or reengineer an old one in Access 2016? The answer is a solid maybe.
I might be oversimplifying some but this should give you some sense of how to approach the problem.
- Who is going to be doing the development?
- Business users
- Professional developers
- Will the resulting project be a critical business application?
- Will the database be on a managed SQL Server?
- Do you or your organization have any database reporting tools?
- Who is responsible for the application maintenance and updates?
- Business users
- Professional developers
Generally, if any of the above is answered “Yes” or a developer is expected to be involved then Access is not the way to go.
For line of business applications Access requires the same amount of development effort that any other professional development would require. Access now requires a per-user subscription and it requires a SQL-Server database subscription or on-premises license. Yes, SQL-Express license is free. If you are a professional developer, there are other tools that are very effective for line of business solutions.
Why change if what you have works?
There may be no reason particularly if you upgraded your systems over the years and your current implementation is in Office 2013 and your data is already on a SQL-Server.
As you read this remember Access was developed for Windows desktop computers. It depended on Windows and plethora of Windows drivers installed on a specific computer to work. It was not a server application. In the workplace it was very limited by design to run in a desktop with limited memory and disk-space.
Most Access database implementations are Windows “desktop” applications. Over the 25-year history of Access it slowly morphed from a database engine with an application frontend for desktop to now just a fancy web site development tool that hooks to a SQL Server.
Up through Access 2007 you could create a database separate from your Access Application. That was considered a great feature. Application developers commonly would develop for Windows computers applications in programming languages such as Visual Basic, C/C++, Delphi, and many others. These applications could use Windows installed drivers to connect to an Access database engine. In many cases a copy of Access was not required to use the Access database. During these years many companies sold third-party “controls” made for Windows desktop computers. Access allows these to also be used in an Access desktop application. There is a major problem with controls in modern applications, they mostly don’t work anymore.
Microsoft has discontinued many drivers because they do not meet modern security standards and many were targeting Windows desktop clients that are no longer supported such as Windows XP, Windows 7 (at end of life), Windows 8.
If you are moving to Windows 10 then you are very likely to have issues with Access applications or applications that used the Access database engine. Consider moving to a different platform that is better suited for line of business.
If you have a small application that is not critical to your business, you should seriously consider a cloud software as a service (SaaS). You get high reliability and professional software maintenance that you don’t have to worry about.
Reporting is the one use of Access that might make sense but only in a limited sense. The reason is simple; Microsoft is making its Office 365 apps programmable. Word and Excel are clearly the cornerstones of the Office 365 product line. Both now have very advanced development API capability that integrates with all Microsoft products. Access will continue to be part of the Office 365 product line for years to come but its use is quickly becoming a niche market. The original purpose for which it was created in now a thing of the past, the desktop database.
I would only recommend Access as a solution for trivial applications, training, or for a very specific needs case. The number of variations introduced over the years makes understanding what you really have in Access very difficult. So much of Access was dependent on the specific version of Windows and its installed drivers it is very difficult to predict if it will work in new modern environments.
Below are links to Microsoft documentation to substantiate my assessment.