ACCESSVBAでの質問なんですが、
同じACCESS内にテーブルを用意し、
フォームを1つ作成しました。
***テーブル1****
種類:商品名:値段
A4 :あああ:100
B4 :いいい:200
A3 :ううう:300
A3 :えええ:400
B3 :おおお:500
A4 :かかか:600
A3 :ききき:700
B5 :くくく:800
************
***フォーム1****
種類:│‾‾‾│ コンボボックス
│ ▼│
‾‾‾
商品名:│‾‾‾│ テキストボックス
│ │
値段 :│‾‾‾│ テキストボックス
│ │
‾‾‾
************
フォーム内にコンボボックス、テキストボックスを用意して、
コンボボックス内はテーブルのデータ(例えば種類項目など)
をDistinctしたリストが表示されて、(A4,B4,A3,B4から選ぶような感じで)
選択したコンボボックスの種類に該当するデータをテキストボックスに表示させたいんです
その際、複数件ある場合は、ACCESSのフォーム下に表示されているレコード件数の
件数送りボタン(巻き戻し、早送りのようなやつです)にて、ボタンを押すと
次のデータが表示されるように設定したいんです。
その際、新規にてデータは入力付加、データは参照のみに設定したいのですが、
複数件数あるデータを読み込んでも、全件分ループにて取得しているのですが、
フォームに表示されるのは最終件のデータのみしか表示されません。
もちろん、データの複数送りもできないんです。
ACCESSのVBAにて複数件データをフォームに表示させることはできないんでしょうか?
ごきょうじゅお願いします。
たくさん調べたんですが、たどりつけません。
お願いします。
編集 削除動きとしてはこんなのでいいのかな?
フォームのプロパティの
削除の許可、追加の許可をいいえにする。
コンボボックスのにして
フォームでコンボボックスのプロパティの
名前をcmb_syuruiにする。
(名前は何でもいいですがコードで使っているので、変えた場合はそちらも変えて下さい。)
値集合タイプをテーブル/クエリにする。
値集合ソースを
SELECT テーブル1.種類 FROM テーブル1 GROUP BY テーブル1.種類;
にする。
商品名テキストボックスの
コントロールソースを商品名にする。
値段テキストボックスの
コントロールソースを値段にする。
商品名テキストボックス、値段テキストボックスのプロパティの
編集ロックをはいにする。
フォームのコード
Private Sub cmb_syurui_Click()
Dim strSql As String
strSql = "SELECT * FROM テーブル1"
strSql = strSql & " WHERE 種類 = '" & Me.cmb_syurui.Text & "'"
Me.RecordSource = strSql
End Sub
Private Sub Form_Load()
Me.cmb_syurui.SetFocus
Me.cmb_syurui.ListIndex = 0
End Sub
これでどうでしょう?