Warning: Invalid argument supplied for foreach() in /home/xs642990/dark-pla.net/public_html/wp-content/plugins/bravo-neo/bravo-neo.php(12) : eval()'d code on line 647
SQL Serverのデータを手早く加工したり確認したりするのに、
Accessにリンクテーブル(linked table)で引っ張ってくることってよくありますよね。
10年位前、リンクテーブルの機能はそのうち無くなるから気をつけて、
みたいなアナウンスをどこかで見た気がするのですが、
やっぱり便利なのでしょう。
まったく廃れませんね。
で、リンクしたテーブルを開いたらデータがあるのに
ぜ~んんぶ、「#Deleted」と表示される事態が発生。
どうやら、SQL Serverのテーブルにbigint型のデータがあったことが原因でした。
色々検索したところ、解決法は3つ。
1.bigint型を使うのを止める。
2.パススルークエリを使う。
3.アクセスのオプションでBigIntデータ型をサポートする設定にする。
1.bigint型を使うのを止める。
一番シンプルですね。
本当にbigint型を使う必要があるのかどうか吟味しろ、と。
intじゃだめなのか?と。
今回はそこは変えたくなかったので次。
2.パススルークエリを使う。
アクセスの側で対応します。
クエリのデザインでパススルークエリを作成。
別にいいんですが、SQL文を書くのがちょっと面倒に感じたので・・・、次。
3.アクセスのオプションでBigIntデータ型をサポートする設定にする。
今回はこれにしました。
下位互換性が無くなることについての警告が出ますが、
別に構いませんので・・・。
無事、解決しました。