Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3104 / 9994 ←次へ | 前へ→

【10152】Re:コンボボックスについて
回答  VBWASURETA  - 08/1/20(日) 21:15 -

引用なし
パスワード
   ▼mai さん:

こんばんは。

まず、テーブルの紐付け方から覚えた方が良いです。
データベース正規化で調べると良いと思います。


例えば:

テーブルA
−−−−−−−−−−
商品分類|アイテム名
−−−−−−−−−−
01   |照明
02   |家具
03   |電化製品


テーブルB
−−−−−−−−−−−−
商品分類|製品名
−−−−−−−−−−−−
01   |スタンド
01   |間接照明
01   |スポットライト


テーブルC
−−−−−−−−−−−−
商品分類|製品名
−−−−−−−−−−−−
02   |ベッド
02   |テーブル
02   |デスク


テーブルD
−−−−−−−−−−−−
商品分類|製品名
−−−−−−−−−−−−
03   |レンジ
03   |冷蔵庫
03   |洗濯機


ようなテーブルを用意します。
見てわかるかと思いますが、紐付けるフィールド
つまり商品分類が必要になります。
但し、コンボボックスと紐付ける場合に
フィールドが複数になるのでちょっと
VBAを覚えないと厳しいと思います。


ただ、もっとわかりやすいのは以下のような構成が
望ましいかも知れません。


分類マスタテーブル
−−−−−−−−−−
商品分類|アイテム名
−−−−−−−−−−
01   |照明
02   |家具
03   |電化製品


商品テーブル
−−−−−−−−−−−−−−−−
商品分類|商品CD|製品名
−−−−−−−−−−−−−−−−
01   |1−1|スタンド
01   |1−2|間接照明
01   |1−3|スポットライト
02   |2−1|ベッド
02   |2−2|テーブル
02   |2−3|デスク
03   |3−1|レンジ
03   |3−2|冷蔵庫
03   |3−3|洗濯機


のような感じのテーブルにすると、コンボボックスの
値集合ソースに以下の内容を入れるだけで切り替えられます。


SELECT [商品テーブル].[製品名] FROM 分類マスタ INNER JOIN 商品テーブル ON [分類マスタ].[商品分類]=[商品テーブル].[商品分類] WHERE ([分類マスタ].[アイテム名])=[Forms]![フォーム名]![コンボ名]);


但し分類のコンボボックス切り替えタイミングで
DoCmd.Requery [Forms]![フォーム名]![分類コンボ名]
が必要になります。

755 hits

【10151】コンボボックスについて mai 08/1/18(金) 22:18 質問[未読]
【10152】Re:コンボボックスについて VBWASURETA 08/1/20(日) 21:15 回答[未読]
【10153】Re:コンボボックスについて mai 08/1/20(日) 23:24 質問[未読]
【10154】Re:コンボボックスについて VBWASURETA 08/1/21(月) 9:11 回答[未読]
【10155】Re:コンボボックスについて VBWASURETA 08/1/21(月) 13:52 発言[未読]
【10167】Re:コンボボックスについて mai 08/1/23(水) 15:44 質問[未読]
【10168】Re:コンボボックスについて VBWASURETA 08/1/23(水) 16:48 回答[未読]
【10156】Re:コンボボックスについて mai 08/1/22(火) 10:48 質問[未読]
【10157】Re:コンボボックスについて VBWASURETA 08/1/22(火) 11:32 回答[未読]
【10158】Re:コンボボックスについて VBWASURETA 08/1/22(火) 11:42 発言[未読]

3104 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078201
(SS)C-BOARD v3.8 is Free