Microsoft Access As A Powerful Development Tool
In talking to users and developers, I find that Access is a very misunderstood product. Many people think that it is just a toy to be used by managers or secretaries wanting to play with data. Others feel that it is a serious developer product intended for no one but experienced application developers. This article dispels the myths of Access. It helps you to decipher what Access is and what it isn’t. After reading the article, you will know when Access is the tool for you, and when it makes sense to explore other products.
Access is a very flexible product. You can use Access to develop a personal application, or to develop an enterprise-wide corporate application. Access offers a variety of features for different database needs. You can use Access to develop these general types of applications:
- Personal applications
- Small-business applications
- Departmental applications
- Corporation-wide applications
- As a front end for enterprise-wide client/server applications
Access as a Development Platform for Personal Applications
At its most basic level, you can use Access to develop simple personal database-management systems. I caution people against this idea, though. People who buy Access hoping to automate everything from their exercise history to their home finances are often disappointed. The problem is that Access is deceptively easy to use. Its wonderful built-in wizards make Access look like a product that anyone can use. After answering a series of questions, you have finished application switchboards, data-entry screens, reports, and the underlying tables that support them.
In fact, when Microsoft first released Access, many people asked if I was concerned that my business as a computer programmer and trainer would diminish because Access seemed to let absolutely anyone write a database application. Although it’s true that you can produce the simplest of Access applications without any thought of design and without a single line of code written by the user, most applications require at least some designing and custom code.
As long as you’re satisfied with a wizard-generated personal application with only minor modifications, no problems should occur. It’s when you want to substantially customize a personal application that problems develop.
Access as a Development Platform for Small-Business Applications
Access is an excellent platform for developing an application that can run a small business. Its wizards let developers quickly and easily build the application’s foundation. The ability to build code modules allows developers to create code libraries of reusable functions, and the ability to add code behind forms and reports allows them to create powerful custom forms and reports.
The main limitation of using Access for developing a custom small-business application is the time and money involved in the development process. Many people use Access wizards to begin the development process but find they need to customize their application in ways they can’t accomplish on their own. Small-business owners often experience this problem on an even greater scale. The demands of a small-business application are usually much higher than those of a personal application. Many doctors, attorneys, or other professionals call me after they reach a dead end in the development process. They’re always dismayed at how much money it will cost to make their application usable.
Access as a Development Platform for Departmental Applications
Access is perfect for developing applications for departments in large corporations. It’s relatively easy to upgrade departmental users to the appropriate hardware: for example, it’s much easier to buy additional RAM for 15 users than it is for 4,000! Furthermore, Access’s performance is adequate for most departmental applications without the need for client/server technology. Finally, most departments in large corporations have the development budgets to produce well-designed applications.
Fortunately, most departments usually have a PC guru, who is more than happy to help design forms and reports. This gives the department a sense of ownership because they have contributed to the development of their application. It also makes my life as a developer much easier. I can focus on the hard-core development issues, leaving some of the form and report design tasks to the local talent.
Access as a Development Platform for Corporation-Wide Applications
Although Access might be best suited for departmental applications, it can also be used to produce applications that are distributed throughout the organization. How successful this endeavor is depends on the corporation. There’s a limit to the number of users who can concurrently share an Access application while maintaining acceptable performance, and there’s also a limit to the number of records that each table can contain without a significant performance drop. These numbers vary depending on factors such as the following:
- How much traffic already exists on the network?
- How much RAM and how many processors does the server have?
- How the server is already being used? For example, are applications such as Microsoft Office being loaded from the server or from local workstations?
- What types of tasks are the users of the application performing? Are they querying, entering data, running reports, and so on?
- Where are Access and your Access application run from – the server or the workstation?
- What network operating system is in place?
My general rule of thumb for an Access application that’s not client/server is that poor performance generally results with more than 10-15 concurrent users and more than 100,000 records. Remember, these numbers vary immensely depending on the factors mentioned, as well as on the definition of acceptable performance by you and your users.
Developers often misunderstand what Access is and what it isn’t when it comes to being a client/server database platform. I’m often asked, “Isn’t Access a ‘client/server’ database?” The answer is that Access is an unusual product because it’s a file server application out of the box, but it can act as a front end to a client/server database. In case you’re lost, here’s an explanation: If you buy Access and develop an application that stores the data on a file server in an Access database, Access performs all data processing on the workstation.
This means that every time the user runs a query or report, Access brings all the data over to the workstation and runs the query on the workstation machine. It displays the results in a datasheet or on a report. This process generates a significant amount of network traffic, particularly if multiple users are running reports and queries at the same time on large Access tables. In fact, such operations can bring the entire network to a crawl.
Access as a Development Platform for Enterprise-Wide Client/Server Applications
A client/server database, such as Microsoft SQL Server or Oracle, processes queries on the server machine and returns results to the workstation. The server software itself can’t display data to the user, so this is where Access comes to the rescue. Acting as a front end, Access can display the data retrieved from the database server in reports, datasheets, or forms. If the user updates the data in an Access form, Access sends the update to the back-end database. You can accomplish this either by linking to these external databases so that they appear to both you and the user as Access tables, or by using techniques that access client/server data directly.
One of Access’s biggest strong points is its scalability. An application that begins as a small-business application running on a standalone machine can be scaled to an enterprise-wide client/server application. If you design your application properly, scaling can be done with little to no rewriting of your application. This feature makes Access an excellent choice for growing businesses, as well as for applications being tested at a departmental level with the idea that they might eventually be distributed corporation-wide.
Best Microsoft Database Solutions
Need help with your database? Contact us at MS Access Solutions, home of the Best Database Solutions company, Los Angeles, California
Resources:Microsoft Access Programmer Services