Last Update : 2008/03/24

見えない何かが、いる。Something that is not visible lurked there.
ある人が、あるデータの集計プログラムを作っていました。仮になぼさんとします。(もはやお約束)
なぼさんは、(自称)得意の Access を使って、テキストファイルを読み込んで必要な行だけを抜き出してテーブルに登録し件数を数えるという、わりとラクな?プログラムを作っていました。
ヘルプをひきひき(いちいち覚えてたらキリがないので常にヘルプと首っ引きです。もんくあるか)作成したプログラムの内容はこうです。

  • ある条件に沿ってデータを変換する必要があるが、文字列のどこらへんに変換キーワードがあるかわからないうえにキーワードは複数ある
  • 変換マスタのようなものを登録しよう
  • キーワードは「*キーワード*」のように登録して、検索時 「Select * From TABLE1 where 'データ内容' like Keywords」ってやれば、指定した文字列の中に登録したキーワードがあるか容易に検索できるよね
  • じゃあ、そうしよう(^^
この方法、文字列の中にキーワードが1種類しか含まれてない場合には結構有効なのでわりと使うっす。
で、マスタも作ってプログラムも作って、いざ走らせてみると…

変換後のデータが、2つに分かれてしまうのです。

前述の通り、変換して登録したテーブルを集計してその件数を出すのですが、集計した結果まったく同じキーワードが2件出るのです。
集計結果の2件はどう見ても同じにしか見えません。マスタの登録データがおかしいのかと思い調べたけど違いはわかりません。
実は、どうしてもマスタ登録では対応できない変換パターンがあり、それだけ特殊なロジックを入れて変換していたのでそっちも確認したんですが、やっぱり同じ。
もちろん、破損も疑いました。キーワードと変換結果には space が含まれていたので、上から打ち直したりもしました。
数時間かけて調査したのですが、どうしてもどうしてもどうしても違いがわかりません。

もういいかげん精魂つきはてたその時、ついマウスの手がすべって、キーワード登録マスタのデータシートビューの、列の高さをぐいっと高くしてしまいました。

するとそこには、世にも恐ろしいものが映っていたのです。
勇気のあるあなたはここをクリックしてください。






はい、みなさんご一緒に。

そりゃぁ見えねぇよ(ツッコミ)


…で。じゃあなんで2件に分かれたのかってーと、前述のとおり、特殊な変換パターンに対応するためにプログラム内で変換もやってたんですが、これだけは正しいデータに変換されていたため、結果として2つに分かれてしまったって、まぁそんだけなんすよね。

みなさんも、改行コードには注意しましょう(ToT)



この件に関しましてご質問がございましたら、こちらまで。


この情報は、お客様の疑問・問題解決のお役に立ちましたか?
満足度を左から右へ高い順へご選択ください。


←役に立った 9 8 7 6 5 4 3 2 1 役に立たない→
この情報へのご意見、ご要望がございましたらこちらへご記入ください。
( 全角 500 文字以内 )




Top へもどる