試してみてください。
SELECT Min(tmp.TableName) AS TableName, tmp.ID, tmp.CO1
FROM
(SELECT 'RECIPETABLE1' as TableName, sc_head.ID, sc_head.CO1
FROM sc_head IN 'C:\MyRecipes\old.mdb'
UNION ALL
SELECT 'RECIPETABLE2' as TableName, compare_sc_head.ID, compare_sc_head.CO1
FROM compare_sc_head in 'C:\MyRecipes\new.mdb') As tmp
GROUP BY tmp.ID, tmp.CO1
HAVING Count(*)=1
ORDER BY tmp.ID
しかし、私は比較のために少しVBAを使用することが容易になるだろう示唆しています。
クエリデザインウィンドウを使用して単一のテーブルと非常に少数のフィールドを比較するとあまりにも不快ではありませんが、より多くのテーブルのテーブルではVBAを使用する方がはるかに簡単です。
クエリのデザインウィンドウで実行されるクエリは次のとおりです。
NEWDB内のレコードではなくOldDB
で
SELECT n.ID, n.CO1
FROM
(SELECT ID, CO1
FROM compare_sc_head
IN 'C:\MyRecipes\new.mdb') AS n
LEFT JOIN
(SELECT ID, CO1
FROM sc_head
IN 'C:\MyRecipes\old.mdb') AS o
ON n.ID = o.ID
WHERE o.ID Is Null
OldDBで記録したがNEWDB
SELECT o.ID, o.CO1
FROM
(SELECT ID, CO1
FROM sc_head
IN 'C:\MyRecipes\old.mdb') AS o
LEFT JOIN
(SELECT ID, CO1
FROM compare_sc_head
IN 'C:\MyRecipes\new.mdb') AS n
ON o.ID = n.ID
WHERE n.ID Is Null
にレコードIDが一致していないが、CO1が
SELECT n.ID, n.CO1, o.CO1
FROM
(SELECT ID, CO1
FROM sc_head
IN 'C:\MyRecipes\old.mdb') AS o
INNER JOIN
(SELECT ID, CO1
FROM compare_sc_head
IN 'C:\MyRecipes\new.mdb') AS n
ON o.ID = n.ID
WHERE n.CO1 & "" <> o.CO1 & ""
補正いただきありがとうございますされません。実行すると別のエラーが表示されます:Union Queryで構文エラーが発生しました。 – JohnMunich
@JohnMunichごめんなさい、私は訂正してテストしました – Fionnuala
素晴らしいです!今度はこれが動作します。このスクリプトを実行すると、変更されたフィールドだけでなく、すべてのフィールドが表示されます。他の方法はありますか? – JohnMunich