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

Access初心者です。
フォームに50音順コマンドボタンを作成、
コマンドボタンの「あ」をクリックしたら、下のサブフォームに
「あ」から始まる名前を表示したいのです。
サブフォームに表示するクエリの抽出条件にどのようにを入力するのでしょうか?あいまい検索??
コマンドボタンのイベントからマクロを作成するのでしょうか?
すごく初歩的な質問ですね、、、お恥ずかしい
どなたか教えていただければうれしいです。

A 回答 (2件)

ボタンを50以上も並べるつもり?


出来ないことはないですが[初心者]だというのなら
テキストボックスに検索文字を入れてボタンクリックで検索する
という普通のインタフェースから始める方がいいんじゃないの
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
はい50以上並べたいと思います。
初心者のくせにテキストボックスに文字をいれる手間を
はぶきたくてワンクリックで表示させたいんです。
実用書にはなかなか例が載ってませんね
考えてるより難しい事なのでしょうか。。。
なんとかがんばってみたいと思っています。

お礼日時:2008/04/04 21: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

これで、起動時にコンボボックスの先頭の頭文字に対応するレコードが表示されます。

以上!
    • good
    • 0
この回答へのお礼

丁寧な回答ありがとうございます!
教えて頂いたとおり作ることができました!
ホントに感謝です。コマンドボタンではなく、コンボボックスでの
作成となりましたが、大満足です。
なにせ初心者なもんで、コードを触ることが初めてでした。
とても勉強になりました。

お礼日時:2008/04/05 01:08

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

関連するカテゴリからQ&Aを探す