They then send their exported table to the battalion,
This implies there is some physical distance/separation between
the specified groups (Brigade - Battalions - Companies). More
than just the office next door. Is that correct?
Is there a computer network that links the "personnel" people?
How about Internet access?
I see a couple of possibilities...
1. If a network is available, could you not have one central muti-user
database (all personnel in one table)? Someone else will have to
confirm this, but couldn't you use user-level security, to ensure that
different Companies and Battalions see only their own data?
Presumably, the Brigade office would have access to *all* the data.
(see db structure below)
2. If no network, then a multi-tier approach, using sneaker-net, would
work. In your scenario, there would be 16 Company databases
feeding into 4 Battalion databases, which feed into 1 Brigade db.
For simplicity, use the same db structure for all locations (*one*
personnel table -- see db structure below). You could pre-enter
some of the data, like Battalion and Company info.
a) each COMPANY would enter/update person data under its own
section in its own db
b) at the BATTALION level... each Battalion Company delivers a copy
of its db to its Battalion office. The Battalion office would run an
import routine to update its db with the supplied Company data.
c) at the BRIGADE level... each Battalion delivers a copy of its db to
the Brigade office. The Brigade office would run an import routine
to update its db with the supplied Battalion data.
Each Company would have/see only it's own data. Each Battalion
would have/see only the data from it's 4 Companies. The Brigade
would have/see the data from its 4 Battalions (ie: the Brigade would
see *all* the data).
The "import routine" would be an Update query. You don't need to
be adding/deleting tables. Bloating can be taken care of with the
Compact/Repair function.
(Getting a db copied and delivered in a regular timely manner can
be a real pain. If your personnel offices at least have email, you
could use an email data-transfer utility. Schedule it to run after
hours. I did this a few years ago, for a local animal welfare group
that had several shelters in the area. It saved a lot of grief
The no-network approach is certainly more complicated, but it can
be just as clean as using a central db on a network. Either way,
searching and reporting would be a much simpler process.
hth,
John
----------------------
DB Structure...
I imagine your database would look something like this:
Relationships
- A Brigade has many Battalions
- Each Battalion has many Companies
- Each Company has many Persons
tblBattalion
BattID - PK
BattName
etc...
tblCompany
CompID - PK
BattID - FK from tblBattalion
CompName
etc...
tblPerson
PersID - PK
CompID - FK from tblCompany
PersFirst
PersLast
etc...
If this really is a military organization, then you probably already
have unique IDs assigned in the organization for each Person,
Company, Battalion. You could use these as the Primary and
Foreign keys.
=======================================
"Broadway" wrote...