チェックリストボックスの項目でデータ検索するには?(再)

解決


kenji  2008-08-26 05:14:08  No: 140268

チェックリストボックスで検索画面を作成しようと考えています。

チェックリストボックスに表示(VALUE値)して、チェックした項目を取得する所までは分かるのですが、チェックした項目をコード変換してテーブルより検索する方法が分かりません。

例えば、顧客情報のテーブルより検索画面でチェックした都道府県の出身地の人を画面表示する。顧客情報のテーブルの出身地はコード(東京:1、埼玉:2)で保持している為、チェックした出身地をコード変換(■東京→1)して検索条件文を作成したい。

どのようにすれば実現できるかご教授下さい。


とおりすがり  2008-08-26 18:19:21  No: 140269

顧客テーブル・・・。という話もあるので、
まずDBに何を使っているのか明らかにしたほうが話は早い気がする

また、良くある手法としては
コントロール配列のIndexや、ListIndexを利用し、
都道府県コードとするやり方が多いのでは?
無駄な変換をしないで良いし


特攻隊長まるるう  2008-08-26 23:25:43  No: 140270

[前リンク]
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200808/08080011.txt
掲示板でアプリケーション丸々1つ作れるように指導しろと言われても
。。。みんな逃げるでしょうね。

派遣会社からプログラマ雇った方が建設的かも。


いな  2008-08-27 00:40:26  No: 140271

とおりすがりさんも言うように、
設計次第、自分がやるならば、
選択した都道府県のListIndexが1,2,4ならば
Where 都道府県コード in ( '1','2','4')で充分では?

意図が不明だけど、変換したいならば、
(■東京→1)
Function ConvCode(TgtData as String) AS String
    Select Case TgtData
        Case "東京"
          ConvCode = 1
    ・・・。
    End Select
End Function


特攻隊長まるるう  2008-08-27 01:23:54  No: 140272

つまり都道府県コード変換テーブルもデータベースにあるだろうから、
検索時に、顧客情報テーブルと都道府県コード変換テーブルを結合
しちゃえば、VB側でコード変換は必要なくなるかもってことで。


kenji  2008-08-28 07:38:08  No: 140273

確かに検索時、顧客情報テーブルと都道府県コード変換テーブルを結合させて
しまえばコード変換することなく該当顧客を検索できますね。

みなさん有難うございました。

ちなみに、検索条件の画面を作成する場合、画面表示上は日本語で、
実際検索するWHERE文はコードではないのでしょうか。
一般的な方法があれば、参考までに教えてください。


いな  2008-08-28 18:50:32  No: 140274

> 画面表示上は日本語で、
> 実際検索するWHERE文はコードではないのでしょうか。

そうだと思います。
市町村名などは変わることがあるだろうし、

自分なら、リストボックス表示の際、面倒なので、
コードも画面表示しちゃうと思います。
1:東京
2:埼玉


我龍院  2008-08-28 20:01:10  No: 140275

「JIS市町村コード」をDictionaryクラスの連想配列
にしておけば便利かも。

「JIS市町村コード」
http://kikky.net/pc/pref_jisid.html

連想配列
http://www.atmarkit.co.jp/fdotnet/dotnettips/429dictionary/dictionary.html


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加