Access データベースのデータを、さまざまな方法で別の Access データベースに移すことができます。 データを別のデータベースに移すには、コピーして貼り付けるのが最も簡単な方法ですが、インポートとリンク設定を使うと、移す対象のデータとそのデータを目的のデータベースに移す方法について、優れた制御と柔軟性が得られます。
この記事では、別の Access データベースのデータをインポートまたはリンク設定する方法について説明します。
目的に合ったトピックをクリックしてください
別の Access データベースのデータのインポートとリンクを設定する方法について
別のデータベースからインポートする場合、Accessはソースを変更せずに移行先データベースにデータのコピーを作成します。 インポート操作中に、コピーするオブジェクトの選択、テーブルとクエリのインポート方法の制御、テーブル間の関係をインポートするかどうかの指定などができます。
たとえば、データをインポートして、別のデータベースに存在するテーブルと似たテーブルを作成することができます。 テーブル全体をコピーするか、テーブル定義のみをコピーしてこれらのテーブルを手動でデザインする手間を省くことができます。 テーブル定義のみをインポートすることを選択すると、空のテーブルが作成されます。 つまり、フィールドとフィールド プロパティはインポート先のデータベースにコピーされますが、テーブルのデータはコピーされません。 コピーと貼り付けに比べた場合のインポートのもう 1 つの利点は、テーブルそのものと同時にテーブル間のリレーションシップもインポートすることを選択できることです。
データベースのレコードを、別のデータベースの既存のテーブルに追加するのが目的であれば、新しいテーブルにレコードをインポートして、次に追加クエリを作成することを検討してください。 インポート操作では、既存のテーブルにレコードを追加できません。 追加クエリの詳細については、「追加クエリを使用してテーブルから他のテーブルにレコードを追加する」の記事を参照してください。
組織で複数の Access データベースを使用していて、Employees などの一部のテーブルのデータをさまざまなデータベース間で共有する必要がある場合でも、別の Access データベースのデータにリンクできます。 この場合、各データベースでテーブルを複製する代わりに、単一のデータベースにテーブルを保持して、他のデータベースからそのテーブルにリンクすることができます。 別のワークグループまたは部門がデータベースにデータを追加して使用できるようにする必要があっても、ユーザーは引き続きテーブルの構造を所有することができます。
別の Access データベースからデータをインポートする
データをインポートするには、以下の一般的な手順に従います。
-
インポートの準備を行う
-
インポート ウィザードを実行する
-
オプションで、後で再利用するためにインポート設定をインポート定義として保存する
以下の手順では、各操作を実行する方法を説明します。
インポートの準備を行う
-
ソース データベースを見つけ、インポートするオブジェクトを確認します。
ソース データベースが .mdb ファイルか .accdb ファイルの場合は、テーブル、クエリ、フォーム、レポート、マクロ、モジュールをインポートできます。 ソース ファイルが .mde ファイルか .accde ファイルの場合は、テーブルのみをインポートできます。
-
初めて Access データベースからデータをインポートする場合は、以下の表の役立つヒントを参照してください。
要素
説明
複数のオブジェクト
複数のオブジェクトを 1 回のインポート操作でインポートできます。
新しいオブジェクト
インポート操作ごとに、インポート先のデータベースに新しいオブジェクトが作成されます。 インポート操作で、既存のオブジェクトを上書きしたり、既存のテーブルにレコードを追加したりすることはできません。
リンク テーブルのインポート
ソース テーブル (たとえば、Sales データベースの Employees1) が実際はリンク テーブル (Payroll データベースの Employees テーブルにリンクされているテーブル) の場合、現在のインポート操作はリンク設定操作に置き換えられます。 操作の終了時には、元のソース テーブル (Payroll データベースの Employees) にリンクされたリンク テーブル (たとえば、Employees1) が表示されます。
フィールドおよびレコードのスキップ
テーブルまたはクエリのデータをインポートする場合は、特定のフィールドまたはレコードをスキップすることはできません。 ただし、テーブル内のレコードをインポートしない場合は、テーブル定義のみをインポートできます。
リレーションシップ
ソース テーブル間のリレーションシップをインポートできます。
テーブル定義
テーブル全体をインポートするか、テーブル定義のみをインポートするかを選ぶことができます。 定義のみをインポートする場合は、ソース テーブルと同じフィールドを持つ、データを含まないテーブルが作成されます。
ルックアップ フィールド
ソース テーブルのフィールドが別のテーブルまたはクエリの値を参照している場合、インポート先のフィールドで参照値を表示させるには、関連付けられているテーブルまたはクエリをインポートする必要があります。 関連付けられているテーブルまたはクエリをインポートしない場合は、インポート先のフィールドに参照 ID のみが表示されます。
クエリ
クエリはクエリまたはテーブルとしてインポートできます。 クエリをクエリとしてインポートした場合は、次に基になるテーブルをインポートする必要があります。
-
ソース データベースを閉じます。 他のユーザーがそのデータベースを排他モードで開いていないことを確認します。
-
インポート先のデータベースを開きます。 データベースが読み取り専用でないこと、またデータベースにオブジェクトとデータを追加するのに必要な権限があることを確認します。
ソース データベースがパスワードで保護されている場合、インポート操作でそのデータベースをソースとして使うたびに、パスワードの入力を求めるメッセージが表示されます。
注: データを新しいデータベースにインポートする場合は、インポート操作を開始する前に、テーブル、フォーム、レポートなどを含まない空のデータベースを作成しておく必要があります。
このインポート操作では、既存のテーブルまたはオブジェクトに対する上書きや変更は行われません。 インポート先のデータベースにソース オブジェクトと同じ名前のオブジェクトが既に存在する場合は、インポート オブジェクト名に数字 (1、2、3、以下同様) が追加されます。 たとえば、Issues という名前のテーブルが既に存在するデータベースに Issues テーブルをインポートすると、インポートされたテーブルの名前は Issues1 になります。 Issues1 という名前が既に使われている場合、新しいテーブルの名前は Issues2 となります。
ソース テーブルのレコードをインポート先のデータベースのテーブルに追加する場合は、インポート操作を実行するのではなく、追加クエリを使う必要があることに注意してください。 追加クエリの詳細については、「追加クエリを使用してテーブルから他のテーブルにレコードを追加する」の記事を参照してください。
データをインポートする
-
インポート ウィザードの場所は、Access のバージョンによって若干異なります。 Access のバージョンに対応した手順を選択してください。
-
[外部データ] タブで Microsoft 365、 Access 2021、または Access 2019 を使用している場合は、[& リンクのインポート] グループで、[新しいデータ ソース] > [データベースからアクセス] をクリック >。
-
Access 2016を使用している場合は、[ 外部データ ] タブの [ & リンクのインポート ] グループで、[ アクセス] をクリックします。
-
-
[外部データの取り込み - Access データベース] のインポート ウィザードおよびリンク ウィザードが開きます。
-
[ファイル名] ボックスにソース データベース名を入力するか、[参照] をクリックして [ファイルを開く] ダイアログ ボックスを表示します。
-
[現在のデータベースにテーブル、クエリ、フォーム、レポート、マクロ、モジュールをインポートする] をオンにして、[OK] をクリックします。
[オブジェクトのインポート] ダイアログ ボックスが開きます。
-
[オブジェクトのインポート] ダイアログ ボックスの [テーブル] で、インポートするテーブルを選択します。 クエリをインポートする場合は、[クエリ] タブをクリックして、インポートするクエリを選択します。
選んだオブジェクトを取り消すには、もう一度オブジェクトをクリックします。
-
[オプション] をクリックして追加の設定を指定します。
以下の表に、各オプションがどのようにインポート結果に影響するかを示します。
要素
説明
[リレーションシップ] チェック ボックス
選んだテーブル間のリレーションシップをインポートする場合にオンにします。
[メニューとツールバー] チェック ボックス
ソース データベースに含まれるカスタム メニューとツール バーをインポートする場合にオンにします。 メニューとツール バーは [アドイン] タブに表示されます。
[インポート/エクスポートの定義] チェック ボックス
ソース データベースに含まれる保存済みのインポートまたはエクスポートの定義をインポートする場合にオンにします。
[ナビゲーション ウィンドウ グループ] チェック ボックス
ソース データベースに含まれるナビゲーション ウィンドウのカスタム グループをインポートする場合にオンにします。
[テーブル構造とデータ]
選んだすべてのテーブルの構造とデータをインポートする場合にクリックします。
[テーブル構造のみ]
選んだテーブルのフィールドのみをインポートする場合にクリックします。 ソース レコードはインポートされません。
[クエリとしてインポート]
選んだクエリをクエリとしてインポートする場合にクリックします。 この場合、クエリと共に基になるテーブルもすべてインポートする必要があります。
[テーブルとしてインポート]
クエリをテーブルとしてインポートする場合にクリックします。 この場合、基になるテーブルをインポートする必要はありません。
-
[OK] をクリックし、操作を終了します。
Access によって問題が検出された場合は、データがコピーされ、エラー メッセージが表示されます。 オブジェクトのインポート操作が正常に完了すると、ウィザードの最後のページで、今後利用するために操作の詳細設定をインポート定義として保存できます。
別の Access データベースのデータへのリンクを設定する
リンク設定により、別のデータベースのデータにインポートすることなく接続することができ、リンク先とリンク元の両方のデータベースで同じデータの 2 つのコピーを作成して維持することなく、最新のデータを表示および修正できるようになります。 リンクできるのは、別の Access データベースにあるテーブルのみです。 クエリ、フォーム、レポート、マクロ、モジュールにはリンクできません。
Access データベースのテーブルへのリンクを設定すると、ソース レコードとフィールドへのリンクを維持する、リンク テーブルとも呼ばれる新しいテーブルが作成されます。 ソース データベースのデータに対して行われた変更は、リンク先のデータベースのリンク テーブルにも反映され、逆の場合も同様です。 ただし、リンク先のデータベースのリンク テーブルの構造を変更することはできません。 つまり、リンク テーブルに対して、フィールドの追加または削除やフィールドのデータ型の変更などの修正を行うことはできません。
別の Access データベースのデータにリンクを設定するには、次の手順を実行します。
-
リンクの設定の準備をする
-
リンク ウィザードを実行する
以下の手順では、各操作を実行する方法について説明します。
Access データベースのテーブルへのリンク設定を準備する
-
ソース データベースを見つけます。
MDB、MDE、ACCDB、または ACCDE 形式のファイルを使用できます。 ソース データベースがパスワードで保護されている場合は、リンク設定中にパスワードの入力を求めるメッセージが表示されます。
-
リンク先のテーブルを特定します。 テーブルにはリンクを設定できますが、クエリ、フォーム、レポート、マクロ、モジュールにはリンクを設定できません。 初めて別の Access データベースでリンクを設定する場合は、以下の表の役立つヒントをご覧ください。
要素
説明
複数のオブジェクト
複数のテーブルへのリンクを 1 回のリンク設定操作で設定できます。 各ソース テーブルに対してリンク テーブルが作成されます。
ソースとしてのリンク テーブル
ソース データベースで既にリンク テーブルとなっているテーブルにリンクすることはできません。
たとえば、リンクしようとしている Sales データベースの Employees1 テーブルが、実際には Payroll データベースの Employees テーブルにリンクされているリンク テーブルである場合は、Sales データベースの Employees1 テーブルをソース テーブルとして使うことはできません。 この場合は、Payroll データベースの Employees テーブルに直接リンクする必要があります。
新規または既存のテーブル
リンク設定操作ごとに、各ソース テーブルの新しいリンク テーブルが作成されます。 リンク設定操作で、既存のテーブルに対して上書きまたは追加を行うことはできません。
リレーションシップ
複数のソース テーブルを選んだ場合、テーブル間のリレーションシップは自動的にリンク先のデータベースに適用されます。 ただし、リンク先のデータベースでリレーションシップを変更したり削除したりすることはできません。
ルックアップ フィールド
ソース テーブルのフィールドが別のテーブルの値を参照している場合、リンク先のフィールドでもこの参照値を表示するには、関連付けられているテーブルへのリンクも設定する必要があります。 関連付けられているテーブルまたはクエリにリンクしない場合は、リンク先のフィールドに参照 ID のみが表示されます。
-
ソース データベースを閉じます。 他のユーザーがそのデータベースを排他モードで開いていないことを確認します。
-
リンク先のデータベースを開きます。 リンク先のデータベースが読み取り専用でないこと、またデータベースにオブジェクトとデータを追加するのに必要な権限があることを確認します。
注: 新しいデータベースでリンクを作成する場合は、リンクの設定を開始する前に空のデータベース (テーブル、フォーム、またはレポートが含まれていないデータベース) を作成する必要があります。
この操作では、既存のテーブルまたはオブジェクトに対する上書きや変更は行われません。 リンク先のデータベースにソース オブジェクトと同じ名前のオブジェクトが既に存在する場合は、リンク テーブル名に数字 (1、2、3、以下同様) が追加されます。 たとえば、Issue という名前のテーブルが既に存在するデータベースから Issues テーブルへのリンクを設定すると、リンク テーブル名は Issues1 となります。 Issues1 という名前が既に使われている場合、新しいテーブルの名前は Issues2 となります。
ソース テーブルのレコードをリンク先のデータベースのテーブルに追加する場合は、リンク設定操作を実行するのではなく、追加クエリを使う必要があることに注意してください。
追加クエリの詳細については、「追加クエリを使ってレコードをテーブルに追加する」の記事を参照してください。
データにリンクする
-
リンク ウィザードの場所は、Access のバージョンによって若干異なります。 Access のバージョンに対応する手順を選択してください。
-
[外部データ] タブで Microsoft 365、 Access 2021、または Access 2019 を使用している場合は、[& リンクのインポート] グループで、[新しいデータ ソース] > [データベースからアクセス] をクリック >。
-
Access 2016を使用している場合は、[ 外部データ ] タブの [ & リンクのインポート ] グループで、[ アクセス] をクリックします。
-
-
[外部データの取り込み - Access データベース] のインポート ウィザードおよびリンク ウィザードが開きます。
-
[ファイル名] ボックスにソース データベース名を入力するか、[参照] をクリックして [ファイルを開く] ダイアログ ボックスを表示します。
-
[リンク テーブルを作成してソース データにリンクする] をクリックし、[OK] をクリックします。
[リンク テーブル] ダイアログ ボックスが開きます。
-
[テーブルのリンク] ダイアログ ボックスで、リンクするテーブルを選びます。
選択を取り消すには、もう一度テーブルをクリックします。
-
[OK] をクリックして操作を完了します。
リンク テーブルが作成されます。
-
データシート ビューでリンク テーブルを開き、データが正しく表示されることを確認します。
他に必要な情報はありますか?
-
インポート定義を後で利用できるように保存する方法の詳細については、「インポートやエクスポートの操作の詳細を定義として保存する」の記事を参照してください。
-
保存済みのインポート定義を実行する方法の詳細については、「保存済みのインポート操作またはエクスポート操作を実行する」の記事を参照してください。
-
スケジュールを設定して任意の時刻で実行する方法の詳細については、「インポート操作やエクスポート操作のスケジュールを設定する」を参照してください。
-
定義名の変更、定義の削除、定義のソース ファイル名の更新を行う方法の詳細については、「データ操作を管理する」の記事を参照してください。