• 締切済み
  • 困ってます

Access コマンドボタンクリックでサブフォームに結果表示

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

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数4121
  • ありがとう数5

みんなの回答

  • 回答No.2

ボタンを50以上も並べるつもり? 出来ないことはないですが[初心者]だというのなら テキストボックスに検索文字を入れてボタンクリックで検索する という普通のインタフェースから始める方がいいんじゃないの

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

  • 回答No.1
noname#140971
noname#140971

名簿一覧: 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 これで、起動時にコンボボックスの先頭の頭文字に対応するレコードが表示されます。 以上!

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

  • ACCESSで、メインフォームとサブフォームがあるとき・・・

    Accessで、メインフォームとサブフォームがあり、メ インフォームのテキストボックスで期間を指定し、再 クエリを行うマクロボタンでサブフォーム上に期間指 定したデータのみが表示されるようにしています。 また、Access起動時に開くフォームがあり、そのフォ ームに、先ほど上述したメインフォームが開くマクロ ボタンを作成したところ、パラメータの入力画面が出 てきてしまいました。 恐らく、サブフォームの抽出用のクエリに設定してあ るものだと思いますが、これが表示されないようにす ることは出来ないのでしょうか?

  • サブフォームでクエリの更新

    「Q検索」というクエリと「F検索」というフォームを作成しフォーム上には「番号テキスト」とコマンドボタンを作成後、F検索にQ検索をドラッグしてQ検索のサブフォームを作成しました。 Q検索の番号フィールドの抽出条件には[Forms]![F検索]![番号テキスト]は入力しています。 やりたいことは 番号テキストに番号を入力しコマンドボタンをクリックしたら 一致する番号だけをサブフォームに表示させたいのですがどうすればいいのかわかりません。 今の状態は コマンドボタンのクリックイベントにVBA DoCmd.OpenQuery "Q検索", acNormal, acEdit 普通にクエリが開いてしまいます。 これをサブフォームで行うにはどうすればいいのでしょうか? よろしくお願いします。

  • Accessのサブフォームのフィールドをチェックボックスにより表示/非表示に切り替える方法

    無謀なことかもしれませんが・・・ 下記のようなフォームを作成したいと思い質問させていただきます。 OS:WindowsXP 使用ソフト:Access2003 ・非連結のサブフォームにクエリを表示させています。 ・メインフォームにはクエリのフィールド名が書かれたチェックボックスを並べて配置しています。 ・チェックボックスをオフにしてコマンドボタンをクリックすると、 サブフォームのクエリのフィールドが非表示になり、またチェックボックスをオンにするとサブフォーム内のクエリのフィールドが表示されるようにしたいです。 初心者なので、丁寧に教えてもらえるととても助かります。 どなたかお知恵をお貸しください★

  • Access:サブフォームにクエリ表示⇒フィールドを絞り込みたい

    Access2003 WinXP です。 フォームにサブフォームを置き、サブフォームのソースオブジェクトにクエリを参照しているデータシート形式のフォームを設定しています。 フォームに絞込み条件を選択するオプションボタン、表示するフィールドを選択するオプションボタンを配置し、 サブフォームへ表示するコマンドボタンを置いています。 この設定を選択した後コマンドボタンを押すと、クエリの中身を書き換えています。 で、実行すると、表示しない設定のフィールドには「Name?」という値が入ったフィールドがしっかり表示されてしまいます。 ソースオブジェクトにクエリ自体を設定すれば回避出来ますが、表示されたデータをダブルクリックするとその1レコードを表示する画面を更に開きたいと思っていますので、サブフォームにデータシート形式のフォームをセットするのがダブルクリックイベントを取得出来て良いかと思っています。 分かりにくい説明ですみません。 何か解決法を分かる方いらっしゃいましたら、お願いします。

  • サブフォームの切り替え方を教えてください

    ACCESS97のVBAでアプリケーションを作成しています。 その中でメインメニューのボタンを押した時に新しいフォームとその中のサブフォームが表示されるような処理を行っているのですが、基本的にフォームは同じのを使いまわし、その中のサブフォームをイベントによって切り替えたいのです(例えばメニュー画面でAのボタンをクリックしたら新しいフォームとその中のAAのサブフォームが、メニューのBのボタンをクリックしたらBBのサブフォームが表示するなど)。どなたか良い方法を知っていましたら教えてください。

  • サブフォームにクエリの結果を表示するには・・・?

    ACCESSで勉強を始めたばかりの者です。 過去ログを検索してもわからなかったので教えてください。 ただ今検索用のテキストボックスを作り、コマンドボタンを押すとクエリが実行されるようになっております。 ここで、クエリの画面を出すのではなくサブフォームを作ってそこに表示させるようにしたいと思ってます。 表示させたい項目はすでに作ってはみたのですが、どうやったらコマンドボタンを押してそこに表示させるようにできるのかがわかりません。 もしかしたら大変未熟な質問をしているかもしれませんが、どうか教えてください。

  • ACCESS フォームで抽出したデータのみをレポートで表示したい

    初歩的な質問だとは思いますが、どうしてもできないので教えてください。 フォームで抽出条件をメインフォーム抽出結果をサブフォームに表示するフォームを作成しました。 このサブフォームで抽出したものだけをボタンをクリックするとレポート表示するように作りたいのですができません。 どうすればいいでしょうか?

  • Access サブフォームでの表示フィールド選択

    Accessでアドレス帳を作成しています。 データシートには名前、ヨミ、TEL番号、FAX番号、メールアドレス、郵便番号、住所、メモ等のフィールドが存在します。 フォーム上タブコントロールでヨミより「あ・か・さ・た・な」検索できるようにクエリ抽出条件を作成しました。 フォーム上に設置したサブフォームにクエリの抽出結果が表示されます。 ここで、フォーム上に連絡先、住所、メモのオプションボタンを作成し、連絡先にチェックした時にはTEL及びFAX、住所にチェックした場合は郵便番号及び住所・・・のところだけを表示することは可能でしょうか? つまりはクエリの表示項目をフォーム上のオプションボタンでコントロールできるのでしょうか? よろしくお願いします。

  • Accessでのサブフォーム内の再クエリについて

    Access上で新しいデータベースを作成中なのですが、サブフォーム内の再クエリが上手くできません。 2つのコンボボックスを連動させた物がサブフォーム内にあるのですが、この2つを連動させる為にどうしてもサブフォームでの再クエリが必要となります。 そして、その再クエリのマクロでのコントロール名がわかりません。 最初のコンボボックスを[果物]次のコンボボックスを[りんご]と仮定すると、 [果物]→再クエリ→[りんご]のような形になる為、コントロール名は[りんご]になるはずなのですが、サブフォーム内の[りんご]の為、なんと表現していいのかわかりません。その結果、上手く再クエリが働いてくれません。 コントロール名はなんと書けばよろしいのでしょうか? (何も書かなくても再クエリされないです…) Access初心者なのでわかりやすく言っていただければと思います。 長い質問になってしまいましたがよろしくお願いいたします。

  • Accessにてコマンドボタン時にエラー

    Access2003にてメインフォームに様々なボタンを作成し、処理を実行させようとしています。 「クリック時」イベントにマクロを指定する分には問題ないのですが、 コードを選択して実行させると 「イベント プロパティに指定した式 クリック時 でエラーが発生しました:Microsoft AccessがOLEサーバーまたは ActivXコントロールと通信している時にエラーが発生しました。」 の表示がでます。 一旦、コマンドボタンを削除して、1からやり直してみたのですが うまくいきません。 解決方法をご教授ください。