Access

SQL Serverにリンク接続しているテーブルを開くと#Deletedと表示される

AccessでSQL Serverにリンクしているテーブルを開くとデータが存在するのに全て【#Deleted】と表示される??

今回の現象はSQL Serverのテーブル内にbigint型のフィールドがあったことが原因でした。

Accessの標準機能ではbigintをサポートしていないようです。

このため、リンクテーブルをテーブルデザインで参照すると、bigint型のフィールドの型がテキスト型となっていました。

現象の確認(マイクロソフト技術情報より)

マイクロソフト技術情報参照>>

記事内に対応方法が記載されていたので一部転載します。

大きい数値データ型を有効にする

既定では、大きい数値データ型は、リンクとインポートの操作に対して有効ではありません。ただし、Access の [リンク/インポートされたテーブルで大型の数値 (BigInt) データ型をサポート] オプションを設定すると、サポートを明示的に有効にすることができます。このオプションを設定しようとすると、データベースの互換性を保つ必要がある場合に、警告メッセージが通知されます。このオプションを設定すると、データベースは以前の Access のバージョンとの下位互換性がなくなります。

詳細については、「カレント データベースのユーザー オプションを設定する」と「下位互換性に関する考慮事項」を参照してください。

 

古いバージョンのAccessをお使いの場合、この「オプション設定」自体がない場合があります。(ちなみに2007にはありません。)

対応方法

SQL Serverのフィールド型を変更することが可能であれば変更して再リンクすれば問題ありません。

フィールド型を変更することが難しい場合、直接リンクテーブルを参照せず、パススルークエリーを使いましょう。

 

ABOUT ME
アズビーパートナーズ
アズビーパートナーズ
プログラマーと社内SEとしての経験を活かして、 情報システム部門のご相談を承ります。 得意な分野はAccessによる短納期開発、 BIツール(QlikSense/QlikView)の開発です。 現在はCMSを利用したホームページの作成にも力を入れています。
今のスキルのままで大丈夫?

あなたのスキル。今のままで大丈夫ですか?

時代のニーズに合った開発スキルを身につけてあなたの価値を高めましょう。

\オンラインでも教室でも学べるおすすめのスクール/

TECH::CAMP(エンジニアスクール)

まずは基礎から・・・という方はProgateUdemyどっとインストールなどがおすすめ!

スキルアップについて詳しくはこちら