SQLサーバーに作成したクエリをリンクテーブルとしてAccessに取り込む

SQLサーバー側にクエリを作って、それをリンクテーブルとしてAccess側に表示させたいのだが、いつもそのやり方を忘れてしまうので、メモ。

環境

  • SQLサーバー2016
  • Access2016
  • SQLのデータはリンクテーブルとしてAccess側に取り込んでいる

リンクテーブルマネージャーに表示されない

SQLサーバー側でクエリを作って保存したあと、Access側でリンクテーブルマネージャー開き、新しく作ったクエリを確認しようと思っても、リンクテーブルマネージャーに表示されていない。

まぁ当たり前の話だが、とても久しぶりにやると「あれ?」となってしまう。

ファイルデータソースを作成する

新しく作ったクエリをリンクテーブルとしてAccess側に取り込んでいないのだから、表示されるハズがない。
ので、リンクテーブルとして取り込んであげます。

Accessを開いたら、「外部データ」タブを選択し、「ODBCデータベース」をクリックします。
「ODBCデータベース」を選択します。
リンクテーブルを作成してソースデータにリンクするを選択し、OKをクリックする。
「リンクテーブルを作成してソースデータにリンクする」を選択します。
「データソースの選択」で「ファイルデータソース」タブを開き、「新規作成」をクリック
ファイルデータソースの選択

ファイルデータソースの設定を済ませている場合は「〇〇〇.dsn」というファイルが出来上がっているハズ。それを選択して「OK」か、なければ「新規作成」となる。

データソースドライバーにSQL Serverを選択して「次へ」をクリック
設定ファイル名を入力
構成内容を確認
サーバー名を入力
SQLサーバーへログインする認証方法を選択

14 SQLサーバーへのログインに使用する認証方法を選択

15 SQLログインの場合は、IDとパスワードを入力して「次へ」をクリック

既定のデータベースを選択して、次へをクリック
メッセージ言語を選択して、完了をクリック

18 「SQL Serverのシステムメッセージを以下の言語に変更する」をチェックして「Jananese」にする

19 「完了」をクリック

データソースのテストを行います。
ODBCデータソーステスト

テストの結果が問題がなく、「OK」をクリックしていくと

DSN名に作成したファイル名が入っているのを確認してOKをクリック

リンクテーブルを作成する

DSN名のところに作成した「ファイルデータソース名」が入っている状態で、OKをクリックすると、SQL Serverへログインします。

SQLサーバーへログインします。
リンクテーブルとして取り込むクエリを選択し、OKをクリックします。
リンクテーブルのユニークなフィールドをセンタします。
アクセスのナビゲーションに追加したリンクテーブルが表示されました。

まとめ

Access側のリンクテーブルとして表示させるには、当然SQLサーバーからリンクテーブルとして取り込んでやらなければいけません。

取り込み方は、設定ファイルさえ作れてしまえば簡単です。
途中つまずくとしたら、SQLサーバー名でパイプ名を入れないで「見つかりません」と言われるような場合でしょうか。

業務アプリの改修で、久々に触ると「これ、どうするのだった?」となるので、忘れないように記録しました。

おすすめの記事