• 締切済み

ACCESSのリストボックスで・・・

ACCESS初心者です。 左のリストボックスから、ボタンを押すと、選択した値が右のリストボックスに渡るようにするのにはどうやったらよいのでしょうか?漠然とイメージはあるのですが、まず何をすればよいのかわかりません。 ヒントでもよろしいので、ご回答の程宜しくお願いいたします。 WindowsXPで、ACCESS2003を使用しています。

みんなの回答

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

>左のリストボックスからボタンを押すと選択した値が右のリストボックスに渡るようにする リストボックスからリストボックスで良いのでしょうか? 左のリストボックスをList1とし右のリストボックスをList2とした場合。 List1のプロパティのイベントの更新後処理にコードビルダーで Private Sub List1_AfterUpdate() List2 = List1.Column(0) End Sub と記述してください。 左リストボックスで選択された値を右リストボックスに代入できます。ただし左リストボックスの値が2列表示する場合は右のリストボックスと連結できる左ストとボックスの値が左リストボックスの一番左の列にある場合です。(1列の場合は大丈夫です)Column(0)はリストボックスの一番左を指定しているので。 右のリストボックスではなくテキストボックスへ左リストボックスの値を渡す場合は同様に Private Sub List1_AfterUpdate() [テキストボックス名] = List1.Column(0) End Sub で出来ます。

hazzy_funky
質問者

補足

O_cyanさん、ご回答ありがとうございます!!! 値の代入ができました。 もう一点お聞きしたいのですが、List1を複数選択にしたいのですが、現段階では、最後にクリックした値しかList2へ代入されません。 なにか方法はあるのでしょうか。 宜しくお願いいたします。

  • xmoto
  • ベストアンサー率27% (27/98)
回答No.1

Aというコントロールがリストボックスで、そのリストの値を選択した結果を Bというコントロールに代入したいという事でいいのですよね? マクロに値の代入というのがありますから、まずそれを作成します。 その後、Aの更新後処理にこのマクロを割り当てて、フォームを実行すると Aのリストボックスを選択して、次のコントロールに移動する瞬間にAの値が Bのコントロールに代入されます。 これでヒントになればよいですが。

hazzy_funky
質問者

補足

ご返信ありがとうございます。 処理の流れは、大体つかめました。 が、マクロを作成する際に、どうしても値がうまく渡ってくれません。 式のところが、よくわからないのですが、ご教授願えませんでしょうか? マクロのデザインビューで下記のようにしました。 アクション:値の代入 アイテム:[Forms]![F_フォームA]![(項目名)]      (Aのリストボックスに表示させている項目) 式:??? 宜しくお願いいたします。