たとえば、Access デスクトップ データベースが 2 つ、または同じデータベースのバージョンが 2 つあり、それらを比較して、クエリ、フォーム、またはレポートの設計変更を見つけたいとします。 または、Visual Basic for Applications (VBA) コード モジュールの違いを見つけたいと思うかもしれません。 Microsoft Office Professional Plus 2013または 2016 年がある場合は、Microsoft Database Compare を使用して、検出された相違点に関するレポートを実行できます。
注: Access Web アプリケーションでは、データベース比較を使用できません。
データベース比較を開きます。
Windows 7 の場合: Windows の [スタート ] メニュー の [Office 2013 ツール] で、Microsoft Office 2013 を使用している場合は [ データベース比較 ] をクリックします。 Microsoft Office 2016 を使用している場合は、[Office 2016 ツール] で [データベース比較] を選択します。
Windows 8 の場合 [スタート] 画面で、[データベース比較] をクリックします。
[Windows 10 と In Windows 11 データベース比較を検索し、インストールされているバージョンを選択します。
データベース比較に加えて、Excel – Microsoft スプレッドシート比較のコンパニオン プログラムもあります。 また、Office Professional Plus 2013 も必要です。 (Windows 8で、「スプレッドシート比較」と入力して検索します)。
Windows エクスプローラーを使用してデータベース比較ツールを開くこともできます。 実行可能ファイルを見つける必要があります。場所は、32 ビットまたは 64 ビットの Windows オペレーティング システムを使用している場合や、サブスクリプション バージョンのOffice 365を使用している場合など、さまざまな条件によって異なる場合があります。 試してみる可能性のある場所を次に示します。
Office 2016 を使用している場合は、次のいずれかの場所を試してください。
-
C:\Program Files\Microsoft Office\Office16\DCF\DATABASECOMPARE.EXE
-
C:\Program Files (x86)\Microsoft Office\Office16\DCF\DATABASECOMPARE.EXE
Microsoft 365を使用している場合は、次のいずれかの場所を試してください。
-
C:\Program Files\Microsoft Office\Root\Office16\DCF\DATABASECOMPARE.EXE
-
C:\Program Files (x86)\Microsoft Office\root\Office16\DCF\DATABASECOMPARE.EXE
2 つの Access データベース ファイルを比較する
-
[比較] ボックスの右側にある参照ボタンをクリックして、"ベースライン" として使用するデータベース (または以前のバージョン) を参照して探します。
-
[対象] ボックスの右側にあるボタンをクリックして、"変更された" データベース (または最新のバージョン) を参照して探します。
-
[レポート オプション] で、比較するデータベース オブジェクトまたはアイテム (テーブル、クエリ、マクロ、モジュール、レポート、Forms、またはページ) を選択します。
-
[レポートの値] で、変更に関する詳細なレポートを表示する場合は [完全]、簡潔なレポートにする場合は [簡易] を選びます。 どちらのオプションでも報告される結果は同じですが、[簡易] を選んだ場合のレポートは簡潔な形式になります。
-
ウィンドウの下部にある [比較] をクリックしてレポートを実行します。
-
レポートが完了したら、[結果] タブをクリックすると、アイテムについて新しいウィンドウで 1 行ごとに詳しい比較が表示されます。
結果を理解する
上の例では、Table1 のデザインが変更されました。FName フィールドと LName フィールドの名前が名と姓に変更され、Office フィールドのデータ型が数値から短いテキストに変更され、Dept フィールドと Hire Date フィールドがテーブルに追加されました。 比較の結果を確認するときに知っておく必要がある点を次に示します。
-
名前が変更されたオブジェクトやオブジェクト コンポーネント (テーブルの列、フォーム内のテキスト ボックスなど) は "追加" と表示され、オリジナルは "削除" と表示されます。
-
オブジェクトのプロパティが変更されると、そのプロパティは "変更" と報告されます。
-
VBA コード モジュールまたは Access マクロに違いがある場合は、変更の詳細が 3 つの列に表示されます。 元のテキストまたはコードが [古い値 ] 列に表示され、新しいテキストまたはコードが [新しい値 ] 列に表示され、[モジュールの変更] や [マクロ定義の変更] などの一般的な情報が [説明の変更 ] 列に表示されます。
-
VBA コードにおける差分の行ごとの比較を表示するには、[結果] タブをクリックし、コードが含まれるモジュール名をクリックし、[詳細] をクリックするかモジュール名をダブルクリックします。 新しいウィンドウが表示され、オリジナルのコードの行は黄色の背景で、更新されたコードの行は赤色の背景で示されます。 クエリや Access モジュールの差分もこの方法で表示できます。
データベース比較でできること
データベース比較を使用して、2 つの Access デスクトップ データベース ファイルまたは同じファイルの 2 つのバージョン間の設計変更を検索します。 データベース比較では、テーブル、クエリ、フォーム、レポート、VBA モジュールなどのオブジェクトの追加、削除、または名前変更に関するアラートが表示されます。 また、テーブル内の新しいフィールド、削除されたフィールド、名前の変更されたフィールド、クエリに対するあらゆる種類の変更、フォームまたはレポートのプロパティの変更、または変更された VBA コードなど、これらのオブジェクトの最小のデザイン変更も検出されます。
データベース比較では、テーブルに格納されている データ の変更は検索されませんが、テーブルまたはクエリ結果を Excel ブックにエクスポートすることで、スプレッドシート比較でこれらの 2 つのブックを比較できます。 レコードの更新を表示するために Access データをエクスポートする方法について説明します。
次のステップ
organizationに "ミッション クリティカル" の Excel ブックまたは Access データベースがある場合は、Microsoft のスプレッドシートとデータベース管理ツールのインストールを検討してください。 Microsoft 監査/統制管理サーバー は、Excel および Access ファイルに対して強力な変更管理機能を提供し、インベントリと分析機能を提供する Microsoft 検出/リスク評価によって補完されます。これらはすべて、Excel および Access のエンド ユーザーによって開発されたツールの使用に関連するリスクを軽減することを目的としています。