Print page (printer-friendly version)

Microsoft .NET/SQL vs Microsoft Access

Author: Ian Banks (Hero Solutions Limited)
Date Posted: October 2006

Introduction

When developing a database application, there are often two main platforms to choose from (if you stick to Microsoft technologies) - Microsoft .NET/SQL and Microsoft Access. Access is often the initial choice because people are familiar with it - but is it always the best choice?

What is .NET, SQL Server and Microsoft Access?

Microsoft .NET

Microsoft .NET is a framework developed by Microsoft in which developers can produce windows and web applications. It provides rich functionality and high efficiency and generally is aimed at a platform to develop commercial applications and enterprise solutions. It is a relatively new technology (it’s been around for at least 5 years) so therefore is built to take advantage of new technologies and methods. It is optimised to work in conjunction with SQL Server for database applications, although is compatible with pretty much any datasource.

Microsoft SQL Server

SQL Server is a database application to look after the backend of a system (storing the data, controlling transactions etc.). There are many options available, ranging from SQL Server Express Edition (formally MSDE) which supports 5-10 simultaneous users, to SQL Server Enterprise Edition (designed to look after 1000s of users). SQL Server Express Edition is free, where as other versions incur costs for licences and the software itself. However, a system written in Express edition is fully compatible with any other SQL Server edition, meaning a system can easily be upgraded if needed.

Microsoft Access

Microsoft Access is a database application bundled with Microsoft Office. It was primarily designed to be used to create small relatively simple databases (e.g. with one or two users). However, over the years it has grown to include more advanced features and to support more users. Access databases are generally low budget systems used by small amounts of users (e.g. 1-2) where they users have relatively basic requirements.

What's best for my database?

To help make your decision, some of the key differences are outlined below.

Functionality

.NET provides the possibility for richer functionality in terms of the user interface – such as menu systems, controls to display and edit data etc. Although Access is fine for the basics, if you want anything a bit more fancy it is difficult, if not impossible, in Access. .NET gives you the flexibility in the future should you need something else, or if you requirements are more advanced at this stage.

Development Cost

Typically, a .NET application will take slightly longer to develop than a Microsoft Access. However, if the requirements are a little more advanced then it is quicker to develop in .NET. Generally though, any additional cost to go for .NET is more than recouped over the medium to long-term. As far as Hero Solutions is concerned, because of our development tools we can generally offer .NET solutions for the same cost as Access solutions (click here for more details).

Licences

A .NET solution requires no additional software, as opposed to an Access system where you need Access to run it (unless you deploy Access Runtime). This means, if you want to install the machine on additional computers, or open a new office in the future, you may have to buy additional licences for Access. With .NET you can run it on unlimited machines without any issues. SQL Server licencing is a different matter however, unless you are dealing with SQL Server Express.

Efficiency

Within an Access system, unless you are using something called ‘Access Data Projects’, the Access front-end has to connect to the central data store through a method called ODBC. This is basically an old technology which is quite inefficient (i.e. slower to retrieve and modify data) compared to alternatives. .NET uses a more efficient method of connecting to SQL Server (known as OLE DB). Access is primarily designed to work with an Access backend, where as .NET is primarily designed to work with a SQL Server backend.

Modern Technology

.NET is a relatively new technology compared to Microsoft Access. Although Access has been updated over the years, its foundations lie with older technologies and methodologies. .NET has been built from the start to take advantage of new technologies and so tends to be more efficient, powerful, and more compatible with other systems.

Future Proof

A .NET application is based on a framework which can be extended and customised by the developer. An Access system, to a large extent, is based of the functions available within Access. This basically means that with a .NET application you can basically do anything you want (apart from make a cup of tea), where as in Access you are limited to a greater degree. So as new requirements become apparent over the years you can be more confident that a .NET application will still do the job.

Summary

Microsoft Access is an excellent package and this is perhaps why it is often overstretched to cope with more users or more complex functions than it was originally designed for. .NET/SQL Server provides many advantages and provides a sound long-term solution. To find out more, why not speak to one of our consultants. We can also arrange a no-obligation consultation where we can demonstrate the differences between the two platforms and discuss which one would be right for your system.

You may also be interested in...