ACCESSVBAでの


パン  2004-03-09 10:41:22  No: 82514  IP: [192.*.*.*]

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にて複数件データをフォームに表示させることはできないんでしょうか?

ごきょうじゅお願いします。
たくさん調べたんですが、たどりつけません。

編集 削除
パン  2004-03-11 09:10:15  No: 82515  IP: [192.*.*.*]

お願いします。

編集 削除
ei  2004-03-11 13:38:41  No: 82516  IP: [192.*.*.*]

動きとしてはこんなのでいいのかな?

フォームのプロパティの
削除の許可、追加の許可をいいえにする。

コンボボックスのにして
フォームでコンボボックスのプロパティの
名前を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

これでどうでしょう?

編集 削除