- 締切済み
コンボボックスの連動
ACCESS2000を使用しています。フォーム上のconboボックスに関する操作でわからないことがあるので宜しくお願いします。 http://www.accessclub.jp/samplefile/samplefile_192.htm 上記リンクを見て、コンボボックスの連動をやろうとしています。 ある程度できたのですが、問題があるので教えてください。 学年テーブル ID 学年 0 小学 1 中学 2 高校 料金テーブル ID 受講料 0 1000 1 2000 2 3000 というテーブルを作りました。 コンボボックスも2つあります。 conbo1←値集合ソースに学年テーブル conbo2← 〃 料金テーブル テーブル間でIDがイコールなものをセットする方法を知りたいです。 コードでは Me!conbo2.RowSource = "SELECT 料金テーブル.受講料 FROM 料金テーブル WHERE (((料金テーブル.ID)=[Forms]![受講料フォーム]![学年]));" DoCmd.Requery "conbo2" DoCmd.GoToControl "conbo2" End Sub と記述しました。 結果、conbo2には、 値がセットされることはされるのですが、それをわざわざ選択しないとセットされません。 これをconbo1を選んだら自動的にIDが一致するものをセットするにはどうしたらよいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- palmmy
- ベストアンサー率38% (841/2169)
>こういうことをやっても意味ない? テーブルが1対1だとあまり意味が無いかもです。 1回で選ぶと値が多すぎるときに使うと効果的だと思います。 #1さんのように住所とか。 車のメーカーを1で選んで、連動した2で車種を選ぶとか。
- imogasi
- ベストアンサー率27% (4737/17069)
正面からの回答でなくて済みません。 コンボの2つを連動させるケースとは、コンボ1で都道府県を指定し、その府県の市区町村をコンボ2で選択させると言う使い方が、普通ではないのでしょうか。 ・翻って本件では、小中高を選ぶと授業料が決まって仕舞うケースで、コンボ2を作って選ばせる意味がないような気がする。 敢えて例をつくるなら、 小中高 コード 内容 金額 1 1 普通科受講料 20000 1 2 特別科受講料 30000 2 1 普通科受講料 30000 2 2 特別科受講料 40000 3 1 国大科受講料 50000 3 2 私大科受講料 55000 のようなケースではないですか。
お礼
え!そうなんですか。テーブル設計とかめちゃくちゃなのでそうかも知れません。こういうことをやっても意味ない?回答ありがとうございました。
お礼
回答ありがとうございます。 一応、1対多なんですけど、そうだとすれば意味あるんですかね?やっぱりひとつのテーブルにまとめてしまったほうがよいんでしょうか? 料金テーブルは可変のため料金テーブルを作りました。 ちなみに料金といっても基本料金で、総額ではありませんです。