初めての質問を投稿させていただきます。l
ACCESSのVBAにて分からないことがあるので、
質問を投稿させていただきました。
以下のようなテーブルがあります。
名称:番号:管理番号:価格
cake|NO.1|C1|200
cake|NO.2|C2|200
chocolate|NO.1|C3|300
chocolate|NO.2|C4|300
chocolate|NO.3|C5|300
cookie|(空白)|C6|100
フォーム上に、コンボボックスが二つ設置されており
最初のコンボボックスでは、cake、chocolate、cookieを選択することができます。
また、二つ目のコンボボックスでは最初のコンボボックスで選択した名称に対する番号を選ぶことが出来ます。
------------------以下が疑問点です-------------------------
このフォームにはそれ以外にテキストボックスが設定されています。
名称と番号を設定した後に管理番号(重複なし)をテキストボックスに表示。
その後、管理番号を元に価格もテキストボックスに表示したいと考えておりますが、どのようなプログラムを組めばよろしいでしょうか?
No.3ベストアンサー
- 回答日時:
> なぜ、連結列列を2としたか、考えてみてください。
大事なところは2度言いましたよ。。。 は冗談ですが
> (ご質問から想定される私の中での考える動きは確認したつもりでおりますが、意図と違っていましたらごめんなさい)
何か日本語になっていないですね
(ご質問から、・・・私の中で想定した動きは確認したつもりでおりますが、意図と違っていましたらごめんなさい)
まだ日本語化になってないですかね。
No.4
- 回答日時:
3つ目のコンボボックスを用意して、それが前の2つのコンボボックスの情報を条件に取ったらどうでしょうか?
1,2つ目のコンボボックスを更新するたびに3つ目のコンボボックスをRequeryするようにすればいいのではないかと思います。
3つ目のコンボボックスでは前の条件を受けて管理番号と価格だけの一覧が表示されます。
No.2
- 回答日時:
> cookie|(空白)|C6|100が、対処できないように思えるのですが
引っかかる処だと思います。
> 連結列:2 (一応、管理番号を連結させておきます)
なぜ、連結列列を2としたか、考えてみてください。
連結列:1であれば、
> If (Not IsNull(Me.cbx02)) Then
は、NULL 状態であり、判別すらできませんが、Me.cbx02 自体が Nulll にならない連結列を指定することで回避できていると思うのですが。
ただ、この方法では登録されているものを参照するしかない・・・に限定されます。
一度、実際に設定され動きを見てみてはいかがでしょうか。
(ご質問から想定される私の中での考える動きは確認したつもりでおりますが、意図と違っていましたらごめんなさい)
SQLでは、ありませんが意見を参考に実現することが出来ました。
何回もフォローしていただきありがとうございます。
今後もACCESS頑張りたいと思います。
No.1
- 回答日時:
2つのコンボボックスから、抽出条件を組み立てて DLookup 関数で求めることもできると思いますが、2つ目のコンボボックスを作る際に必要となる値を取り込んでおく方法もあると思います。
以下は後者の方法での参考例となります。
前提)
・テーブル名を「T_TBL」とします。
・1つ目コンボボックス(名前:cbx01)
値集合ソース:
SELECT 名称 FROM T_TBL GROUP BY 名称 ORDER BY 名称;
・2つ目コンボボックス(名前:cbx02)
列数:3
列幅:2cm;0cm;0cm (1列目だけを表示します)
連結列:2 (一応、管理番号を連結させておきます)
値集合ソース:空欄のまま(1つ目コンボボックスが選択された時に作ります)
(1つ目コンボボックスの名称を条件に、番号,管理番号,価格 の順で抽出します)
・管理番号表示用テキストボックス(名前:txt01)
・価格表示用テキストボックス(名前:txt02)
以下VBA記述例)
' 管理番号,価格 表示用
Private Sub txt_Set()
If (Not IsNull(Me.cbx02)) Then
Me.txt01 = Me.cbx02.Column(1)
Me.txt02 = Me.cbx02.Column(2)
Else
Me.txt01 = ""
Me.txt02 = ""
End If
End Sub
Private Sub Form_Load()
Me.cbx01 = Null
Me.cbx02.RowSource = ""
Me.cbx02 = Null
Call txt_Set
End Sub
' 1つ目コンボボックスクリック時処理
' (2つ目コンボボックスの設定)
Private Sub cbx01_Click()
Const sqlTop = "SELECT 番号, 管理番号, 価格 FROM T_TBL WHERE ([名称] = '"
Const sqlEnd = "') ORDER BY 番号;"
If (Not IsNull(Me.cbx01)) Then
Me.cbx02.RowSource = sqlTop & Me.cbx01 & sqlEnd
Else
Me.cbx02.RowSource = ""
End If
Me.cbx02 = Null
Me.cbx02.Requery
Call txt_Set
End Sub
' 2つ目コンボボックスクリック時処理
Private Sub cbx02_Click()
Call txt_Set
End Sub
この回答への補足
早速の回答ありがとうございます。
回答された方法だとコンボボックスの二つ目が空欄でなければ、
テキストボックスに該当する情報を表示させるといった内容だと把握しました。
しかし、この方法では、tableの一番最後にある
cookie|(空白)|C6|100
が、対処できないように思えるのですが、いかがでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのコンボボックスでリス...
-
ACCESS リストボックスの字の色...
-
ACCESSのリストボックス抽出に...
-
Accessのコンボボックスのデフ...
-
accessでのリストボックス選択...
-
ACCESSでフラグによる文字表示
-
Accessで項目に包含関係の有る2...
-
[Access2003]コンボボックスと...
-
Accessのコンボボックスの値が...
-
ACCESSでコンボボックスにSQLで...
-
Access サブフォームでの選択行...
-
エクセルで、抽出したデータだ...
-
access 最大化した時の画面の...
-
ACCESSでVBAから選択クエリの抽...
-
access別のテーブルを参照して...
-
access クエリ yes/no型のクエ...
-
(ACCESS)条件に応じて、テキ...
-
AccessでIDを入力したら他の項...
-
ACCESS 複数のフォームから同一...
-
ExcelのComboboxでマウスのスク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのコンボボックスでリス...
-
Accessのコンボボックスの値が...
-
ACCESS リストボックスの字の色...
-
ACCESSでコンボボックスにSQLで...
-
ACCESSクエリ抽出条件について
-
帳票フォームでのあるコンボボ...
-
Accessのコンボボックスのデフ...
-
Oracleで文字列型の時間を引き...
-
パススルークエリのデータ件数...
-
Accessのコンボボックスの”すべ...
-
accessでオートコンプリート機...
-
Accessのフォーム(コンボボッ...
-
リストボックスの時はリンク先...
-
accessのルックアップを階層表...
-
アクセスでのコンボボックス複...
-
Accessで項目に包含関係の有る2...
-
コンボボックスのリスト外入力...
-
Access 帳票フォームのコンボボ...
-
Accessのクエリで抽出したデー...
-
ACCESSのリストボックス抽出に...
おすすめ情報