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.
|