とりあえず自分用にメモしておこう

SQLサーバーのクライアントとしてAccessを使っているときの話なのですが・・・・
数字型のデータを条件式で判別して文字型のテーブルにせっせとコピーするスクリプトを動かして出来上がったデータに対してなのですが
クエーリーの機能でSQL文を投げると 画面表示上ちゃんと表示される物の それをcriate Tableとかで書きだそうとすると項目が消えてしまうという症状に悩まされたわけです。
何故、Viewと書きだしたときと結果が違うのだろうと・・・・
どれぐらい不思議化というと Viewで表示しておいてCtrl+Cでコピーして適当なExcelかなんかに貼り付けるとデータが切れるという怪現象に悩まされたわけです。
不思議なことに元データのAccessのViewからもデータが無くなるという怪現象も起きたわけです。
 
結果的には消えた項目を表示するための条件判定に問題があったようで
SQLサーバー上では NoText状態
それを=""で判別していたのですが、isnullと書いても同じ結果になります。
また、消える部分は実行するときによって違うので 詳細な原因追及が出来ない状態でした。
ところが、NoText ="" と isnullをどちらかの判別にすれば正しく動きました。
つまり SQLServer上のテーブルをAccessで判別すると 時と場合によってNullとなるときもNotextと判別されることの両方があるという事のようです。
そんなこと言われてもね・・・・・・
丸一日つまらない事でつぶしてしまいました。
 
印刷までとなるとAccessは便利なんだけど、それ以前の問題でこう面白い挙動をされると信じられなくなるんですよね・・・・
やはり生でSql文を投げるのが 安全で安心なんだけどね・・・

written by HatenaSync