- ベストアンサー
【ACCESS】リストボックスに抽出してからテキストボックスに代入するには?
ACCESS2003、初心者です。 医療事務のデータベースを作っています。 予約フォーム(frm予防接種予約)を作っていますが、次の(1),(2)の作業がうまくできなくて困っています。 (1)リストボックスへの抽出(検索ボタンを押すまではリストボックスの中は空の状態) frm予防接種予約のフォームで非連結テキストボックスに生年月日を入力して、検索ボタンを押す ↓ tbl患者個人票テーブルの生年月日と一致するレコード(氏名や住所)をリストボックスに表示させたい。 (2)表示されたリストボックスの中のレコードをクリックすると、そのレコードが氏名や住所に代入される。 一連の作業をfrm予防接種予約フォーム上で行いたいのですが、どのようにしたら良いのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
(1) は、リストボックスではなく、サブフォームを使ったほうが簡単かも。 リストボックスの場合は、値集合ソースをSQL文で作成し、テキストボックスの 更新後で、RowSource プロパティに代入し、Requery をかけてやればいいかと。 VBA Or マクロが必要ですね。 (2) は、リストボックスを使うのなら、Column プロパティが使えると 思います。 > そのレコードが氏名や住所に代入される。 きちんと正規化されているのなら、氏名・住所等を代入する必要はないです。 患者ID?のような値を入れてやれば、あとはクエリで対応できますので。
お礼
返答ありがとうございます。 (1)は、クエリとRequeryでうまくいきました! コードは、 Private Sub 代入検索_Click() Me.代入リスト.Requery End Sub です。 (代入リストはテキストボックス、代入検索はコマンドボタンです) (2)は、Columnでやってうまくいきました! ちなみに、(2)では事情によりクエリを使いたくなかったのでVBAで代入しました。 コードは、 Private Sub 代入リスト_Click() Me.診察券 = 代入リスト.Column(0) Me.氏名 = 代入リスト.Column(1) Me.住所 = 代入リスト.Column(2) End Sub です。 ありがとうございました。 おかげで助かりました。