検索フォームの検索結果。毎回先頭のレコードを表示させたい。

このQ&Aのポイント
  • 顧客データベースを作成し、初心者ながら顧客検索フォームを完成させました。キーワードを入力して検索ボタンを押すと、該当顧客データが表示されるようになっています。しかし、連続して検索を行った場合には先頭のレコードから表示されず、問題が発生しています。
  • 具体的には、例えば「東」をキーワードで検索した場合には検索結果の先頭のレコードが表示されます。その後、「西」をキーワードで検索した場合には、前回の検索結果のレコード位置から表示されてしまい、新規レコードが表示されることがあります。
  • この問題について、ネットで調べながら試してみましたが解決策が見つかりません。どのタイミングでどのように記述すれば良いのかわからず、困っています。追記やアドバイスがあればお願いします。
回答を見る
  • ベストアンサー

検索フォームの検索結果。毎回先頭のレコードを表示させたい。

こんにちは。 顧客データベースを作成しています。 当方初心者なもので、調べながらですがようやく顧客検索フォームができあがりました。 【Q検索】を作成し、それを元に【F検索】を作りました 顧客名の一部をキーワードとし、【F検索】内に配置したテキストボックスにキーワードを入力し検索ボタンを押すと、【F検索】内に埋め込んだサブフォームに該当顧客データが単票フォームで表示されるようにしました。誰でも使えるように、サブフォーム内に【前のレコードへ】と【次のレコードへ】という2つのレコード移動ボタンを配置しました。検索処理はうまく動いたのですが、一度検索をして、続けて検索をした時、先頭のレコードからの表示になりません。 例えば、「東」をキーワードにして検索し、検索結果が30件あったとします。一度目の検索では、検索結果は先頭のレコードが表示されます。【次のレコードへ】ボタンで10番目のレコードまで移動した後、今度は「西」をキーワードにして検索をすると10番目のレコードが表示されてしまいます。「西」の検索結果が5件しかなかった場合は新規レコードが表示されてしまいます。 ネットで調べていろいろ試してはみたのですが どのタイミングでどう記述すればいいのかわかりません。 説明に不備がありましたら追記していきますので よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.1

ExcelなのかAccessなのかを明示してください。 そのような処理を行う方法はいくらでもあると思うので どのように実現したか、コードを示さないと回答しにくいと思います。 なんとなくですが「検索」ボタンを押したときの処理で前回の検索結果をクリアーしてから検索するようにしなきゃならないということでしょうね。

sotamiki
質問者

お礼

すみません。アクセス2007です。 【Q検索】の「顧客名」フィールドの抽出条件に 「Like "*" & [FORMS]![F検索]![検索キーワード] & "*"」 と設定しました。 【F検索】の検索ボタンには  Private Sub 検索ボタン_Click() DoCmd.Requery  End Sub と記述しました。 >なんとなくですが「検索」ボタンを押したときの処理で前回の検索結果をクリアーしてから検索するようにしなきゃならないということでしょうね 検索結果のクリアですね。 その方向で調べてやってみたいと思います。 またつまづいた時はお知恵を拝借できたらありがたいです。 ご回答ありがとうございました。

関連するQ&A

  • アクセス2000でフォームに入力したレコードを表示させたいのです

    初歩の質問ですがよろしくお願い致します。 顧客TBを作成して、それを単票フォームで入力 できるようにしています。 同一フォームにサブフォームを設けて入力したレコードを 登録毎にサブフォームへ一覧表示させるにはどうしたらよいでしょうか サブフォームに直接入力していくと可能なのですが できれば上記のような形で行ないたいのです。 それとサブフォームでは編集できないようにすることは出来ますか? 宜しくお願い致します

  • VBでのデーターベースレコード検索方法

    VB6.0を使って顧客データーベースを作っているのですが質問させてください。 まず作成した順序として ・ビジュアルデーターマネージャーを使ってレコードを作成しました。 ・顧客コード、フリガナ、名前、住所・・・あと何点かありますが・・ ・データーフォームウィザードで顧客フォームを表示できるようにしました。 ここからが質問ですが、 1.フォームを開いた時点では顧客コードに1番が割り振られるのでそれをまず空欄にしておきたい。 2.例えば23を顧客コードフォームに入力しエンターキーを押せば23の顧客データーを検索し各フォームに表示されるようにしたい。 3.23番の顧客を表示後、削除ボタンをおすとそのレコードが削除されるが、23番を2.のように入力するとレコードがない為自動的に新規入力となり保存すると23番目のレコードに挿入されるようにしたい。 以上の3点です。ど素人的な質問ですがどうかよろしくお願いします

  • ACCESSの検索結果のレコード移動時イベント

    Access2010です。 F_マスタにF_サブのサブフォームが組み込まれています。 F_マスタには検索ボタンがあって、その検索結果がF_サブに表示されます。 その検索結果についてレコード移動時イベントを使い、クリックしたレコードの処理を行っています。 ところが、検索結果の1行目だけイベントが発生しません。 1行目以外ではイベントが発生し、その後は1行目でも発生するようになります。 表示直後はカレントレコードが1行目に存在するため、1行目をクリックしても移動とみなされない? そこで、表示直後でも1行目のイベントを発生させる何か良い方法はないでしょうか?

  • 新しいレコードの表示

    業務日報をアクセスで作成しています。 タブに個人別のサブフォームを作成してそれぞれ表示しているのですが、件数が多くなると新規でレコードを作成したい時に新しいレコードにカーソルを移動するのが大変になるので、ボタンをクリックして移動できたらと考えています。 Docmd.GotoRecord , , acNewRecord だとサブフォームの新しいレコードには移動出来ません。 もし、この方法が出来ないのであれば、新しいレコードが常に一番先頭に表示されていて、追加するたびに先頭にどんどん表示するという方法でもいいのですが、こんな事は可能なのでしょうか?

  • フォームで前のレコードも表示させる

    access2000です。 1つのフォームで、今のレコードと比較で前のレコードも表示させたいです。 具体的には フォームの左側は今表示しているデータ群 右側は、直前のレコード群を表示させたいです。 下にある移動ボタンに今のレコードが前から何番目か表示されていると思います。 あれの-1のレコードを表示させたいです。 どうすればいいでしょうか? お願いします。

  • ACCESS2007 レコード位置の表示

    よろしくお願いします。 サブフォームのあるフォームを作成しましたが。 標準の移動ボタンはメインフォームのデータ領域から離れた位置にあります。 同じ情報を データ領域の近くに配置したいのですが、 レコード情報(レコード位置/レコード総数)はどのようにしますか

  • ACCESS2000でクエリで抽出したレコードをフォームに表示するには

    A顧客テーブルで作成したフォームからコマンドボタン(電話番号検索)押下時に 電話番号入力画面が出て入力した電話番号とマッチした顧客レコードをフォームに 表示させたいのですが上手く出来ません。 現在進めている方法では何がダメなんでしょうか(以下は考え方) A顧客テーブルから作成したフォムに電話番号コマンドを作成してコマンドを 押すとクエリの実行をさせる。クエリはA顧客テーブルのフィールドを全て選択して抽出条件に[電話番号入力]としている。 (結果) ・フォームを開くと先に電話番号入力が出てくる、先にフォームが開かない。 ・電話番号検索コマンドボタンを押すと抽出条件に合ったレコードはデーターシートビューに表示される。 よろしくお願いします

  • Accessのサブフォームからフォームフィルタを使ってメインフォームも含めたレコードの抽出が出来ないのは何故でしょうか?

    フォームフィルタを利用してサブフォームに入力されている値でレコードの抽出を行いたいのですが、うまくできません。 メインフォームが持っているレコード全てを持ってきます。 メインフォームに含まれているデータが100件なら、それ全てを表示してしまうということです。 私が抽出したいレコードは2件だけです。 メインフォームからフォームフィルタを利用して抽出すると正しい結果が得られます。 これはどうしてでしょうか? サブフォームへの設定が何か足りないのでしょうか? 親・子のフォームのテーブルは同一のものです。 カテゴリーで親と子にフォームを分けました。 親にはクエリはなくて、リレーションシップしたテーブル数種から直接フォームにひっぱってあります。 子は一つのテーブルからクエリを作って、そのクエリからフォームに引っ張っています。 Access2003です。 どなたかご教示いただきますようお願いいたします。

  • Accessのフォームでレコード移動ボタン等を非表示にする

    いつも大変お世話になっております。m(_ _)m アクセスのフォーム(単票表示)で、サブフォームを表示した時、画面の左下にレコードセレクトボタン(1つ前に進む、1つ後に進む、一番最初に戻る等のボタン)を非表示にしたいのですが、できるのでしょうか? よろしくお願いします。

  • フォーム上でレコードの非表示

    どなたか教えて下さい。テーブルからフォームを作成したのですが、下のレコードの表示を非表示にする方法を教えて下さい。フォームヘッダー等を色々調べましたが、どうしても一番下にレコード(レコードの数、次に進むボタン等)が表示されてしまいます。よろしくお願い致します。

専門家に質問してみよう