• 締切済み

Accessフォームの検索画面作成について

ご存知の方、教えてください。 ・会員情報の単票フォームを作成し、同フォームのフォームヘッダーにテキストボックスとボタンを作成しました。 ・テキストボックスにフリガナの頭文字を入力し、ボタンを押すと、該当する会員のレコードが表示されるようにしました。 (VBAのFindRecordで作成) ここからが分からないのですが・・・。 ・フリガナに同じ頭文字を持つレコードが複数ある場合、「次へ」というボタンを押すと上部レコードから順に次のレコードが表示されるようにしたいのです。また、同じ頭文字のレコードがない場合は「検索が終了しました」というメッセージを表示したいのです。 VBAでどのような記述をすればいいのか、教えてください。よろしくお願いします。

みんなの回答

  • 78tch
  • ベストアンサー率31% (50/157)
回答No.1

FindRecord されてるならば、 FindNext ではないでしょうか。

xxxgrigrixxx
質問者

お礼

ご回答、ありがとうございます。 FindNextを試したのですが、動かないんです。 ヘルプで調べたところ、 「コマンド ボタンを使って、"FindNext/次を検索" アクションが定義されたマクロを実行する場合は、検索条件を満たす最初のテキストのみが繰り返し検索されます。これは、コマンド ボタンをクリックしたときに、検索条件を満たすテキストが含まれるフィールドからフォーカスが変更されるためです。」 と言うことでした。 最初の質問と変わってくるかもしれないんですが、「フォーカスを変更しないようにする方法」もご存知であれば教えていただけないでしょうか。

関連するQ&A

  • Access フォームからの検索について

    初歩的な質問で申し訳ありませんが教えて下さい。 Access2000を使っています。 フォームに作ったテキストボックスに、入力した値又は文字と、特定のフィールドと比較し一致した場合にそのレコードをフォームに表示する方法はないでしょうか? いろいろと、web上のQ&Aなども見ましたが、思った動作をしませでした。 考えているのは、   ・テキストボックスにある値を入力し、『Enter』を押すとテキストボックスに入力した値と特定のフィールドと一致したレコードをフォームに表示 ・一致しない場合はメッセージボックスで一致しない旨を表示 です。 ・完全一致のみ表示 VBAでの動作を考えていますが、合わせて他の方法があれば教示頂ければと思います。 以上、お手数をお掛け致しますがよろしくお願い致します。

  • AccessのVBAにおいて,アクセスフォームに表示されている「値」を

    AccessのVBAにおいて,アクセスフォームに表示されている「値」を変数の中に格納したい。  例えば,オートフォームの単票形式でフォームを作成した場合,「番号」「製品」といったフィールドが2個あるテーブルを使うと,「番号」「製品」という名前のテキストボックスが2個ほどできます。 (フィールド名やテキストボックス名は問題ではありません。) このフォーム上に「ボタン」を配置し,このボタンをクリックした時に,「製品」というテキストボックスの内容を,メッセージボックスで表示させたい。 MsgBox (Me.製品.Text) と書いてもエラーとなります。 実際には,このフォームで欲しいデータを見つけた時,ボタンクリックで,テキストボックスに表示されている内容をグローバル変数に格納したいのですが,方法が分かりません。 Access 初心者です。どなたかよろしくお願いします。

  • Accessのフォームにて顧客番号を検索して無ければ新規作成したい

    Access2003のフォームで社員管理システムを作ろうとしていますが、VBAの記述でわからないことがあるので、教えてください。 まず、テキストボックス「txt_検索」に社員番号を入力し「cmd_検索」ボタンを押すと、社員管理テーブルの社員番号フィールドより検索をします。 社員管理テーブルに該当するレコードがある場合は、レコードの編集となり、社員番号がない場合はテキストボックス「txt_社員番号」に「txt_検索」の値を入れた新規レコードの作成としたいのです。 入力した値でレコードの検索をして、無いなら新規作成といったコードは どのような記述になるのか教えてください。 よろしくお願いいたします。

  • Accessフォームパラメータについて

    Access2000(2002のライセンスがあったのでアップグレード予定)で、プログラムを作ることになりました。 フォームAに、テキストボックスで文字を入力させます。 その文字をキーにして、データベースを検索し、 その情報をフォームBに上記キーをヘッダにテキストボックスで表示し、 複数業の表形式で、データを全て表示・スクロールしたいと思っています。 その時に、どのようにしてこのキーを利用していけば実現できるのか、イメージできないで困っています。 フォームAのテキストの値をキーにデータベースを読み、 該当するレコードを、全て、表形式のフォームBに表示する。 同時に、フォームAのテキストの値であるキーはヘッダ部に表示し、値が変更され、更新ボタンを押せば、検索しなおして、表示しなおす。 表示された明細には、変更ボタンを儲けて、 変更フォームで表示して更新させて、終わったら画面が表形式に戻ってくる。 こんな機能なのですが・・・。 パラメータ値であるAの値の受け渡しがうまくいかず困っていますので、どうしたら、実現できるか教えてくださいませ。 ややこしくてすみません。 アドバイス宜しくお願いします。

  • Accessであいまい検索するフォームをつくってみたんですが?

    Accessの初心者です。 本などをみながらあいまい検索ができるようなフォームをつくってみましたがフォームを開いた時、全レコードが表示されてしまいます。 クエリーの抽出条件はLike "*" & Forms!フォーム1!テキスト0 & "*"にしてテキストボックスプロパティの更新後処理でDoCmd.Requeryとしました。(意味がよくわからないんですけど) フォームを開いた時やテキストボックスになにも入力されていない時、全レコードが表示されないようにするにはどうすればいいのでしょうか? よろしくお願いします。

  • Accessのフォームにて

    Accessの配達管理のフォーム(表形式、ある条件にて抽出済み)にて ●日付 ●顧客ID  ・  ・ ●配達者CD 上記のフィールドがあるとします。 このフォームのヘッダー部分に非連結のテキストボックスA、Bを作成し、 テキストボックスAに配達者CDを入力すると、 テキストボックスBに配達者名が表示される。 フッター部分に「印刷」ボタンを作成し、これをクリックすると、 フォーム一覧の配達者CDにヘッダー部分のテキストボックスAの 配達者CDが入力されるというシステムを作りたいのですが、 テキストボックスAの配達者CDを参照させて、テキストボックスBに 配達者名を表示させるというのがうまくいきません。 テーブルにて、配達者マスタ ●配達者CD ●配達者名 は、作成しています。 よろしくお願いいたします。

  • アクセスのマクロでの再検索

    ACCESSで住所録を作っています。 入力のためにフォームを作成し、そのフォーム上にボタン「検索」「すべて表示」を作りたいと思っています。 マクロ  1.「検索」はアクションを「フィルタの実行」、フィルタは別にクエリで作成し、別に用意したテキストボックスに文字を入れてボタンを押すことによって検索できるように設定しました。  2.「すべて表示」は1つめのアクションが「全レコードの表示」、2つめのアクションが、検索文字を入れるテキストボックスへの「値の代入」で「""」を指定しました。 これでやってみたのですが、1回目の「検索」はうまく働くのですが、「すべて表示」して、2回目以降「検索」ボタンを押しても、1回目と同じ結果しか出てきません。 この2つのボタンが正しく働き、再検索ができるようにするにはどうすればよいのでしょうか? モジュールを作成するのでしょうか? ぜひご指導をお願いいたします!

  • アクセスで指定したレコードをフォームで開く方法?

    アクセスで、帳票形式のフォームで選択したレコードの内容を、詳細を表示する用のフォーム(単票形式)で開きたいのですが、どうしたらよいのでしょうか?(初心者です) 例えば、帳票形式のフォームで「予約番号:1」のレコード 選択した状態で、ボタンをクリックすると、 詳細を表示する用の単票形式のフォームの「予約番号:1」のレコードが表示されるようにしたいのです。 マクロでは出来なそうなので、VBAで・・・というところまでしか検討がつきません。 使用しているのはアクセス2002です。 どなたかご存知の方がいらっしゃいましたら、教えてください。よろしくお願いします。

  • フォームで検索画面を作成しましたがうまくいきません。

    社員マスタ(社員NO,社員氏名、生年月日、・・・)を元に、 社員の情報を検索できるフォームを作成したいと思い、本を片手に以下のように作成してみました。 (1)社員マスタを元に選択クエリ(Q_社員検索)を作成。 社員番号の抽出条件 [Forms]![Q社員検索]![社員番号検索]  または(抽出条件は二段に分けてます) 社員氏名の抽出条件 Like [Forms]![Q社員検索]![社員氏名検索] & "" & "*" フォーム(F_社員検索)には、社員番号検索と社員氏名検索のテキストボックスを配置し、コマンドボタン(検索ボタン)をテキストボックスの横に配置。 マクロ(M_社員検索)はアクションがフィルタの実行、フィルタはQ社員検索としています。 コマンドボタンのクリック時イベントにこのM_社員検索を指定。 F_社員検索からは、「社員番号」または「氏名」から社員の情報を表示させたいと思っています。 が、、実際に作成してみると下記のような不備が発生しています。 (1)社員氏名を社員氏名検索のテキストボックスに入力して、検索ボタンを押す→正しく結果が表示される。 (2)社員番号を社員番号検索のテキストボックスに入力して、検索ボタンを押す→結果が正しく表示されない (3)(1)の後に、続けて(2)を実行した場合、フォームには、2レコード表示されてくる。 になってしまいます。 原因がよく分からず、四苦八苦しています。 当方アクセス初心者レベルですので、簡単な解決があれば教えていただきたく思います。

  • アクセスのフォームで期間検索するには?

    アクセスの検索フォームで、レコードを別フォームで表示して、表示したフォームでフィールド毎に検索しています。 日付の部分だけ、検索方法が分からず、なかなか出来ない状態です。 このフォームに、開始と終了のテキストボックスを設置しています。 ボタンを押して、開始と終了の期間のデータを表示出来ればと思います。 宜しくお願いします。

専門家に質問してみよう