ACCESS リンクテーブルマネージャーでリンク先を変更する方法

ACCESSのリンクテーブルマネージャーを使ったことがあるでしょうか?

ACCESSはテーブルが入ったデータ部分と、クエリやフォーム、モジュールが入ったプログラム部分にデータベースを分割することができます。
これはデータの破損を防いだり、誤ってテーブルを削除してしまうことを防ぐ便利な機能です。

データベースを分割した後で、リンク先となったデータ部分のファイルの置き場所を変えてしまうと、リンク切れが発生してしまいます。
そういった場合に使用するのがリンクテーブルマネージャーです。

今回は、リンクテーブルマネージャーを使って、リンク先を変更する方法おお教えします。


こんにちは。
はこにわガジェット (@hakoniwagadget) です。

ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSの基本的な使い方をご紹介していきます。

ACCESS起動時にファイルが見つからないというエラーメッセージ

ACCESSを立ち上げて下記のような「ファイル〇〇が見つかりませんでした」とエラーメッセージが出るときは、リンク先のテーブルが見つけられないという意味です。

これは、ACCESSのファイル間の連携が切れてしまっているときに表示されるメッセージです。
おそらく、ACCESSファイルの置き場所を変えたか、PCを買い替えたかを下のではないでしょうか。

こんな時はリンクテーブルマネージャーの出番です。

リンクテーブルマネージャーの利用方法

リンクテーブルマネージャーはリンクテーブルのリンク先のファイルを変更する際に使用する機能です。
例えば、リンク先のファイルの置き場所が変わったときや、パソコンを買い替えて改めてファイルのリンクをし直すときなどに利用されます。

それでは、リンクテーブルマネージャーの利用方法をご説明します。

まずはフロントエンド部分のACCESS(リンクを参照する側)を立ち上げ、ツールバーから「外部データ」→「リンクテーブルマネージャー」を選択します。

すると、下記のようにデータソースの一覧が表示されます。
更新するデータソースを選択し「再リンク」ボタンを押すことでテーブルのリンク再設定が可能です。

エクスプローラーでリンク先のバックエンドファイルを選択しましょう。
リンク先の更新が終わると、下記の画面が表示されます。

これでリンク先の更新が完了します。

また、古いバージョンのACCESSをご利用の方は以下の画面が表示されるかもしれません。
こちらのケースはリンク先を更新するテーブルの一覧が表示されます。

この画面でリンク先を変更するテーブルを選択します。

通常は全テーブル一気に更新しますので、「すべて選択」を使うことが多いですが、ここでは2つのテーブルを選択してみましょう。

そして「OK」を押すと、現在リンク先のテーブル部分ファイルが見つからない場合は、テーブル部分ファイルの場所を聞かれますので選択します。一方、ACCESSも賢いもので同じフォルダなどにテーブル部分ファイルがあれば自動で探して紐づけてくれます。

ただ、例えば同じフォルダにテーブル部分ファイルがあったとしても、別のテーブル部分ファイルに紐づけたい場合があります。こういったときにACCESSが自動で紐づけてくれる機能は邪魔になります。この場合には、一番下の「リンク先を更新するためのプロンプトを毎回表示する」というチェックを入れることでファイルの有無にかかわらず、テーブル部分ファイルを手動で選択できるようになります。

これでテーブルが無事に更新され、今まで通り利用できるようになるはずです。

ACCESSのリンクテーブルとは

ここからは上記の作業の前提となる知識のご紹介です。
そもそも、リンクテーブルとは何でしょうか。

下記の画面を見てください。
テーブルの左側に矢印のマークがついていますね。
これがテーブルがリンクされているマークです。

このマークがついているということは、テーブルの情報は現在開いているACCESSのファイル内にはなく、別のACCESSのファイルのテーブルを参照していることになります。

以下のようなイメージです。

リンク元のACCESSファイルにはテーブルの実データが存在せず、リンク先のテーブルをあたかも自分のファイル内にあるかのように扱います。

なぜこんな面倒なことをするのでしょうか?
リンクテーブルが利用される理由は大きく3つあります。

複数人が操作するデータベースにおいて、データ自体が壊れることを防ぐため

リンクテーブルを利用する最大の理由が、データが壊れることを防ぐことです。

ACCESSは単一のファイルの中に、テーブルに格納されたデータ自体と、クエリやVBAなどの処理を全て保有しています。
中には非常に重要なデータを格納している場合もあるでしょう。

ACCESSファイルは複数人で共有して利用することが多いので、同時利用によってファイルが壊れることがあります。
これを防ぐために、データの入っているバックエンド部分と、クエリやフォーム、VBAからなるフロントエンド部分にファイルを分割し、フロントエンド部分を各利用者に配布して利用させるという形式がとられることが多いのです。

バックエンド部分のファイルは共有サーバなどに置き、フロントエンド部分のファイルからリンクテーブルで接続させたうえで、定期的にバックアップを取っておくとかなり運用が安定します。

データベースファイルの容量削減

2つ目の理由は単純にファイルの容量削減です。

ACCESSデータベースはWindows上のファイルですので、1ファイル2GBが容量の上限です。
しかし、長く使っているとどんどんデータがたまって容量が大きくなってしまうことがあります。

こうした際に過去のデータや一部のテーブルを別のACCESSファイルに切り出して、リンクテーブルで接続することで、ファイルの容量圧縮を図ることができます。

メンテナンスの効率化

最後の理由はメンテナンスの効率化です。

ACCESSのデータがすべて1ファイルに入っていると、不具合があって修正したり、機能を追加するために改修している際はファイルを使用することができません。

通常、こうした場合はデータをバックアップして別ファイルに修正を行い、本番に戻すことになります。
こうした修正期間中に本番ファイルにデータを入力してしまうと、後から修正版を上書きすることで追加したデータが消えてしまう懸念があります。

こうした場合に、ACCESSのファイルをフロントエンド部分とバックエンド部分に分割しておけば、修正したファイルをフロントエンド部分だけ上書きすることで、データ入力を止めることなく反映させることができます。
※ ただし、テーブル部分の修正がない場合のみ。

これらの理由から、ACCESSのファイルを分割して使用しているケースはよく見かけられます。

以上、ACCESSのリンクテーブルマネージャーでリンク先を変更する方法をご紹介しました。


ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。

そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。

ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

サービス一覧

最後までお読みいただき、ありがとうございました。