Response in-line:
...
Are the Tables linked Excel spreadsheets as mentioned by the original
poster?
That's my assumption, based on the OP explicitly saying they were
'spread sheets' [sic].
If they were, the "database" with linked Excel spreadsheets is most likely
flat / non-relational and my advice is actually the *right* advice.
That's your assumption but seemingly not based on what the OP has
said. Can you not imagine a scenario where 'flat' Excel spreadsheets
are used as a client link to a proper relational database?
I think it is rather stupid to assume things to create a scenario just to
suit your particular answer.
See above.
The rest of your questions seemed to be aimed at me rather than the OP
so I'll try to address them.
Have you tried to use Excel spreadsheet
relationally besides simple "lookups"?
Yes I have used Excel spreadsheet 'relationally' (whatever that means
- JOINs?) but I wouldn't recommend Excel as the primary data store due
to the lack of relational integrity, constraints, etc. Mind you, I
couple of days ago I was getting a bit frustrated with Jet 4.0 not
supporting certain flavors of CHECK constraint. Sometimes you've just
got to work with what you're given.
BTW, Excel spreadsheets can have mixed data types
in one Column while Access can only have one data
type in a Field [sic]
That's not strictly correct. If the Jet *column* (as it is called in
RDBMS Theory) data type is 'text' (CHAR, MEMO, etc) then you can have
more than one 'data type' in that column because all values can be
represented as text (otherwise it would be impossible to write SQL).
It is of course questionable why you'd do this (GIGO) but it can be
done.
A similar thing happens with an Excel column. If a column is
identified as having 'mixed types' Jet can't do anything with it 'as
is' so it can go one of two ways (depending on registry keys): EITHER
the majority type is used so all values that can't be cast as the
majority type are considered null OR the type is considered to be
'text' to which all values can be cast (as I mentioned above). If you
are having trouble with mixed types you may need to look at your
registry settings under (for Jet 4.0):
Hkey_Local_Machine/Software/Microsoft/Jet/4.0/Engines/Excel/
You may not be aware that editing
data using a linked Table which comes from an
Excel spreadsheet can corrupt the Excel file
(at least in A2K0).
I don't myself use linked tables where the source is Excel (the
functionality is there so you can't blame others for using it) but
thanks for the heads up. I'd be grateful to receive some more details
(what causes corruption, how to avoid it going corrupt, is this
limited to the MS Access UI or did you mean Jet 4.0, etc) for future
note.
Ask experienced database developers whether they
seriously use Excel spreadsheets as permanent
linked Tables in their database development.
You're right, I'm sure most of us don't. But it can legitimately be
done. Whether that is a good idea is for those that do to decide and
for the rest of us to opine or, like me, remain neutral.
If you do use Excel spreadsheets as the
permanent source for your database development,
good luck to you and your clients! I am sure
your clients will be happy with Tables that are
limited to 64K Records each.
I use Excel as part of database development but mainly as the front
end, rarely as a data store unless the client specifically requests
it. Users love Excel and allowing clients to use them in solutions
makes them happy. Persuading them to use a capable DBMS as a data
store makes me happy.
And remember the above imaginary situation where a linked Excel table
is only one element in a Jet database? Having some 'font end' tables
limited to 64K is not such a great limitation.
Perhaps, you develop mostly "toy" databases???
Yes, I do often resort to Jet when the client won't splash out on a
more capable DBMS