- ベストアンサー
リストボックスのイベントプロシージャー
「氏名一覧」というフォームに、該当する氏名が リストボックスの中に表示されています。 リストボックスから1名氏名を選んだ時(ダブルクリックした時)に、 その選んだ人の個人情報のフォームを開くようにしたいのですが、 「氏名一覧」リストボックスの [ダブルクリック時]イベントプロシージャーでのコードの記述の仕方が分かりません。どなたか教えて下さい。宜しくお願いします。 ACCESS97を使っています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
リストボックスの内容がどうなっているかわかりませんが、とりあえずサンプルを記述します '~~~~~~~~~~~~~~~~~~~~ Private sub 氏名一覧_DblClick(Cancel As Integer) Dim stSQL As String stSQL = "氏名 = '" & Me.[氏名一覧].Value & "'" Docmd.OpenForm "個人情報", , , stSQL End Sub '~~~~~~~~~~~~~~~~~~~~ リストボックスの中には、氏名の他に「ID」なるものがあればイイですね... (漢字とか平仮名だと正常に認識しない時がありますので...) このときは、Columnプロパティを使用します なにかあれば補足を御願いします
その他の回答 (1)
- taranko
- ベストアンサー率21% (516/2403)
イベントプロシージャ―のコードに余り詳しくないのですが 次の方法でも出きると思います。 イベントプロシージャ―でコードを記述するのではなく、 フォームを開くマクロを作り、ダブルクリック時に フォームを開くマクロが実行される様にすればいかがでしょう。 開くフォームのデータはクエリーを使い、リストボックスの値で 検索する様にすればできると思います。
お礼
ありがとうございます。最初は、表示されなかったのですが、教えて頂いたサンプルで上手く表示されるようになりました(^^)/
補足
「個人」テーブルの内容をフィルタを使って絞り込む為 "個人情報一覧"というクエリを作成しました。 個人ID、氏名、フリガナのフィールドを設置し、フリガナの抽出条件に Like[Forms]![個人情報][フィルタ]を入力しました。 そして個人情報フォームには、 リストボックス・テキストボックス・オプショングループを作りました。 「リストボックス」のプロパティは、 名前:氏名一覧、集合ソース:個人情報一覧、列数:3。 「テキストボックス」の名前:フィルタにし、不可視。 「オプショングループ」の名前:氏名フィルタとし、 その上に「あかさたなはまやらわ、すべて」と11個のボタンをつけ、 氏名フィルタのイベントプロシージャ、更新後処理で、 下記の様なコードを記述しました。 ********************************* Private Sub 氏名フィルタ_AfterUpdate() Select Case Me![氏名フィルタ] Case1 [フィルタ]="[あ-お]*" Case2 [フィルタ]="[か-ご]*" ・ ・ ・ Case10 [フィルタ]="[わ]*" Case11 [フィルタ]="*" End Select Docmd.Requery"氏名一覧" End Sub ************************************ [氏名一覧]リストボックスに「個人」テーブルの一覧が表示され、 「あ」から「わ」までの各ボタンを押すと該当する氏名が表示される様になっています。 教えていただいたサンプルを参考にダブルクリックのコード作ってみたのですが、 上手くいかなかったので、行った作業を全て書いてしまいました。 宜しくお願いします。。。。