![SQLサーバーに作成したクエリをリンクテーブルとしてAccessに取り込む](https://tamajiro.net/wp-content/uploads/2020/10/technology-791029_1280.jpg)
SQLサーバー側にクエリを作って、それをリンクテーブルとしてAccess側に表示させたいのだが、いつもそのやり方を忘れてしまうので、メモ。
環境
- SQLサーバー2016
- Access2016
- SQLのデータはリンクテーブルとしてAccess側に取り込んでいる
リンクテーブルマネージャーに表示されない
SQLサーバー側でクエリを作って保存したあと、Access側でリンクテーブルマネージャー開き、新しく作ったクエリを確認しようと思っても、リンクテーブルマネージャーに表示されていない。
まぁ当たり前の話だが、とても久しぶりにやると「あれ?」となってしまう。
ファイルデータソースを作成する
新しく作ったクエリをリンクテーブルとしてAccess側に取り込んでいないのだから、表示されるハズがない。
ので、リンクテーブルとして取り込んであげます。
![Accessを開いたら、「外部データ」タブを選択し、「ODBCデータベース」をクリックします。](https://tamajiro.net/wp-content/uploads/2020/10/access-odbc.png)
![リンクテーブルを作成してソースデータにリンクするを選択し、OKをクリックする。](https://tamajiro.net/wp-content/uploads/2020/10/select-linktable.png)
![「データソースの選択」で「ファイルデータソース」タブを開き、「新規作成」をクリック](https://tamajiro.net/wp-content/uploads/2020/10/filedatasource-createnew.png)
ファイルデータソースの設定を済ませている場合は「〇〇〇.dsn」というファイルが出来上がっているハズ。それを選択して「OK」か、なければ「新規作成」となる。
![データソースドライバーにSQL Serverを選択して「次へ」をクリック](https://tamajiro.net/wp-content/uploads/2020/10/データソースの新規作成.png)
![設定ファイル名を入力](https://tamajiro.net/wp-content/uploads/2020/10/データソースの新規作成-保存.png)
![構成内容を確認](https://tamajiro.net/wp-content/uploads/2020/10/データソースの新規作成-完了.png)
![サーバー名を入力](https://tamajiro.net/wp-content/uploads/2020/10/create-datasource-servername.png)
![SQLサーバーへログインする認証方法を選択](https://tamajiro.net/wp-content/uploads/2020/10/datasource-user-password.png)
14 SQLサーバーへのログインに使用する認証方法を選択
15 SQLログインの場合は、IDとパスワードを入力して「次へ」をクリック
![既定のデータベースを選択して、次へをクリック](https://tamajiro.net/wp-content/uploads/2020/10/datasource-defaultdb.png)
![メッセージ言語を選択して、完了をクリック](https://tamajiro.net/wp-content/uploads/2020/10/datasource-language-1.png)
18 「SQL Serverのシステムメッセージを以下の言語に変更する」をチェックして「Jananese」にする
19 「完了」をクリック
![データソースのテストを行います。](https://tamajiro.net/wp-content/uploads/2020/10/datasource-test.png)
![ODBCデータソーステスト](https://tamajiro.net/wp-content/uploads/2020/10/test-ok-1.png)
テストの結果が問題がなく、「OK」をクリックしていくと
![DSN名に作成したファイル名が入っているのを確認してOKをクリック](https://tamajiro.net/wp-content/uploads/2020/10/datasource-created.png)
リンクテーブルを作成する
DSN名のところに作成した「ファイルデータソース名」が入っている状態で、OKをクリックすると、SQL Serverへログインします。
![SQLサーバーへログインします。](https://tamajiro.net/wp-content/uploads/2020/10/sqlserver-login.png)
![リンクテーブルとして取り込むクエリを選択し、OKをクリックします。](https://tamajiro.net/wp-content/uploads/2020/10/teble-link-1.png)
![リンクテーブルのユニークなフィールドをセンタします。](https://tamajiro.net/wp-content/uploads/2020/10/uniq-field.png)
![アクセスのナビゲーションに追加したリンクテーブルが表示されました。](https://tamajiro.net/wp-content/uploads/2020/10/access-all-object.png)
まとめ
Access側のリンクテーブルとして表示させるには、当然SQLサーバーからリンクテーブルとして取り込んでやらなければいけません。
取り込み方は、設定ファイルさえ作れてしまえば簡単です。
途中つまずくとしたら、SQLサーバー名でパイプ名を入れないで「見つかりません」と言われるような場合でしょうか。
業務アプリの改修で、久々に触ると「これ、どうするのだった?」となるので、忘れないように記録しました。