エラー内容
2021年5月末、以前にSQLサーバーへリンクテーブルで繋いでおいたAccessファイルを起動してみると、一部テーブルのデータが全て #Deleted で表示される。
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でリンクテーブルを新規作成。
所感
画面表示が#Deleted一面に変わった時は、何かいけないことをしてしまったのではないかと焦りました。
英語で対処法が書かれているページを見つけたまではよかったのですが、理解が浅く先輩に助けてもらって解決できました、ありがとうございます。
バグが修正されると嬉しいです。