アクセス検索フォームからの検索方法と結果の一覧表示

このQ&Aのポイント
  • アクセスで単票形式のフォームにて条件を入力し検索を実行し、対象一覧を表形式のフォームで表示したいです。
  • 「対象者データ」というテーブルに対し複数条件を入力して検索を行い、結果を表形式で表示したいです。
  • 現在VBAを使用して登録画面を完成させていますが、アクセス初心者のため、検索結果の表示方法について教えてください。
回答を見る
  • ベストアンサー

アクセス検索フォームからの検索方法と結果の一覧表示

アクセスで単票形式のフォームにて条件を入力し検索を実行し、対象一覧を表形式のフォームで表示したいです。 「対象者データ」というテーブルに対し複数条件を入力 ■テーブル構成 (名前)(年齢)  山田  20  佐藤  25  鈴木  35  田中  35    小川  40 --------------------例その1 ■検索※単票形式 (名前)(年齢) 「田 」「  」 ■結果※表形式 (名前)(年齢)  山田  20  田中  35 --------------------例その2 ■検索※単票形式 (名前)(年齢) 「田 」「35 」 ■結果※表形式 (名前)(年齢)  田中  35 上記の様な結果を表示するにはどのように行えばよいのでしょうか。 アクセス初心者で、現在VBAを駆使し登録画面が完成した状態です。 よろしくお願い致します。

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

単票形式のフォームのテキストボックス名を tx名前 tx年齢 とします。 表形式のフォームの名前を F検索結果 とします。このとき、表形式のレコードソースは 「対象者データ」とします。 単票形式のフォームにボタンを一つ設定し、 ボタンのクリックイベントに、 Private Sub コマンド0_Click()   Dim str As String     str = "[名前] Like ""*" & Me!tx名前 & "*"" And " & "[年齢] = " & Me!tx年齢     DoCmd.OpenForm "F検索結果", , , str End Sub このとき、年齢は「数値型」としています。 もし、年齢が「テキスト型」ならば、 >str = "[名前] Like ""*" & Me!tx名前 & "*"" And " & "[年齢] = " & Me!tx年齢 を、 str = "[名前] Like ""*" & Me![tx名前] & "*"" And " & "[年齢] = '" & Me!tx年齢 & "'" にしてください。 なお、上記の場合は単票形式のフォームの 二つのテキストボックスには必ず入力されるものと します。

coconopapa
質問者

お礼

お礼が反映してませんでした。 すみません。 希望していた動作をしました! ありがとうござました。

関連するQ&A

  • 検索結果を単票と一覧で表示させたい

    ◆環境ですが windows10 ACCESS2010 ◆やっていること クエリに抽出条件を設定「フリー検索」して検索結果を単票フォームにて確認しています。 ◆やりたいこと 検索結果が多いと単票フォーム「件数が少なければ単票閲覧で完結」を行ったり来たりと面倒もあり、単票フォーム「検索結果」にコマンドボタンを配して、検索結果を一覧フォームで表示させたいと思っています。検索結果の単票フォームは画面上に残したいと思いますので、別フォームを作成して一覧表示できればと考えています。 ◆オブジェクト ・フォーム名:昔話と迷信のフリー検索クエリ種別 ・クエリ名:昔話と迷信のフリー検索クエリ種別「抽出条件:Like "*" & [ 種別検索「人間・動物・物」 ] & "*"」 以上ですが、宜しくお願いします。

  • Access 検索フォームの作り方について

    Accessで受付リスト作成しました。 *受付一覧テーブル:データはここに保存 *入力フォーム:データはここから入力 これとは別に、検索フォームを作りたいのです。 フォームのヘッダーにテキスト(氏名を入力)とトグルボタン("検索開始")を作って、 受付一覧テーブルにあるデータを入力フォームと同じ形式で呼び起こしたいのです。 初心者のため、こんな簡単な質問をして申し訳ございません。 ただ、1点気になるのが、テキストには全くの同一人物のデータが複数あります。 (例) 受付日    氏名 2005/11/2   山田 太郎 2006/02/5   山田 太郎 2007/10/1   山田 太郎 この複数のデータを受付日直近のものから順呼び起こすことは可能でしょうか? 難しいの場合は、単純に検索フォームの作り方をお教えいただけますと大変助かります。 何卒よろしくお願いいたします。

  • Accessのフォームについて

    Access2002のフォームについて質問します。単票形式、表形式、データシート形式、帳票形式とありますが、単票形式、表形式は、だいたいどんなものかイメージができるのですが、データシート形式、帳票形式とはどんなものですか?またどんな時にこの形式にするのでしょうか?単票形式、表形式との違いはなんでしょうか? 教えてください。お願いします。

  • Accessの検索フォームで。

    Accessを使ってデータベースを作成しています。 「テーブル1」があり、これには 名前ID 名前 入力日 チェック項目1 チェック項目2   : とあります。 これをもとに「検索クエリ」を作成しました。 検索クエリの項目は「テーブル1」とまったく同じですが、 すべてを検索するわけではないので ・名前ID  「検索項目なし」 ・名前  「Like IIf(IsNull([Forms]![検索条件入力フォーム]![名前]),[氏名],'*' & [Forms]![検索条件入力フォーム]![名前] & '*') ・入力日  「検索項目なし」 ・チェック項目1  「Like IIf(IsNull([Forms]![検索条件入力フォーム]![チェック項目1]),[チェック項目1],[Forms]![検索条件入力フォーム]![チェック項目1])」 ・チェック項目2  ※上記と同じ。   : としてあります。 この「検索クエリ」をもとに「検索条件入力フォーム」を作成してあります。 名前の欄に「田中」と入力すれば、「田中」がつく人がすべて検索されるというようなカンジになっています。 「テーブル1」に空欄があり、その場合に、検索がうまくいきません。 「検索クエリ」のところですべてに条件を入れればいいのですが、フォームに全てが入っていないので。。。 やはりフォームに「テーブル1」の項目すべてを含め、クエリで条件を入れるべきでしょうか? これが今考えている中では一番手早いようなカンジがするのですが、どうしてもあまりスマートなやり方ではないような気がして。。。 これしかないのであれば、これでやりますが、他にいい方法があれば、教えていただけないでしょうか? あまり上手な文章ではないので、補足要求があれば補足します。 宜しくお願いします。 Ac2000です。

  • Access2002でのフォーム形式

    Access2002でフォームウィザードを使って作成したフォームの形式(表形式など)を、作成後に変更(単票形式などに)することは可能なのでしょうか? ちょっと勉強を始めたらドンドコドンドコ不思議に思うことが出てきてしまって・・・。 よろしくお願いします。

  • Access、検索用フォームでのあいまいな検索

    現在、Accessでデータベース作成をしています。 テーブル:  ・テーブルA          ・テーブルB          (A・B間にリレーションシップ設定) クエリ    ・検索クエリ(テーブルA・テーブルBを元に作成) フォーム   ・検索用フォーム(デザインビューでフォーム作成より)          ・検索結果フォーム(検索クエリを元に作成) また、以下のような設定を入力しました。 「検索クエリ」の抽出欄  Like "*" & [Forms]![検索用フォーム]![検索したい名前] & "*"・・(1)  ※検索したい項目、すべての抽出欄に設定済 「検索用フォーム」  検索実行ボタンを作成し、マクロを設定  ・フォームを開く→「検索結果フォーム」  ・フィルタ→「検索クエリ」 上記の設定により、検索用フォームに検索文字を入力することで、その結果を「検索結果フォーム」に反映することができました。 ただ、テーブルAが元になっている項目の抽出欄のみに(1)を入力すると、うまくいくのですが、テーブルBが元になっている項目欄にも (1)を入力しようとすると、検索用フォームからうまく検索することができなくなります。 2つのテーブルを元にしたクエリからは、検索用フォームをつかった複数のOR検索はできないのでしょうか?? ご存知の方、ぜひ教えてください。 よろしくお願いいたします。

  • フリー検索結果を(単票)と(帳票)で表示させたい

    [やりたいこと] フリー検索結果を単表フォームで表示していますが、検索レコードが多とき帳票フォームで表示させたい。アドバイス「ご指導」をお願い致します。 [オブジェクト(Access2007)] テーブル名:情報データベース「フィールド:日時、発生国、分野、内容、WEB」 クエリ:情報データ検索クエリ「抽出条件欄(記述):Like "*" & [内容(一文字可)] & "*"」 フォーム:情報データ検索結果単票(単票)「レコードソース:情報データ検索クエリ」 フォーム:情報データメインフォーム(単票) [現状のご報告(運用)] 情報データメインフォーム(単票)上にコマンドボタンを配して、情報データ検索結果単票(単票)を開いています。 [やりたいことのイメージ] 検索結果として単票フォームが開いた後、情報データ検索結果単票(単票)に配したコマンドボタンで、情報データ検索結果一覧(一覧)を開いて検索結果を一覧で表示させたい。 [考えてみたこと(やりたいことは自力実現できず)] 1,情報検索総合フォームを作成し、情報データ検索結果単票(単票)と情報データ検索結果一覧(一覧)を開く2個のボタンを配して、データが多そうなときは(一覧)のコマンドボタンで検索。データが少ないと思われるときは(単票)のコマンドボタンで検索。しかし、データの多少は実行してみないと分からないのと、結局のところ2度手間になるので断念しました。 2,ドルグボタンで(単票)検索後に(一覧)検索を行い、(単票)と(一覧)を一緒に表示させる方法もあるかと考えました。しかし、この方法では1のコマンドボタン2個が1個になるだけで、検索文字を入力する工数は変わらないので、考えただけで終わりました。※元々、マクロやプロシージャのコマンドやコーティングが分からないレベル。 3,自分なりの結論として、やはり(単票)で表示させたあとに、(単票)上に配したコマンドボタンで帳票を開く方法がベストかと考えました。「アドバイスがありましたら宜しくお願いします。」 以上ですが、宜しくお願いします。

  • access2000表形式フォームから単票形式フォームで開きなおす方法

    access2000でDBをつくっています 表形式フォームのNoフィールドをダブルクリックして、クリックしたレコードのみを 単票形式フォームで開く。ということをしたいのですが、 表形式フォームのほうに Private Sub   No_DblClick(Cancel As Integer) DoCmd.OpenForm "単票形式", acNormal, , [No] = Me![No].Value, , acDialog End Sub とVBAを書いているのですが、 Noの値が3のところをクリックしてもNo=1のレコードが先頭に開けてしまい、 望むような結果が得られません。 本3,4冊調べてもよくわからないので、 アドバイスお願いします。

  • クエリ「パラメータ」検索結果を単票と一覧で表示II

    [使用ツール]ACCESS2007 [データベースの構成] テーブル名:情報データベース 単票フォーム名:情報フォーム 一覧フォーム名:情報一覧フォーム クエリ名:情報クエリ=「抽出条件」欄のパラメーター「Like "*" & [情報検索] & "*"」 [やりたいこと] 情報クエリ「パラメーター」の検索結果を単票「単票フォーム」と「一覧フォーム」を使い分けて閲覧効率を上げたい。 [考えたこと、やってみたこと] ケース1:検索結果5レコード以下「単票フォーム」、5レコード以上「一覧フォーム」で開く。 ケース2:埋め込みマクロで「単票フォーム」「一覧フォーム」の両方同時に開き「一覧フォーム」は最小化させる。「単票フォーム」を閉じると「一覧フォーム」が開く。 [確認できた課題] ケース1:多少の理解が可能な「埋め込みマクロ」で考えたが、スキル不足で試作にも入れず。 ケース2:「単票フォーム」「帳票フォーム」を同時に開いた時点で、両方の「パラメータダイアログ」が表示され、入力しないと「帳票フォーム」は最小化されない問題を解決できない。 (現状のスキルでは「単票フォーム」にコマンドボタンを配し、コマンドボタンで「帳票フォーム」を開いて検索を行う方法になり、操作「手間」を考えると結果的に非効率である。) [わかったこと] ケース1の方が設定後に「レコード数」の希望数値に変更することで調整が可能であり、設定全体を大きく変更することもないのでスキルが低くても使い続けられる。 【追 伸】 アドバイスをお願いするに当たり、スキル(質問者として)を知って頂くことが必要だと改めて感じて居ります。その為には情報をお伝えする以外にないと思いました「面倒だから聞いて居ると思われない為にも!」。今回、以下の内容で最初に質問させていただきましたが、「実現の可否も想像すらできておりませんでしたので、一旦、実現に向けて再度考えてみて質問IIとしました。(短絡的に取り下げたのではなく、実現の可否判断ができない為)」 [やりたいこと] 情報クエリ「パラメーター」の検索結果を単票「情報フォーム」で表示させていますが、レコード数が多い場合に一覧表示「情報一覧フォーム」させたいと考えています。 [希望の動作] 検索結果を単票「情報フォーム」で表示の後、レコード数の多い場合に情報フォームに配した「コマンドボタン」をクリックすることで、単票での検索済結果を「情報一覧フォーム」へ一覧表示させたい。 宜しく、お願いします。

  • ACCESSで空のフォームにクエリの値を追加する方法

    ACCESSで空のフォームにクエリの値を追加する方法 ACCESS2007を使っています。 フォームで空のフォームから始めた時やウィザードでテーブルやクエリを 対象とした場合でも、別のクエリの値を表示させたいのですが可能でしょうか? 可能であれば、 クエリに対してさらにクエリを与えて1フィールドになるようにし それを配置できるといいのですが。 例えば、クエリの結果: (ID)、(名前)、(売上)  1   田中   100  2   佐藤    50  3   山田   220 というのがあったとして、「100」「50」「220」というのを各各1つのテキストボックス のようなものにできるといいと思っています。(IDをそれぞれに固定で指定します。) できなければ、サブフォームのようなものでもいいのですが、 フォームの作成時ではなく、後から追加する方法があれば知りたいです。 よろしくお願い致します。

専門家に質問してみよう