見えない何かが、いる。

ある人が、あるデータの集計プログラムを作っていました。仮になぼさんとします。(もはやお約束)
なぼさんは、(自称)得意の Access を使って、テキストファイルを読み込んで必要な行だけを抜き出してテーブルに登録し件数を数えるという、わりとラクな?プログラムを作っていました。

ヘルプをひきひき(いちいち覚えてたらキリがないので常にヘルプと首っ引きです。もんくあるか)作成したプログラムの内容はこうです。

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

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

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

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

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






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

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


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

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

トラックバック(0)

トラックバックURL: http://www.naboki.net/movabletype/mt-tb.cgi/41

Access 心霊体験集

誰も使っていないのに...

The items might be used by nobody

何故、自宅のマシンでは

Why don't work the MDB in my home PC!? No way!

このアプリケーションは不正な処理を実行しました

This application has performed an illegal operation and will be terminated.

勝手にデータが置き換わる!

The data has been changed automatically!

見えない何かが、いる。

Something is there which I cannot see it

MSDN クラウド 技術解説コミック新登場 クラウド ガール - 窓と雲と碧い空 -