LoginSignup
1
0

More than 1 year has passed since last update.

MSAccessのSQLリンクテーブルが最近#Deleted表示になった場合、ODBCドライバを変えて接続してみる

Posted at

エラー内容

2021年5月末、以前にSQLサーバーへリンクテーブルで繋いでおいたAccessファイルを起動してみると、一部テーブルのデータが全て #Deleted で表示される。
access_result.png
SQL上にはデータテーブルが存在し、リンクしている一部のテーブルのみが#Deletedが表示され、そして新規Accessファイルでリンクテーブルを作成し直しても同様の症状が発生しました。
Accessの表示上は#Deletedでも、他ソフトからAccessに繋いでのデータの取得は可能でした。

動作環境

当時、Access2019は64bit版、バージョン2205、ビルド16.0.15225.20172でした。
調べると32bit版でも同様の症状が発生したそうです。

原因

参考記事 によると、AccessのバージョンとODBCによっては相性が悪く、主キーに NVarchar を使用していると #Deleted 表示になることがあるそうです。
今回は、主キーに NVarchar を使用し、ODBCドライバーは参考記事で相性が悪いとされていた「SQL Server」を使用してAccessにリンクテーブルを作成していました。

対処法

ODBCデータソース(アドミニストレーター)でインストール済みのODBCドライバーを確認。
「SQL Server」の他に、参考記事で相性が良いとされていた「ODBC Driver 17 for SQL Server」がインストールされていたので、こちらを使用することとした。
リンクテーブル作成時に使用するdsnファイル内のODBC指定を「ODBC Driver 17 for SQL Server」に書き換え、書き換えたdsnファイルを使用してAccessでリンクテーブルを新規作成。
access_dsn.png

所感

画面表示が#Deleted一面に変わった時は、何かいけないことをしてしまったのではないかと焦りました。
英語で対処法が書かれているページを見つけたまではよかったのですが、理解が浅く先輩に助けてもらって解決できました、ありがとうございます。
バグが修正されると嬉しいです。

参考記事

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0