• ベストアンサー

データ表示方法

検索したデータの表示方法を考えているのですが・・・。 たとえば、検索した結果が100件あったとします。 1画面に10件まで表示して、1~10までのリンクをはり、 その数字が押されたとこから表示する。4を押したのなら、31番目のデータから。 (『教えて!goo』の表示方法と同じイメージです。) というふうにしたいのですが、リンクするたびにクエリを実行させなくては いけないのでしょうか。 そうした場合は、リンクは送信ではないので、『~.asp?aaa=○○』のようにして 条件の受け渡しをしなければならないのですよね? もしくは、一回検索したレコードをどこかにとっておくことなどできるのでしょうか???

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

  • ベストアンサー
  • kagep
  • ベストアンサー率23% (171/721)
回答No.3

#2の方のような方法も可能は可能ですが、サーバーに負荷をかけるので、 イントラなどでユーザー数が限られる環境限定ですね。 やはりweb系の基本として、「検索結果を保存する」のではなく、 「毎度毎度、条件を受け渡して要求する表示状態を満たすようにする」 ということが重要でしょう。 だから「リンクするたび条件を渡してクエリ発効」というのが基本です。 これならサーバーに過剰な負荷もかけません。 サーバーに何らかの状態などを保存させる、という考えを捨てる、ということですね。 無駄なセッション、安易なセッションなども、もってのほかですし。

snowsaab
質問者

お礼

そうですね。 なるべくサーバーには過剰な負荷をかけないためにも 「毎度毎度、条件を受け渡して要求する表示状態を満たすようにする」 を実行します!! ご指導、ありがとうございましたm(__)m

その他の回答 (2)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

>もしくは、一回検索したレコードをどこかにとっておくことなどできるのでしょうか??? 以前開発したシステムでは、クエリーの結果はサーバ上でファイルに保存しておいて、それを次ページ以降では参照するようなつくりにしました。 ディレクトリに書き込み権限があればOKかと思われます。

snowsaab
質問者

お礼

そのような方法もあるんですね。 勉強になります。 ありがとうございますm(__)m

  • tatsu893
  • ベストアンサー率50% (3/6)
回答No.1

毎回クエリを実行するのが普通だと思います。 リンク先に”?aaa=○○”をつけるしか無さそうです。 一度の検索で済ませる場合は、IISのアプリケーション変数を使ったり、Javaスクリプトを使ったりすることで使いまわしが出来ますが、メモリを食いますのであまりよろしくないような気がします。

snowsaab
質問者

お礼

そうなんですね。 わかりました。 そういう風にやってみます。 ありがとうございましたm(__)m

関連するQ&A

  • アクセス2007 レポートで表示されないデータ

    アクセス2007を使い始めた初心者です。よろしくお願いします。 研究のための1000件ほどのデータのテーブルを元にクエリを作成しました。 そのクエリをレコードソースとしてレポートを作成しました。 ところが、表示されないデータがあります。 同じ数値のデータは表示されていません。 クエリを開いて確認すると、全てのデータが表示されていることは確認できました。 表示されないテキストボックスのプロパティを見ると「重複データの非表示」は「いいえ」になっています。  AAA XXX XXX        AAA XXX XXX  AAA XXX XXX   >>>   BBB XXX XXX  BBB XXX XXX                    どのようにしたら、全てのデータをレポートに表示させることが出来ますか。

  • Access2000で重複データに・・・

    Access2000の重複データの処理について質問です。 あるフィールドの重複レコードを検索し、該当するレコードの別フィールドに「●」をつけようとしています。ただ、重複する最初のレコードには「●」をつけたくないのです。 例えば  aaa ・・・ (1)  bbb  aaa ・・・ (2)  ccc  aaa ・・・ (3)  eee というフィールドだった場合、(1)には「●」をつけずに(2)以降にのみつけたいのです。 重複クエリで重複レコードを抽出して重複テーブル作成→重複テーブルと元テーブルを組み合わせて更新クエリ作成という方法でやったのですが、そうすると(1)にも「●」がついてきます。(当然ですが・・・) 何か名案があれば教えてください。 やはり、VBAを使わないと無理でしょうか・・・?

  • DBから抜き取ったデータを10レコードずつ表示する方法

    データベース(MySQL)にデータを置きPHPでデータを表示しています。 しかしデータが大量になってしまったので10レコードずつ表示したいと思っています。各レコードにはauto_incrementなどで番号などの目印はつけていません。 この場合、引数で?page=1とした場合、はじめのレコードから10番目のレコードを表示し、page=2となれば11番目から21番目のレコード....といった感じにするにはどうしたらよいのでしょうか?可能なのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • アクセスでのデータ管理について。

    アクセスで検査データをIDや依頼日などで検索した場合、クエリの一覧で検索結果を表示させるようにしているのですが、この一覧から一つのレコードをクリックすると、そのレコードの入力フォーム(そこに詳細が表示されているので見るときに便利なので)が開くようにしたいのですが可能でしょうか?検索結果がクエリ表示しか考えられないのですが、他によい方法があったら教えてください。よろしくお願いいたします。

  • ページ間のデータの受け渡し方法について

    bb-1.aspに表示されているレコードの中であるレコードの横にあるボタンを押すとbb-2.aspへ選択したレコードのデータを引き渡し、bb-2.aspのテキストフィールドへ値を埋め込みたいのですが方法がわかりません。ちなみにbb-1.aspからformを使って渡そうとしているのですが記述形式及び挿入箇所がよくわかりません。初心者なので細かく教えていただけないでしょか。よろしくお願いいたします。

  • アクセス;同じレコード内のデータを数字で指定して

    あるクエリ上の、同一のレコードの中にある4つのデータ中から、一つを指定して、表示するクエリを作りたいのですが、どのようにすればよいのでしょうか。 現在、以下のようなフィールドです。 「指定個人名,個人名(1),個人名(2),個人名(3),個人名(4)」 「指定個人名」には半角数字の1から4までが任意で入ります。 「個人名(1)~(4)」のうちどれかを、「指定個人名」の数字で指定するとします。 「個人名(1)~(4)」のうち指定されたデータが、同一レコード内の新しいフィールドに表示されるようにしたいです。 しかしあるレコード内のデータを、同一レコード内の別のデータで指定するというやり方が思いつきません。 どうやって「指定個人名」の数字1~4を、「個人名(1)~(4)」までのデータと関連付けて、新しいフィールドに呼び出せば良いのでしょうか。 クエリ解説の本をひっくり返しましたが、どうも一般的な方法ではないようで、やり方が見つかりません。 初心者ゆえに質問の内容に不備があるかもしれませんが、訂正・補足いたしますので、ヒントだけでも結構です。 どうぞ教えてください。

  • Accessで確認メッセージを表示させない方法

    使用PC Windows7 SP1 Access2003Runtimeを使ってアクセスソフトを動かしています。 削除クエリでレコードを削除する際に、 「削除クエリを実行すると、テーブルのデータが変更されます」 と確認メッセージが表示されます。 又、「はい」で進みますと、 「○○件のレコードが指定したテーブルから削除されます。」 と再度確認メッセージが表示されます。 これらの確認メッセージを表示させないように、出来ないでしょうか? 開発環境では、 ツール→オプションの「編集/検索」タグ内の確認は、 全てチェックを外してあります。 よろしくお願いいたします。

  • Access2010 更新データのレポート表示

    Access初心者です。 新規データを入力しても、レポートが更新されずに困っています。 (テーブルや、フォーム内では、データは更新されています) エクセルデータをAccess2010にインポートして、元テーブルを作成しました。 元テーブルを元に、フォーム・レポート・検索クエリ(年度別・分類別)等を作成しました。 ここまでの作業で、新規データの入力はありませんでした。 ところが・・・ 新規データをフォームに入力すると、元テーブルは更新されますが、既に作成しているレポートには、新規レコードが表示(反映)されません。 更新されている元テーブルを元に、もう一度レポートを作成しても、新規レコードは表示されません。 ホームタブの「全て更新」ボタンをクリックしても、新規レコードはレポートには表示されません。 尚、Access初心者です。 「更新クエリ」なるものは、作成していません。というか、「更新クエリ」って何?状態です。 また、クエリそのものが良くわかっておらず、作成したクエリは全て「検索」のためのクエリで、抽出条件に「 [] 」を入力したり、フィールドに「 年度: Year(DateAdd("m",-3,[発送日])) 」を入力したりしかできません。 勿論、リレーションシップって何???状態です。 どうしたらよいのでしょうか??? どなたか、初心者でもわかるように、教えていただけないでしょうか? 宜しくお願いいたします。

  • ACCESS2000で、サブフォームのデータを並べ替えする方法は?

    アクセス初心者+αの者です。 メインフォームを開いた時に、サブフォームにはメインとのリンク項目に該当するデータをクエリから抽出し、表示するようになっています(データによっては複数件あり)。 データ抽出は出来てますが、データの表示順がうまく出来ません。サブフォームのレコードソースSQL文にOrderBy句で指定してもダメでした。 メインフォームの並べ替えプロパティが怪しいと思ってるのですが、どのように記述すれば良いのでしょうか?(VBAでもOKです) 並び替えしたい項目は、サブフォーム内に持ってます。 情報の不足もあるかもしれませんが、よろしくお願いします。m(__)m

  • データの二重表示の原因

    お尋ねします。 アクセスにてデータとデータをクエリで作成した時なのですが、 データが二重表示されます。 そのデータはある数値を打つと全ての取引先が表示されるようになって いるのですが、なぜか何件か重複してしまいます。 それで質問なのですが、その原因として考えれることや もしくはそれを解明できる方法や重複してしまったデータを 重複クエリウィザードを使わずに削除する方法を 教えて頂きたいのです。 よろしくお願いします。

専門家に質問してみよう