The overhead is NOT the issue here.
If you have 20 fields, 40 fields, 80 fields, then really, it don't matter.
Empty string fields do NOT take up disk space. On the other hand, disk space
is SO UNBELIEVABLE CHEAP that counting this issue is like counting the
amount of air your data entry people breathes. This issue as a general rule
will not hurt performance either.
Also, 160 fields sounds like a VERY HIGH number of fields here.You need to
use as many tables as the solution requires, if that is 4 tables, or 40
tables, then that is what you must use. I must say however, I have NEVER
seen a well designed application with anything remotely approaching 150
fields (that number sounds high)>
Is the extra overhead of repeating the indices when records do exist in
Tables 2 3 or 4 more or less costly than carrying so many null fields in one
record, but only needing the indices in the one record?
The above is a non issue, and a waste of your time. What you need to do here
is to get a good data model designed, and normalize your data. If your data
is normalized, and results in a 160 field single record table, then that is
what you better use (splitting into multiple tables will hurt performance in
this case). However, splitting and normalizing data most of the time results
in better performance (but only so if you NEED TO!). Don't split up data
because you might increase performance, as that usually don't help.
Worrying about a few indexes here and there usually NEVER becomes a make, or
break issue here in terms of performance. If you have a good design, then
good performance usually follows. The rule here is that you move data into
other tables if normalizing your data tells you to.
it is not clear if you are dealing with very small tables (say,k only 75,000
records), or large tables 750,000 records? I mean, 5-15 users, 40-50 tables
in the 50,000 record range is absolute nothing for ms-access and a JET file
share.
The ONLY THING you need to worry about is normalizing your data.
Here is some links on this issue:
ACC2002: Database Normalization Basics
http://support.microsoft.com/?id=283878
Database Normalization Tips by Luke Chung
http://www.fmsinc.com/tpapers/genaccess/databasenorm.html
Data Normalization Fundamentals by Luke Chung
http://www.fmsinc.com/tpapers/datanorm/index.html
324613 - Support WebCast: Database Normalization Basics
http://support.microsoft.com/?id=324613