はじめました、この度VBで2つのコンボボックスを利用し、
データベースの商品マスタから大分類→小分類を選択して条件を絞り込み、
最後に決定コマンドボタンをクリックし結果をEXCELに出力する
というプログラムを作成しています。
そこでご質問なのですが一つ目のコンボボックスで大分類名を選択したら、
二つ目のコンボボックスでその大分類のコードをキーにして参照しそれに対応した小分類名のみを選択させる
という風にしたいのですが恥ずかしながら方法が分かりません。
↓分類はこのような形式です(数値は大・小分類コードです)
大分類 小分類
00:** 000:***
01:野菜 101:キャベツ
103:たまねぎ
02:肉 201:豚
202:鳥
03:魚 303:まぐろ
305:かつお
DBの商品マスタは大分類名・大分類コード・小分類名・小分類コード・商品名でできています。
開発環境はVB6.0でDBはoo4oです。
ソースが無い上に変な説明が多々あるかと思いますが、宜しく御願いします。
手順をプログラムじゃなく言葉で書いてみて下さい。
その中でどの処理が自分でプログラムに出来そうにないかを考え
要点を絞って再度質問してみて下さい。
1)データベースより大分類のコードと名称を取得する
2)コンボボックス1のListに大分類の名称を入れ、対応するItemDataにコードを入れる
3)...
・
・
・
見たいな感じに整理してみて下さい。
二つ目のコンボボックスでその大分類のコードをキーにして参照しそれに対応した小分類名のみを選択させる
という風にしたいのですが恥ずかしながら方法が分かりません。
1.大分類を取得し、コンボボックス1に表示
2.小分類を取得し、コンボボックス2に表示
このとき、大分類のコードをTagプロパティ辺りに格納しておく。
3.大分類が選択されたとき、
小分類のTagプロパティと一致するもののみ表示する。
が自分のやり方。
つりーびゅーじゃダメなのだろうか
大分類・小分類のデータもデータベースにあるなら
至ってシンプルと言うか…特に難しく考えず…大分類が
変更されるたびにデータベース検索して、小分類コンボ
ボックスを設定してやれば…できませんか???
…分からないとかいう問題なのでしょうか???(^^;)
データベースアクセスを少なくする事を目的として
大分類・小分類のデータを一括読み込みで変数に
覚えておくとか…大分類が選択された時点で過去
データベースを検索した(=過去に選択された)小分類は
変数から取り出して、初めて選択された大分類の場合は
検索する…なんて処理も考えられますね。
データの覚え方はボクの場合コレクションがいいなぁ…。
コレクションが分からなければ、
過去ログ検索『コレクション』『Dictionary』『Collection』などでどうぞ。
コレクションにデータを覚えておいてそこから小分類
を取り出す方法なら、大分類・小分類のデータが
ファイルにあろうが、定数でプログラム内に埋め
込まれていようが、コレクションに格納してしまえば
その後の処理に影響ないので応用が利きますね。
>0123さん
そのお言葉、真にごもっともです・・・
本当に初心者にも満たないような恥ずかしいご質問失礼致します。
>いなさん
無事解決できますた。
私の非常に拙い文面で、的確なアドバイス有難う御座いました。
>通ってみたさん
>特攻隊長まるるうさん
解決は出来ましたが、学習の為にも提示して頂いた方法も是非試してみたいと思います。
皆様、本当に有難う御座いました。
ツイート | ![]() |