プロが教えるわが家の防犯対策術!

ACCESS2000を使用しています。
行いたい処理があるのですが方法がわかりません。
方法を知ってる方がいればアドバイスの程よろしくお願い致します。(VBAでも全然OKです)

リストボックスのリレーション
例えば左側のリストボックスで4種類の選択肢のいずれかを選び、それに応じたテーブル内容を右側のリストボックスに表示する方法
(右側に表示させたいテーブル4種類は既に作成しています)

↓行いたい処理
 季節の商品一覧から「夏の商品一覧」を選んだ場合

左リストボックス  右リストボックス
------------ --------
|春の商品一覧 | |Tシャツ|
|夏の商品一覧 | |短パン |
|秋の商品一覧 | |~~~ |
|冬の商品一覧 | |~~~ |
------------

A 回答 (2件)

左リストボックスの更新後処理に下記の処理を書けば良いと思います。



1.左リストボックスで選択された値で、右リストボックスの.RowSource
  プロパティを書きかえる。左リストボックスの連結列以外の値を取り
  出したい場合は、左リストボックス.Column(n)で取り出せます。
2.右リストボックス.Requeryを実行

未検証ですが、やってみて下さい。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございました。

お礼日時:2002/03/15 18:32

こんにちは。

maruru01です。
[春の商品一覧][夏の商品一覧][秋の商品一覧][冬の商品一覧]というテーブル名で、
左が[lst一覧選択]、右が[lst一覧リスト]という名前のリストボックスとします。
[lst一覧選択]のクリックイベントに書きます。

Private Sub lst一覧選択_Click()

  Dim SelectData As String

  With Me!lst一覧選択
    SelectData = .Column(0, .ListIndex)
  End With
  With Me!lst一覧リスト
    Select Case SelectData
      Case "春の商品一覧"
        .RowSource = "春の商品一覧"
      Case "夏の商品一覧"
        .RowSource = "夏の商品一覧"
      Case "秋の商品一覧"
        .RowSource = "秋の商品一覧"
      Case "冬の商品一覧"
        .RowSource = "冬の商品一覧"
      Case Else
        .RowSource = ""
    End Select
  End With

End Sub

予め、右の[lst一覧リスト]リストボックスの値集合タイプは、「テーブル/クエリ」にしておいて下さい。
では。
    • good
    • 0
この回答へのお礼

テストしてみた所、理想通りに動きました。
本当にありがとうございました。

お礼日時:2002/03/15 18:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!