Cliff,
Some background on my efforts. We had several SQL Server databases that
had the same structure, but different data. The typical database consisted
of about 160 tables, with a total of about 300,000 rows. I used an Access
front-end to examine them and was surprised at how fast it ran (~ 2 minutes).
My approach was:
1) Go to the Master Database & retrieve all DB Names, the user selects
a Source & Target Database Name.
2) Go to SysObjects for one of the databases & retrieve all of the
table names.
3) For each table use SysColumns to generate three Stored Procedures
to send to the Server: CheckInsert, CheckDelete and CheckUpdate.
I'm on break from a VB.NET class, so I'll post a sample later tonight.
4) Execute the three scripts.
This worked real well in the SQL server environment, but Access databases
present a few technical changes. I'd modify the process as follows:
1) I'd make a copy of Database A. Then, I'd link all of the tables in
Database B. The end result would be that each table in Database A would
have its twin with a "1" appended to its name.
2) Use the TableDefs collection to get all of the table names.
3) For each table, use the FieldDefs collection to get all of the field
names.
4) For each table, write three QueryDefs to check for the data.
5) Run the QueryDefs.
Notes:
======
1) To check for the Deletes/Inserts, you'll have to know the Primary
Key(s) for that table. That's why you'll need different queries to
check for the Addition/Omission of the PKs between the two tables.
2) Knowing the Primary Keys for the tables will let you REPORT the
results into some kind of Transaction table. You have to convey:
Table --> Action --> Primary Key(s).
3) I'd expect the Access environment (Jet) to be a lot slower. I got
away with using (Select ... Where Not In ...). To make it easier for
Jet, you'll just have to do Joins where "B.PK Is Null".
The reason that I said "How serious are you?" is that the effort requires
a good bit of learning; VBA coding, queries for detection/reporting, and
knowledge of TableDefs, FieldDefs, QueryDefs, etc.
I'd be happy to help you through the process.
Will check in on you later.
Wayne