MS Access Tips/Sample and VBA and Blog customize etc...

リストボックスにデータが表示されない(レアケース)

非常にレアケースなのですが、ちょっとはまったので備忘禄としてあげておきます。

AC2003で作成したシステムなんですが、検索結果をリストボックスに表示するようにしている部分が、あるPCだけ検索結果が表示されないという不具合が報告されました。

調べてみると、表示されないPCのOSは Win 7 で表示されるのは Win XP でした。

コードやデータをチェックしてみても原因らしきものは見つからない。値集合ソースにはSQLで設定してある。このSQLをクエリのSQLビューに貼り付けて表示されても正常に表示される。小一時間ほどあちこち探しまわったが原因が分からない。いったん頭を冷やすために別のことをして、時間をおいてから、見直してみた。(この時間をおくというのは結構効果がありますね)

値集合ソースのSQL文をもう一度見直してみると、別名で先頭に全角空白を付けているのがある。

※□は全角空白のつもり、おそらくフィールド名と重複するのをさけるために全角空白をつけたのだろう

もしやと思いこの全角空白を外してみた。(テーブル1.フィールド1 というようテーブル名を付加すれば別名をフィールド名と同じにできる。)

抽出結果が表示された。分かってしまえば簡単なことなのだが、熱くなっているとなかなか見つからないものだ。

この現象が発生するのは、AC2003 と Windows7 の組み合わせ環境のみのようだ。WinXP と 2003, Win7 と AC2007/2010 などの組み合わせで試してみたが発生しなかった。

また、別名でなくても、フィールド名が全角空白で始まる場合も発生する。

このような特定の環境のみで発生するバグというのは発見しづらいので要注意ですね。


拍手する

Leave a reply






Trackbacks

trackback URL
http://hatenachips.blog34.fc2.com/tb.php/353-0069d90d
該当の記事は見つかりませんでした。