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

Instr のバグ

いきなり、Accessのバグの話で始めるのもなんだが、はまったので報告しておこう。

友人の事務所に提供しているAccessのシステムで動作がおかしいという報告が入った。こちらで動作確認しても問題なく動作している。確認してみると特定のデータの時、おかしくなるとのこと。

いろいろ調べてみると濁点が入ったデータだとおかしいと解った。コードを追ってみると、InStrで区切り文字を探して切り分けるというよくある処理なのだが、濁音を2文字とカウントしているのが原因と分かった。

難易度:

WEBで検索してみたら、MS のサポートオンラインで下記にヒットした。
[ACC2002] Access プロジェクトで VBA の InStr 関数が返す値が間違っている
で、ここに載っている回避策の引数を省略せずに

InStr(1, "だだあいうえお", "う", vbTextCompare)

というように記述することで回避できた。

これで、半日がつぶれた。

うーん、しかし、今まで掲示板で InStr を引数を省略して使った回答をたくさんしてきた気がするが、、、

拍手する

Leave a reply






Trackbacks

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