初めての質問を投稿させていただきます。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.4
- 回答日時:
3つ目のコンボボックスを用意して、それが前の2つのコンボボックスの情報を条件に取ったらどうでしょうか?
1,2つ目のコンボボックスを更新するたびに3つ目のコンボボックスをRequeryするようにすればいいのではないかと思います。
3つ目のコンボボックスでは前の条件を受けて管理番号と価格だけの一覧が表示されます。
No.3ベストアンサー
- 回答日時:
> なぜ、連結列列を2としたか、考えてみてください。
大事なところは2度言いましたよ。。。 は冗談ですが
> (ご質問から想定される私の中での考える動きは確認したつもりでおりますが、意図と違っていましたらごめんなさい)
何か日本語になっていないですね
(ご質問から、・・・私の中で想定した動きは確認したつもりでおりますが、意図と違っていましたらごめんなさい)
まだ日本語化になってないですかね。
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で質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) Access DTPickerの初期表示月を変えたい 1 2022/08/02 08:55
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- Word(ワード) ワード2023でテキストボックス内の数字が勝手に変わってしまう 1 2023/02/09 14:47
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- Excel(エクセル) Excelで質問です! 現在マクロを勉強中の初心者です。 以下のような表から、会社名が空白のもの以外 2 2022/06/14 12:16
- Visual Basic(VBA) EXCEL VBA データベースの内容をユーザーフォームに表示したい。 5 2023/02/14 11:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのコンボボックスでリス...
-
ACCESSクエリ抽出条件について
-
.flex-direction プロパティは...
-
帳票フォームでのあるコンボボ...
-
Accessのフォーム(コンボボッ...
-
コンボボックスのボタンの大き...
-
accessのルックアップを階層表...
-
アクセスでのコンボボックス複...
-
更新クエリで変数は使えない?
-
accessでオートコンプリート機...
-
Accessのコンボボックスの値が...
-
ACCESS リストボックスの字の色...
-
リストボックスの時はリンク先...
-
ACCESSでコンボボックスにSQLで...
-
ACCESSのリストボックス抽出に...
-
Access サブフォームでの選択行...
-
エクセルで、抽出したデータだ...
-
ACCESSでVBAから選択クエリの抽...
-
AccessのWHERE句において、変数...
-
未審査請求包袋抽出表作成とは...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのコンボボックスでリス...
-
Accessのコンボボックスの値が...
-
ACCESSでコンボボックスにSQLで...
-
Oracleで文字列型の時間を引き...
-
ACCESS リストボックスの字の色...
-
ACCESSクエリ抽出条件について
-
帳票フォームでのあるコンボボ...
-
accessでオートコンプリート機...
-
accessでのリストボックス選択...
-
Accessのコンボボックスの”すべ...
-
パススルークエリのデータ件数...
-
リストボックスの時はリンク先...
-
Accessのフォーム(コンボボッ...
-
コンボボックスのボタンの大き...
-
.flex-direction プロパティは...
-
更新クエリで変数は使えない?
-
Accessフォーム 大分類→小分類...
-
アクセス:フォーム入力:【大...
-
Accessのコンボボックスのデフ...
-
自動入力
おすすめ情報