Access2016のアプリ使用中、突然「#Deleted」と表示されるようになったと連絡が入りました。
Accessで開発されたシステム上で発生し、SQLServerのテーブルをODBC経由でリンクしている模様。
該当PC調査前に事象を調べ、事前に原因や事象を収集してみます。
発生原因としてbigint型を使用しているという情報や、パススルーを使用すれば解決するという内容が多いようです。
障害の整理
まずは発生内容と発生状況の洗い出しを行ってみました。
・ほぼ同一環境で複数台のPCがあり、特定のPCのみ発生
・特定のテーブルやビューのみ「#Deleted」問題が発生
・昨日まで使用できていたのに突然「#Deleted」問題が発生→日々使用できないPCが増えてるイメージ
以上、なんとも矛盾した現状でした・・・
また、もともと全てのPCで動作していたので、前述のbigint型は未使用でした。
更にAccess2016を使用する前は、Access2003でも問題無く動作もしていたようです。
テーブルの状況
「#Deleted」表示のテーブルのデータを全削除し、手入力で1件だけ追加してもダメでした。
その後正常に表示されるテーブル数種類と「#Deleted」表示されるテーブル数種類について、テーブル構造をじーっとしばらく比較しながら眺めていました。
しばらくすると、これだ!という共通点を発見。
問題はnvarcharの主キーだった
主キーにnvarcharが含まれないものは正常に表示、含まれているものは「#Deleted」表示。
試しにnvarcharをvarcharにして新規テーブルで複製し、Access2016でODBC経由でリンク。
目論見通り、「#Deleted」は表示されません!
まとめ
なんとか問題は解決したのですが、
・なぜ特定のPCのみ「#Deleted」が発生したのか
・なぜタイミングによって1台ずつ「#Deleted」が発生するPCが増えていったのか
・なぜ未だに「#Deleted」が発生しないPCがあるのか
と疑問は残りますが・・・
今からnvarcharが主キーとなっているテーブルの作り直しと、データコピー作業を開始します!
コメント
●備考メモ「検索で来た人向け」
1)Accessバージョン2205で「Deleted」問題発生。(この時は、2204にダウングレードすると臨時解決できた。)
2)2022-07-13頃のパッチで、実行環境とバージョンの異なるファイルが開けなくなるという別の不具合が発生。
3)2022-07-20頃の修正バージョン2206で「2」不具合が修正された。その際、なぜか「1」も直る。
4)根本的な解決方法は、このページのようにデータ型の修正。(らしい)
5)(今後)問題発生時には、yahooリアルタイム検索「access 不具合」「アクセス deleted」などと検索すると、たくさんの阿鼻叫喚の中に、(数時間すると)解決方法が書かれている事もある。
※別解など)『1)のダウングレード以外の手法』
[ACCESS]#Deleted 問題
https://www.tksoft.work/archives/5698
MSAccessのSQLリンクテーブルが最近#Deleted表示になった場合、ODBCドライバを変えて接続してみる
https://qiita.com/yuzukami1/items/c4ccb4b193f10f2a1f54
【Access】いきなり酷いよ!Microsoft365使用しているパソコンだけリンクテーブル#Deleted接続エラー
https://pctips.jp/pc-soft/microsoft365-access-deleted/
※情報)『2)3)の詳細』
Accessアプリが開かない・強制終了する不具合。2022年7月13日のアップデートが原因/修正情報 [2022/7/20]
https://www.nichepcgamer.com/archives/problem-that-access-application-cannot-be-opened-july-2022.html
Error when trying to open an ACCDE/MDE file created in a different version of Access
https://support.microsoft.com/en-us/topic/error-when-trying-to-open-an-accde-mde-file-created-in-a-different-version-of-access-f4cd36cd-549e-42ba-b75a-dfe964294a81
補足情報の提供ありがとうございます!
当ページを参照して頂いている方にも、有用な情報になると思います。
今後とも、よろしくお願い致します。