Replace a FoxPro database with Microsoft Access

This might come as a shock to many FoxPro enthusiasts but Access has come a long way in the fifteen years since version 1 was released. It can easily allow a small group of users to work with millions of records and can act as the front end to a SQL Server database if you need to store more data.

The advantage of Microsoft Access is that support is widely available. We have experience in both FoxPro and Access so call us if you need any support for your migration project.

Access does however have four big disadvantages to anybody who is used to Visual FoxPro:

Object orientation

Access is not object oriented in the way that FoxPro is. Just to quote one minor niggle. In Fox the methods of an object belong to that object. If you copy a control on a form then the new copy has all the methods of the original. In Access the methods belong to the name of the control so the copied control has no methods any more.

There are deeper disadvantages to the poor support for object orientation in Access. Custom controls are a powerful feature of forms in Visual FoxPro. You can get a similar effect in Access by creating OCX controls but it is very much more difficult. In Fox it's as simple as right-clicking on a control and choosing "Save as Class".

Office

Microsoft Access is part of Microsoft Office. This does bring some advantages - it's easier to integrate Word and Excel into an Access database than it is to integrate them into FoxPro - but it does bring some very expensive and time-consuming problems.

An Access database works best when everyone in the building is using the same version of Access within the same version of Office. Later versions of Access do allow users to share data between different versions but Access 2007 won't work reliably on a machine that has Office 2003 installed. If you need to upgrade Access then there will be problems unless all users have the matching version of Office installed.

This doesn't just apply to the obvious core components of Microsoft Office - Word, Excel and Outlook. We've had an Access database crash after a user installed a newer version of Visio. That cost us an entire afternoon checking and replacing DLLs.

Distribution

Distributing a FoxPro database is very easy. You build an executable in the development environment and give the exe and the support libraries to the user. There is a Wizard that will generate a proper set of Windows-style set-up files for distribution by CD or network but it's not necessary for most systems. Just copy the exe and the support libraries onto the user's hard disk and FoxPro will run. You can put the support libraries in a common Windows folder or you can just drop them in the same folder as the executable. Distribution is royalty-free and executables from different versions of Foxpro will run on the same machine without conflict.

Distributing an Access solution is more difficult. The easiest way is to ensure that every user has the appropriate version of Office on their PC. There have been distribution kits for Access but there can never be any guarantee that they'll work on a user's PC or that they'll leave the user's existing copy of Microsoft Office working. They can usually be made to work but the process is very much more difficult than FoxPro's simple "copy these files from the CD" approach.

Interactive use

Access lacks the close interaction with the data that FoxPro provides. FoxPro's native support for SQL commands and its own xBase data manipulation language allow users to investigate and alter data very easily. Users in Access have to create queries to do this. FoxPro also has a graphical Query Designer and a set of Wizards to help users build SQL statements but users quickly move on to typing SQL or xBase into the Command Window and getting a much faster response.

Related Items

How can we replace FoxPro

What will replace FoxPro when support ceases in 2015

Read More

Continue to use Microsoft FoxPro

Continue using your FoxPro database until 2020. There's no need to replace it yet.

Read More

Replace a FoxPro database with SQL Server

The combination of dotNet and SQL Server is a good replacement for a larger FoxPro database.

Read More

Wait for Microsofts FoxPro strategy

Keep using Visual FoxPro and wait for Microsoft's strategy to become clear.

Read More