would I use to detect any table or column differences between two Access databases
At the risk of being the person that always asks questions, what specifically do you mean by "detect any table or column differences between two Access databases"?
I can see several interpretations, like:
Comparing two databases in their entirety identifying tables and columns present in one and not the other, or columns that have different schema definitions (type, scale, null, etc)
Comparing two tables with the same name between databases looking for schema differences
Comparing two tables with the same name between databases looking for data content differences
. . .
You'll need to code:
1. A query with an outer join to detect records in database "A" not in database "B"
2. A query with an outer join that does the opposite (record in "B" not in "A").
3. Code like John suggested, although I don't know that I'd bother with a hash. Just open two recordsets, one for each table, then walk through the records and for each, loop through the fields collection and compare each.
I guess though it depends on how often you would do this, if it would be considered a "normal" operation of the DB (not you as a developer checking things, but rather some form of sync utility between two DB's).
Years ago, there was a product called "Data Angel", which did just this. But it never took off, why? Because in a well designed DB, it's rare to have to actually alter tables and when you do, often it involves much more than simply altering fields. Data typically needs to be transformed as well (i.e. you put in a new invoicing system, changing all the tables).
So there is no "one size" fits all type of approach.
IT issues often require a personalized solution. With Ask the Experts™, submit your questions to our certified professionals and receive unlimited, customized solutions that work for you.
Take hold of your future.