This is a pretty "basic" question, so please be patient and recognise
me as a fresh and untainted Newbie.
If I look at a filename... how would I know if...
it's a dBASE... FoxPro... Clipper... or Access kind of
file?
if it's a database or a table? There must be a difference
between the two names of files.
Ms-access is a bit different then most of the pc type database systems.
FoxPro, Clipper, dBASE at one time used a SEPARATE file for EACH table. In
fact, the table name was the file name. The common file extension for these
older dBASE clones was .dbf. Thus, a table named customer would be a file
called:
customer.dbf
Further, in those pre-windows days, file names where limited to 8
characters, and thus you table names where also limited to 8 characters.
Also, for each table that had a index, a file was used.
customer.idx
Later, FoxPro came out with a design that allow multiple indexes in one
file...
customer.cdx
It is also of interest to note that FoxPro and Clipper were clones, or so
called compatible systems built by competitors to dBASE which back in the
late 1980's and early 90's became a industry standard. (kind almost like sql
is a standard today). There was also a lot of other database systems, and
they were not compatible with dBASE. (Paradox, REFLEX, KnowledgeMan,
Advanced Revelation to name a few from that period). These other database
systems each had there own file extension just like each application on your
pc today has a different file extension. So, for most products you can look
at the file extension and thus know what kind of file it is.
..doc = word documents
..xls = Excel document
..dbf = FoxPro, Clipper, dBASE
..jpg = a picture file
..mdb = Microsoft access database
As mentioned, FoxPro, Clipper, dBASE all used the same file extension, as a
general rule of the day back then, each of the products could use each
others files (they all claimed compatibility with dBASE).
Now, what is unique about access is that you can put both your code, forms,
reports, sql AND ALSO tables into ONE file. However most, if not all
developers split their applications into two parts:
Part one:
The so called front end has code, forms,reports, sql. (the so call
program part). So, this is a mdb file, and as a developer you only place
forms, code etc. into this file.
Part two:
This so called back end file has ONLY tables (data) in it.
You then link the above two files together. This gives you a very similar
setup to most other programs you have on your computer:
Paint Shop, or picture editor programs can open a picture file, but note how
the program and the data is separate.
You use the program Microsoft Word to open a .doc file (again, you got
separate program called word that opens the .doc file).
So, as developers in ms-access, we split it into two parts, just like most
windows applications. This allows a developer to "send" or update code,
forms, reports on a clients site without having to send the customer the
"data" part. (and, the customer's data is not overwritten when you do this).
So, you can install a new picture editor, or a new version of word, but the
old data files remain un-touched.
If you place your forms + code + data in the same file, then it become VERY
difficult to update a customers application, as copying the mdb file will
overwrite the data. However, as mentioned, if the application is split into
two parts, then you can freely copy a new front end to a customers
site...but the back end is not touched. This ability of ms-access to have
both code and data together, or split it into two parts is a unique feature
of ms-access.