- 締切済み
Access コマンドボタンクリックでサブフォームに結果表示
Access初心者です。 フォームに50音順コマンドボタンを作成、 コマンドボタンの「あ」をクリックしたら、下のサブフォームに 「あ」から始まる名前を表示したいのです。 サブフォームに表示するクエリの抽出条件にどのようにを入力するのでしょうか?あいまい検索?? コマンドボタンのイベントからマクロを作成するのでしょうか? すごく初歩的な質問ですね、、、お恥ずかしい どなたか教えていただければうれしいです。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- CHRONOS_0
- ベストアンサー率54% (457/838)
ボタンを50以上も並べるつもり? 出来ないことはないですが[初心者]だというのなら テキストボックスに検索文字を入れてボタンクリックで検索する という普通のインタフェースから始める方がいいんじゃないの
名簿一覧: ID__名前_______読み 01__鈴木 一郎__すずき いちろう 02__中村 主水__なかむら もんど このようなテーブルを仮定します。 <メイン・サブフォーム形式ではない方法で> 1、このテーブルを基に<表形式>でフォーム[名簿一覧]を作成します。 2、[デザインビューでフォームを作成する]をクリックします。 3、無地のフォームにフォーム[名簿一覧]をドラッグアンドドロップします。 4、フォーム[名簿一覧]を配置したフォームのプロパティを最適化します。 ・標題=名簿一覧の参照 ・スクロールバー=なし ・レコードセレクタ=いいえ ・移動ボタン=いいえ 5、ここで、一旦、[名簿一覧の参照]名で保存します。 出来上がったフォーム[名簿一覧の参照]を開くと全ての[名簿一覧]が表示されています。 問題は、この全表示を列[読み]の先頭の一文字のみに対応するレコードに絞り込む方法。 6、フォーム[名簿一覧の参照]に[コンボ_頭文字]を配置します。 ・値集合タイプ=値リスト ・値集合ソース=す・・・で始まる名簿一覧;な・・・で始まる名簿一覧 <-- 実際的ではないが・・・。 7、[コンボ_頭文字]を右クリックして[イベントのビルド]-[コードビルダ]をクリック。 Private Sub コンボ_頭文字_AfterUpdate() If Len(Me.コンボ_頭文字.Value & "") Then Me.名簿一覧.Requery End If End Sub ここで一旦再保存します。 8、フォーム[名簿一覧]をクリックし[レコードソースを編集]し保存。 SELECT 名簿一覧.ID, 名簿一覧.名前, 名簿一覧.読み FROM 名簿一覧 WHERE (((名簿一覧.読み) Like Left(Forms!名簿一覧の参照!コンボ_頭文字,1) & "*")); 9、フォーム[名簿一覧の参照]の起動時の設定を追加。 Private Sub Form_Load() Me.コンボ_頭文字.Value = Me.コンボ_頭文字.ItemData(0) コンボ_頭文字_AfterUpdate End Sub これで、起動時にコンボボックスの先頭の頭文字に対応するレコードが表示されます。 以上!
お礼
丁寧な回答ありがとうございます! 教えて頂いたとおり作ることができました! ホントに感謝です。コマンドボタンではなく、コンボボックスでの 作成となりましたが、大満足です。 なにせ初心者なもんで、コードを触ることが初めてでした。 とても勉強になりました。
お礼
回答ありがとうございます。 はい50以上並べたいと思います。 初心者のくせにテキストボックスに文字をいれる手間を はぶきたくてワンクリックで表示させたいんです。 実用書にはなかなか例が載ってませんね 考えてるより難しい事なのでしょうか。。。 なんとかがんばってみたいと思っています。