【Access】リンクテーブルで別のデータベースに接続する方法

「Accessで別のデータベースに接続したいけどVBAは詳しくない…」

そんなお悩みは、Accessの「リンクテーブル」機能で簡単に解決することができます。

本記事ではAccessのリンクテーブルを使って別のデータベースに接続する方法を解説します。

この記事で分かること
  • リンクテーブルの基本的な仕組み
  • リンクテーブルの作成手順
  • メリット・デメリットの理解
  • 運用時に注意すべきポイント
目次

リンクテーブルとは

リンクテーブルとは、Accessで他のデータベースや外部データを自分のテーブルのように扱える機能です。

実際のデータは元のデータベースに保存されリンク先のテーブルを参照して表示・編集を行います。

そのためデータをコピーすることなく複数のデータベース間で同じデータを共有できるのが特徴です。

また、元データが更新されるとリンク先にも自動的に反映されます。

  • 元データを共有できデータの二重管理を防げる
  • リンク先のデータを直接編集できる
  • 別ファイルのテーブルを簡単に扱える
  • データが自動的に更新される

リンクテーブルの作成方法

実際にリンクテーブルを作成する手順を解説します。

Accessデータベースへのリンク設定

メニュータブの「外部データ」→「新しいデータソース」→「データベースから」→「Access」をクリックします。

Access 外部データからAccessデータベースを選択している画面

「参照」ボタンをクリックしてリンクしたいデータベースを選択します。

Access リンクするデータベースファイルを参照で選択している画面

「リンクテーブルを作成してソースデータにリンクする」を選択し、「OK」をクリックします。

Access リンクテーブルを作成してソースデータにリンクするを選択している画面

テーブルのリンク

リンクしたいテーブルを選択します(複数選択も可能です)。

すべてのテーブルをリンクしたい場合は「すべて選択」をクリックします。

Access テーブル一覧で全て選択をクリックしている画面

「OK」をクリックするとリンクテーブルが作成されます。

Access テーブルリンクのOKボタンをクリックしている画面
Access リンクテーブルが作成され矢印アイコンが表示されている画面

確認方法

テーブルアイコンの左側に「矢印マーク」が付いていればリンクテーブルです。

動作確認

作成したリンクテーブルを開き元データの内容が表示されているか確認しましょう。

Access リンクテーブルを開きデータが表示されている画面

また、元データ側でレコードを更新するとリンクテーブルにも反映されることが確認できます。

リンクテーブルのメリット・デメリット

メリット

VBA不要で簡単に接続できる

リンクテーブルの最大のメリットは、VBAを使わずに外部データベースへ接続できることです。

通常VBAで別データベースのデータを取得する場合は、

以下のようにConnectionRecordsetを使ったコードを書く必要があります。

Dim cn As ADODB.Connection
Set cn = New ADODB.Connection

Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset

cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\パス\Sample.accdb;"

rs.Open "SELECT * FROM T顧客", cn, adOpenStatic, adLockReadOnly

rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing

このようにVBAでの実装にはコードの記述やエラー対応が必要になります。

一方でリンクテーブルを使えば画面操作だけで外部データベースに接続できるため、初心者でも簡単に扱えるのが大きなメリットです。

👇ADODBで別データベースに接続する方法については以下の記事で詳しく解説しています。

既存のクエリやフォームからそのまま使える

リンクテーブルは通常のテーブルと同じように扱えるため、既存のクエリやフォームからそのまま利用できます。

そのため大きな改修を行うことなく外部データベースを取り込めるのもメリットです。

ポイント

  • ノーコードで外部データベースに接続できる
  • 設定後は通常のテーブルと同じように扱える
  • 既存のクエリやフォームをそのまま活用できる

デメリット

処理速度が遅くなる場合がある

リンクテーブルは外部データベースのデータを都度参照する仕組みのため、クエリやフォームでデータを扱うたびに読み込みが発生します。

また、必要なデータだけでなくテーブル全体を参照するケースもあり、

レコード数が多い場合や複雑な処理では速度が低下しやすくなります。

ネットワーク環境に影響されやすい

ネットワーク上のデータベースを参照している場合は、通信状況によって動作速度や安定性が大きく影響を受けます。

通信が不安定な環境では表示が遅くなったりエラーが発生することもあるため注意が必要です。

ポイント

  • データ取得のたびに外部アクセスが発生する
  • 大量データや複雑な処理で速度が低下しやすい
  • ネットワーク環境によって速度が左右される

リンクテーブルを使う際の注意点

同時使用時のロックに注意

複数ユーザーで同じデータを同時に編集するとレコードロックが発生する場合があります。

特に共有フォルダ上のAccessファイルを使用している場合は注意が必要です。

ロックが発生すると「他のユーザーが編集中です」と表示され、更新できないケースがあります。

接続先のパス変更に注意

リンクテーブルは元データベースのパスに依存しています。

ファイルのディレクトリやファイル名を変更するとリンクが切れてしまうため、その場合はリンクマネージャーで再設定が必要になります。

特にフォルダ構成を変更した際にリンク切れが発生しやすいので注意しましょう。

ネットワーク環境に依存する

ネットワーク上のデータベースを参照している場合は通信状況によって動作速度が影響を受けます。

通信が不安定な環境では、表示が遅くなったりエラーが発生することもあります。

社内ネットワークやVPN環境での利用時には特に注意しましょう。

まとめ

今回はAccessのリンクテーブルを使って別のデータベースに接続する方法を解説しました。

リンクテーブルは簡単に設定できる便利な機能ですが、動作速度の低下につながる場合もあります。

扱うデータ量や使用環境に応じてVBA(ADODB)との使い分けを意識しましょう。

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

CAPTCHA

目次