Having used both Foxpro and Access for different projects, for larger
files (200K+ rows) I found Foxpro to be more efficient. Access bombs
when it gets to be near 1Gig in size, and it "grows" as you run
queries and do imports/deletes etc, so you need to keep track of size
and do more housekeeping than you would in Foxpro.
You have about the same amount of tools and access methods at your
disposal but they're implementation is different: MS Access is VBA and
GUI-based while Foxpro is a derivative of its X-based predessors.
The programming and relationship modelling is more "elegant" in
Access, so if you're designing something that may have lots of reports
and need to have user access limited or assisted with form controls,
Access is far superior.
For quick and dirty analysis, or the manipulation large files, or
Oracle, SQL Server or Sybase imports, then I'd stick with Foxpro.
Indexing. MS Access is more geared to GUI-based tools, so for examp if
you have a Foxpro file that you want to import into an MS Access
database and add a new index (it should import existing indexes I
think), or create a new table, you use the Import feature from the
File | Import menu, which is pretty straightforward. Then you can go
into the design mode of the imported table and index (unique or
compound or multiple) whatever fields you desire or that would be
important for joins to additional tables. Depending upon size of
table (and # of fields or indexes), initial index is pretty fast. The
relational model is just a matter of opening up the relationship
"window" and dragging the simliar fields from one table to the
dependent or equal field of the other table(s) --
Table1.empID->Table2.empID. Foxpr and your options are inner joins,
left/right (one to many), and the other standard SQL fare.
Check out
http://www.mvps.org/access for help getting started.