AccessからSQL Serverへのリンクで「#Deleted」と表示される場合の対処法・解決策

AccessでSQL Server用のODBCデータソースを作成し、リンクテーブルを作成して表示してみると、#Deleted,#Deleted,#Deleted・・・と表示されてしまう!SQL Server上のテーブルをAccessのODBCでリンクしてお手軽に参照したい!なのにできない!

なんてときに役に立つ情報をご紹介いたします。

Access「#Deleted」の現象

これですね。#Deleted・・・。これでは、テーブルの中身を確認できませんね。

Access「#Deleted」の対処法・解決策

パススルークエリを使います。

SQL Sever接続用のODBCデータソース作成

#Deletedと表示されている場合は、すでにODBCデータソースは作成済みのため、この手順はスキップしてください。

パススルークエリ作成

クエリのデザインでパススルーをクリックします。

次に、プロパティシートで、ODBC接続文字列の右端にある「・・・」をクリックし、先ほど作成したSQL Server接続用のODBCデータソースを選択します。

SQL文を記述

パススルークエリのSQL文を記述します。以下のように記述すればOKです。

SELECT
PKカラム名
, [カラム名]
, [カラム名]
FROM
[スキーマ名].[テーブル名]

これでSQL Serverを参照するためのパススルークエリの作成は完了です。あとは作成したパススルークエリを実行すれば、SQL Serverのテーブル表示が「#Deleted」ではなくなります。

まとめ

原因はいろいろとあるようですが、AccessのODBC経由でSQL Server上のテーブルをリンクすると「#Deleted」と表示されてしまう。これの対処法・解決策をご紹介しました。

AccessのODBC接続を使うと、簡単にSQL Server上のテーブルの中身を確認できるから便利!でも「#Deleted」と表示されてしまう!

ってときには、是非参考にしてみてくださいね。

その他のAccess関連記事

AccessのOraclODBC接続で「SQL_HANDLE_ENVでのドライバのSQLAllocHandleは失敗しました。」と表示される場合の対処法・解決策

Windows10(64bit)でAccessのODBC接続ができない原因と対処法・解決策

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. 槌田 博 より:

    ありがとうございます。

    この方法で#Deletedとなっていたレコードを読むことはできました。
    それだけでも、大助かりの大前進なので、この記事に大変感謝しています。

    しかし、このパススルークエリは読み出しのみで、書込み編集ができないようです。

    アクセスの普通のクエリでも、ダイナセット (矛盾を許す)にしないと書込み編集が
    できないのと同じように、
    このパススルークエリでもプロパティーのどこかを調整する必要があるのでしょうか?

    何かのときに、教えていただけるとよいなと思います。よろしくおねがいします。