• ベストアンサー
  • 困ってます

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

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

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

  • 回答数4
  • 閲覧数131
  • ありがとう数4

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

  • ベストアンサー
  • 回答No.2

まず作成するのは、パラメータの値を入力するフォームです ここに、テキストBOXを1つ配置させ入力した値をクエリに参照させるわけです よってクエリにも少し手を加えなければなりません 現在作成しているクエリの Like "*" & [ 種別検索「人間・動物・物」 ] & "*" の部分を Like "*" & [Forms]![作成した入力用フォームの名前]![入力するテキストBOXの名前 ] & "*" のようにしたクエリを使って一覧フォームが開くようにします この一覧フォームから単票フォームを開くには、開いている一覧フォームの主キーと先に作成したパラメータクエリとレーションシップをさせたクエリを作成して、対象となる単票フォーム用のクエリを作成します eokwave さんの例でいうなら、該当データには主キーであるIDフィールドがある訳です この主キーの値かつ、話の種別の部分が先に作成したパラメータクエリの入力用フォームの値のデータをクエリで抽出すれば単票用のデータの作成が行えます 具体的に言うなら、作成したクエリのID部分と話の種別部分の2つをフォームの値を参照するようにしたクエリを作成するのです ID部分は一覧フォームから引用し、話の種別部分は検索語入力するフォームから引用するクエリを作成して、それを単票フォーム用のデータとして利用します 単票フォームを開くアクションは、作り手の感覚次第でしょうか レコードセレクター部分をダブルクリックすると該当のデータが単票フォームで開くようにしても良いでしょう 私は、フォームの詳細部分をダブルクリックさせると単票フォームに切り替わる動作にさせる事が多いです(該当データのテキストBOXなどのパーツが無い部分のどこをダブルクリックしてもアクションしてくれますので、使う人間も特定の部分でダブルクリック動作させるより好評です)

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

質問者からのお礼

詳細にご説明いただきまして本当に有難うございました。これができればベストだと思います。しかしながら「パラメータクエリとレーションシップをさせたクエリ」との記述ですが、リレーションシップを使ってのデータベース構築にアレルギーがありまして「なしのデータベース作り上げてしまっている背景もあります」、リレーションシップに抵抗がなくなるまで、取り組みに踏み切れません。ごめんなさい。現在、一部のデータベース「今回の質問内容の方法で対処を予定していた」を除き一覧フォームのフッターとヘッダーを使って「メモ型」を配して、一覧リストのレコードをクリックすることで、詳細な情報「単票の全てのテキスト情報」を表示させています。但し、アドバイスをお願いしてからの経緯から、自分自身やりたいと思った内容でもありましたので、ベストアンサーとさせて下さい。ACCESSはリレーショナル・データベースですので、それをまともに構築できるスキルになった時、質問させていただければと思います。有難うございました。

関連するQ&A

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

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

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

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

  • 帳票から単票フォームへの表示がうまくいきません

    ACCESSを始めたばかりです。 帳票表示されているレコードを単票フォームで表示させたいです。 テーブル「売上データ」がありこのテーブルを使って帳票用と単票用のクエリを作成、それぞれに対してフォームを作っています。 「売上データ」には、オートナンバーで No があり、これを主キーにしてあります。 クエリ Q帳票   フォーム F帳票 クエリ Q単票   フォーム F単票 フォームF帳票には、レコード内にボタンをおきました。 ボタンには、下記のマクロをつくって イベント クリック時 のところにいれました。 マクロ フォームを開く  フォーム名 :F単票  ビュー   :フォームビュー  フィルタ名 :  Where条件式 :[No]=[Forms]![F帳票]![No]  データモード:  ウィンドウモード:ダイアログ フォームF帳票 で、検索窓を作って検索した一覧の中から単票表示したいレコードのボタンをクリックして単票フォームをダイアログで開かせたいです。 上記のようにやってみたのですが、単票フォームは開くもののデータは空白になってしまいます。 ちなみに、作ったマクロを実行してみると Forms!F帳票!No とパラメータの入力を求められるので適当な数字をいれるとその数字に該当した単票フォームが開きます。 WEBで探して同じような感じで作ってみたのですがうまくいきません。 どこが間違っているのでしょうか? ちなみにクエリ Q単票 の Noの抽出条件に[Forms]![F帳票]![No]をいれてみたりもしましたがうまくいきませんでした(空白で単票が開く) 何卒よろしくお願いします。

その他の回答 (3)

  • 回答No.4

>単票フォーム「検索結果」にコマンドボタンを配して、検索結果を一覧フォームで表示させたいと思っています.。 ★反対です。  一覧フォームの詳細にコマンドボタンを配して、  単票フォームのクエリーの主キーに一覧フォームの主キーを検索条件にし、  単票フォームの話の種類の検索条件を外すとピンポイントで単票フォームを開きます。 ★またクエリーを見ますと。文字列の長そうなのは内容くらい  これをフォームフッタに配置すれば、詳細で選ばれたレコードの内容のみが表示されます  単票票フォームは不要になります。 ★クエリはフォームに内包することが出来ます  フォームのデザインビューで、プロパティーシートのデータタグのレコードソースの右端の…をクリックすると内包のクエリデザインになります

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

質問者からのお礼

私がグズグズしていることもあり、ご親切に対応頂きまして本当にありがとうございました。貴重なご意見と受け止めさせていただきまして、勝手ながらお礼とさせて頂きたいと思います。有難うございました。

  • 回答No.3

画面に余裕があれば フォームフッタに単票のボックスを配置します これで帳表フォームを開くとアクティブになった行がフォームフッタに表示されんす。 従って帳票部分のボックスはフォームフッタから除外することも出来ます

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

質問者からのお礼

アドバイスありがとうございます。

  • 回答No.1

そのLile文を含んだクエリーをパラメータクエリーといいますが、そのパラメータの値はどこで入力しているのでしょうか? このような事を行うには、そのパラメータを入力する値を入力する為のフォームを作成します 入力された値を参照してフォームを開くようにし、複数のデータが対象となる事が予想されるのですから、最初に一覧フォームで開くようにして、その一覧フォームの対象部分をダブルクリックするなりして、詳細として単票フォームが開くという作りにした方が良いと思います または、最初のパラメータクエリを実行させる時に、対象となる物をカウントさせ、1つだけの時には単票フォームで開き複数対象となる場合には一覧フォームとなるようにするなんて事も出来ますけどね eokwave さんが今言っている通りに動作させたいならそのようにする事も可能ですが、パラメータクエリを実行させる場合にその値をどこかのフォームで保持せずにいると、パラメータ実行するたびにパラメータの値を入力しなければならなくなります

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

質問者からのお礼

選択肢をご提示いただきまして本当にありとうございます。

質問者からの補足

早速アドバイスを頂きましてありがとうございます。 tamu1129様の選択肢「アドバイス」の中で、下記の方法が合理的だと感じました。そこで、恐縮ですが設定の仕方をアドバイス願えませんでしょうか。具体的には、一覧リスト「一覧フォームを作成する」から指定したレコードをピンポイントで単票フォーム「現在の単票フォームを使うか作り直す」で開く方法がわかりません。 ◆アドバイスの選択肢から私の賛同案です 入力された値を参照してフォームを開くようにし、複数のデータが対象となる事が予想されるのですから、最初に一覧フォームで開くようにして、その一覧フォームの対象部分をダブルクリックするなりして、詳細として単票フォームが開くという作りにした方が良いと思います。 以上ですが、宜しくお願いします。

関連するQ&A

  • 検索データが無い時にメッセージを表示したい

    [実現したいこと] 検索データが無い時に「該当するデータがありません」みたいなメッセージを表示させたいと思います。ご指導をお願い致します。 [オブジェクトの構成] 検索専用フォームにコマンドボタンを配して、フォーム「世界情勢一覧検索結果」を開いています。 ・フォーム名:検索専用フォーム ・フォーム名:世界情勢一覧検索結果「レコードソース=世界情勢クエリ」 ・クエリ名:世界情勢クエリ ・検索フィールド名:情報「抽出条件:Like "*" & [ 世界情勢情報 ] & "*"」 以上ですが、宜しくお願いします。

  • ACCESSのフォームで、絞込み検索すると重複したレコードが増えてしま

    ACCESSのフォームで、絞込み検索すると重複したレコードが増えてしまいます。 ACCESSのフォームで、コンボボックスを6ほど設置し、条件を絞り込んでデータを抽出するシステムを作成しました。 抽出自体は問題なく出来ているのですが、再クエリを実行した時、同じ抽出条件と結果が複数レコード表示されてしまいます。 調査した結果、フォームプロパティのレコードソースに設定していますクエリの実行結果の件数と同じ件数分増えてしまうようです。 そして、そのフォームをしばらく使用していますと、「これ以上テーブルを開くことができません。」とのメッセージが出てしまいます。 これも何か関係しているのでしょうか? いろいろと調べてみましたが、解決する事ができませんでした。ご指導、宜しくお願いします。

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

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

  • Accessで検索フォームを作成したい。

    Access2000でDBをつくりました。 そのデータから検索をして、抽出をしたいのです。 検索条件をいれるデータはこれ、と決まっていればパラメータークエリでもつくればいいのですが、どれでも検索条件にするようにしたい、と使用者から頼まれました。 入力方法としては単票フォームを開き、検索したい項目に、検索条件をいれると抽出される、というようなものです。 検索したい項目は日付かもしれないし、名前かもしれない、はたまた会社名かもしれない、とバラバラなのです。 その項目毎にパラメータクエリをつくるのもちょっと・・・と思うので。 何かいい方法はありますでしょうか? よろしくお願いします。

  • access2000で検索、結果の表示件数制限

    access2000で受注管理をおこなっております。 フォームから条件を指定し,クエリでテーブルを検索し結果を表示している のですが、データが多すぎて困っています。 そこでフォーム上から検索前に表示させる件数を指定する機能をつけたいと 考えています。 100件と指定したとすると、まず100件表示して次の100件を表示する、などの操作が できればいいのですがやり方がわかりません。 せめて、表示件数に達すればあとの検索はしないといった表示件数を制限する 方法だけでも教えてください。よろしくお願いします。

  • Accessで検索フォームを使用しての検索結果の件数を表示

    現在検索フォームを使用して検索ができるようになっています。 (or・andもあり) 検索結果は一覧形式で出るようになっているのですが、 この検索結果の件数を出すようなことってできるのでしょうか? できれば一覧表示する前にmsgboxなどで表示したいです。

  • アクセスのフォーム単票形式の表示順番

    アクセスのフォームの単票形式で、表示順番をクエリの列名「順番」と同じに並び替えをしたいのですが、出来ません。 フォームのデザインビューの左上の■を右クリックしたプロパティで「データ」タブの「並び替え」で設定するのでしょうか?そこにクエリの列名が入力されていますが、票はその順番で表示されません。 クエリもテーブルも「順番」列の昇順で並び替えられています。 よろしくお願いいたします。

  • アクセスである文字を含む検索2

    先ほど同じタイトルで質問して、お答えいただいて、それで成功したかにみえたのですが、よくみたら、なぜかテーブルよりクエリの方が多い。おかしいなと思い、[顧客名テーブル]を作成し、 お答えいただいた以下の抽出条件に、 Like Iif(IsNull([Forms]![検索フォーム]![検索]),[顧客名テーブル]![顧客名],'*'&[Forms]![検索フォーム]![検索]&'*') としたら、 件数はきちんと表示されました。 しかし、今度は検索ボタンを押すときに「パラメータの入力」ダイアログが表示され、 [Forms]![検索フォーム]![検索]),1,Unknown と表示され、無視すると、きちんと検索できなくなってしまいました。 すみませんがどうしたら解消できるか、教えてください。 よろしくおねがいします。

  • アクセスのことなんですが...

    クエリで条件にあったデータを一覧表で抽出することは出来たのですが、その抽出データの一覧の下に件数と金額の合計額を表示するにはどうすればよいのでしょうか。

  • アクセスである文字を含む検索

    ACCESS2000を使っています。 あるデータテーブル「発注書テーブル」があって、ここでは「(1)ID」「(2)顧客名(法人)」「(3)発注商品」「(4)納品済チェック」の4つフィールドがあるとします。 作業はフォームで行います。フォーム名は「発注書フォーム」。 「(2)顧客名」から検索をかけたくて、検索コマンドボタンをつくり、「検索フォーム」を発注書フォームとまったく同じ形態でつくり、そこにとべるようにしました。 「検索フォーム」には「検索」というテキストボックスを作ります。 「検索クエリ」というクエリを作り、発注書テーブルを素とし、すべてをデザインビューで表示するようにしました。 そして、「(2)顧客名」の抽出条件に[Forms]![検索フォーム]![検索]を入力します。 すると、「検索フォーム」の「検索」をコンボボックスにして、顧客名をすべて表示させ選択した場合は、「検索フォーム」では、選択した顧客の情報が表示されるようになりました。 が、しかし、「検索」をコンボボックスではなく、テキストボックスで、しかも顧客名の一部だけを入力したら、その文字を含むすべてのレコードを表示してほしいのです。 そこで、「検索クエリ」の「(2)顧客名」抽出条件にlike"*[Forms]![検索フォーム]![検索]*"と入力してみました。 そして「検索フォーム」の「検索」テキストボックス(非連結)に顧客名の一部を入力したところ、ぜんぜん絞りこみ抽出してくれません。 もちろん、クエリ上でも絞り込んでいない模様です。 どうしたら文字の一部からその文字を含む顧客名のレコードを全て抽出し、表示させることができるでしょうか? 細かくてすみませんが、かなり困ってます。 どうかわかる方、教えてください。 まったくちがう方法(別の手法)でもかまいません。 この説明でわからない部分がありましたら補足しますのできいてください。 よろしくお願いします。