(57)【要約】【課題】ユーザを混乱させることのない適切なページ切り換え制御を実現する。【解決手段】端末装置３０は、社員情報ＤＢ１１を検索して、検索結果を表示部３５にページ毎に一覧表示する。その後、操作部３１を操作して、ページを切り換える操作を行った際、現在表示している社員情報を取得したのと同等の検索条件で再度社員情報の再取得を行う。そして、現在表示されている表示の先頭のデータを基準にして、再取得した社員情報から切り換え先のページに対応する社員情報を取得して表示する。【選択図】図１
2009043023.tif 000002
【特許請求の範囲】
【請求項１】
所定の検索条件に合致するデータを検索して取得するデータ取得手段と、
前記データ取得手段で取得したデータをページ単位に一覧表示する一覧表示手段と、
前記一覧表示手段で表示されているデータのページの切り換えを指示するページ切換指示手段と、
前記ページ切換指示手段によるページの切り換えの指示に応答して、前記データ取得手段により前記所定の検索条件に合致するデータを再検索して取得し、再度取得したデータのうちから切り換え先のページに対応するデータを抽出して、前記一覧表示手段に一覧表示させる制御手段と、
を備えることを特徴とする、表示制御装置。
【請求項２】
前記データ取得手段は、所定のデータベースに格納されているデータを検索して取得し、
前記データベースは、前記一覧表示手段により検索されたデータが一覧表示されているときも、該データへのアクセス及び更新を可能とする、
ことを特徴とする、請求項１に記載の表示制御装置。
【請求項３】
前記制御手段は、前記一覧表示手段が一覧表示していたデータについて、先頭から順に、前記データ取得手段が再度取得したデータに含まれているか否かを判別し、含まれていると最初に判別したデータを基準にして、切り換え先のページに対応するデータを抽出する、
ことを特徴とする、請求項１又は２に記載の表示制御装置。
【請求項４】
前記制御手段は、前記一覧表示手段が一覧表示していたデータについて、末尾から順に、前記データ取得手段が再度取得したデータに含まれているか否かを判別し、含まれていると最初に判別したデータを基準にして、切り換え先のページに対応するデータを抽出する、
ことを特徴とする、請求項１又は２に記載の表示制御装置。
【請求項５】
所定の検索条件に合致するデータを検索して取得するデータ取得ステップと、
前記データ取得ステップで取得したデータをページ単位に一覧表示する一覧表示ステップと、
前記一覧表示ステップで表示されているデータのページの切り換えを指示するページ切換指示ステップと、
前記ページ切換指示ステップによるページの切り換えの指示に応答して、前記データ取得ステップにより前記所定の検索条件に合致するデータを再検索して取得し、再度取得したデータのうちから切り換え先のページに対応するデータを抽出して、前記一覧表示ステップに一覧表示させる制御ステップと、
を備えることを特徴とする、表示制御方法。
【請求項６】
コンピュータを、
所定の検索条件に合致するデータを検索して取得するデータ取得手段と、
前記データ取得手段で取得したデータをページ単位に一覧表示する一覧表示手段と、
前記一覧表示手段で表示されているデータのページの切り換えを指示するページ切換指示手段と、
前記ページ切換指示手段によるページの切り換えの指示に応答して、前記データ取得手段により前記所定の検索条件に合致するデータを再検索して取得し、再度取得したデータのうちから切り換え先のページに対応するデータを抽出して、前記一覧表示手段に一覧表示させる制御手段と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索により抽出されたデータをページ単位で一覧表示する表示制御装置、表示制御方法、および、プログラムに関する。
【背景技術】
【０００２】
ユーザが任意の検索条件を入力して、入力された検索条件に合致するデータを抽出して一覧表示する検索システムが存在する。この種の検索システムは、表示するデータが多い場合には、データを複数ページに分け、ページ単位で表示する。
例えば、特許文献１は、検索に合致した楽曲データが複数ページに亘る場合に、スクロールバーで指示した位置に対応するページの楽曲データを表示するシステム（カラオケ演奏システム）を開示している。
【０００３】
従来の検索システムでは、あるユーザが検索を行って、検索条件に合致したデータの特定のページを表示している間に、他のユーザや管理者等によりデータの改変がなされ、元の入力した検索条件に合致するデータが変更されてしまう場合がある。
【特許文献１】特開２００５−３００９３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このような場合、その後、ユーザによるページの切り換え操作等により表示されるデータは、変更がなされる前のデータである。このため、間違ったデータが表示されるなどしてユーザが混乱をする可能性がある。
【０００５】
本発明は上記実状に鑑みてなされたものであり、ユーザを混乱させることのない適切なデータの一覧表示のページ切換を可能にする表示制御装置、表示制御方法、および、プログラムを提供することを目的とする。
また、本発明は、常時最新のデータを表示することが可能な表示制御装置、表示制御方法、および、プログラムを提供することを他の目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の第１の観点に係る表示制御装置は、
所定の検索条件に合致するデータを検索して取得するデータ取得手段と、
前記データ取得手段で取得したデータをページ単位に一覧表示する一覧表示手段と、
前記一覧表示手段で表示されているデータのページの切り換えを指示するページ切換指示手段と、
前記ページ切換指示手段によるページの切り換えの指示に応答して、前記データ取得手段により前記所定の検索条件に合致するデータを再検索して取得し、再度取得したデータのうちから切り換え先のページに対応するデータを抽出して、前記一覧表示手段に一覧表示させる制御手段と、
を備えることを特徴とする。
【０００７】
前記データ取得手段は、所定のデータベースに格納されているデータを検索して取得し、
前記データベースは、前記一覧表示手段により検索されたデータが一覧表示されているときも、該データへのアクセス及び更新を可能としてもよい。
【０００８】
前記制御手段は、前記一覧表示手段が一覧表示していたデータについて、先頭から順に、前記データ取得手段が再度取得したデータに含まれているか否かを判別し、含まれていると最初に判別したデータを基準にして、切り換え先のページに対応するデータを抽出してもよい。
【０００９】
前記制御手段は、前記一覧表示手段が一覧表示していたデータについて、末尾から順に、前記データ取得手段が再度取得したデータに含まれているか否かを判別し、含まれていると最初に判別したデータを基準にして、切り換え先のページに対応するデータを抽出してもよい。
【００１０】
上記目的を達成するため、本発明の第２の観点に係る表示制御方法は、  
所定の検索条件に合致するデータを検索して取得するデータ取得ステップと、
前記データ取得ステップで取得したデータをページ単位に一覧表示する一覧表示ステップと、
前記一覧表示ステップで表示されているデータのページの切り換えを指示するページ切換指示ステップと、
前記ページ切換指示ステップによるページの切り換えの指示に応答して、前記データ取得ステップにより前記所定の検索条件に合致するデータを再検索して取得し、再度取得したデータのうちから切り換え先のページに対応するデータを抽出して、前記一覧表示ステップに一覧表示させる制御ステップと、
を備えることを特徴とする。
【００１１】
上記目的を達成するため、本発明の第３の観点に係るプログラムは、
コンピュータを、
所定の検索条件に合致するデータを検索して取得するデータ取得手段と、
前記データ取得手段で取得したデータをページ単位に一覧表示する一覧表示手段と、
前記一覧表示手段で表示されているデータのページの切り換えを指示するページ切換指示手段と、
前記ページ切換指示手段によるページの切り換えの指示に応答して、前記データ取得手段により前記所定の検索条件に合致するデータを再検索して取得し、再度取得したデータのうちから切り換え先のページに対応するデータを抽出して、前記一覧表示手段に一覧表示させる制御手段と、
して機能させる。
【発明の効果】
【００１２】
本発明によれば、ページの切換操作を行う際に、再度検索処理を行ってからページの切換を行うため、実際に存在するデータと異なるデータが一覧表示されてしまうことを防止することができ、ユーザを混乱させることのない一覧表示を可能にする。
【発明を実施するための最良の形態】
【００１３】
本発明の実施の形態を、図面を参照して説明する。
本実施の形態では、企業内に構築されているデータベースシステムに適用した場合を例に本願発明を説明する。
【００１４】
本実施の形態に係るデータベースシステムは、図１に示すように、ＤＢ（データベース）サーバ１０と、ＬＡＮ（Local Area Network）２０と、端末装置３０とから構成される。
【００１５】
ＤＢサーバ１０は、所定の企業に関する各種の情報を記憶する複数のデータベース（ＤＢ）を備える。
例えば、ＤＢサーバ１０は、企業に属する社員の情報を記憶する社員情報ＤＢ１１を備える。社員情報ＤＢ１１は、図２に示すように、企業に属する社員毎に、識別情報（ＩＤ）や氏名や所属先等の情報を記憶する。
なお、社員情報ＤＢ１１には、図において上から下に順に社員情報が記憶されていくものとして説明する。例えば、図２においては、ＩＤ「０００１」、「０００２」、「０００３」…の順で社員情報ＤＢ１１のレコードが記憶されてきたことを意味する。
【００１６】
ＤＢサーバ１０はＬＡＮ２０を介して端末装置３０以外の他の端末装置やサーバ等の機器に接続されている。そして、これらの機器からもＤＢサーバ１０に記憶されている情報を一覧表示したり、ＤＢサーバ１０に記憶されている情報を改変（削除、追加、更新など）することが随時可能となっている。
【００１７】
図１に戻り、端末装置３０は、図１に示すようにＬＡＮ（Local Area Network）２０を介してＤＢサーバ１０に接続される。
端末装置３０は、操作部３１と、記憶部３２と、制御部３３と、通信制御部３４と、表示部３５と、を備える。
【００１８】
操作部３１は、キーボードやマウス等から構成され、ユーザからの操作情報を受け付ける。例えば、ユーザは操作部３１を操作することで、社員を検索するための検索条件を入力することが可能となる。
【００１９】
記憶部３２は、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）やハードディスクなどから構成され、種々のプログラムやデータを記憶し、またワークエリアとして機能する。
また、記憶部３２は、指定された検索条件で社員情報ＤＢ１１が検索された際に、その検索条件（例えばＳＱＬコマンド）を記憶する。
また、記憶部３２は、検索条件合致テーブル３２１を備える。検索条件合致テーブル３２１は、後述する社員検索表示処理において、指定された検索条件に合致した社員情報を一時的に記憶するためのテーブルである。検索条件合致テーブル３２１は、図５に示すように、社員情報ＤＢ１１と実質的に同一のデータ構造を有する。
なお、検索条件合致テーブル３２１には、図５において上から下に順に社員情報が記憶されていくものとして説明する。例えば、図５は、ＩＤ「０００４」、「０００５」、「０００９」…「００２５」の計１５個のレコードが検索され、これらのレコードが順に格納された検索条件合致テーブル３２１を示している。
【００２０】
制御部３３は、記憶部３２に記憶されたプログラムを実行することで、端末装置３０全体の動作を制御する。
【００２１】
通信制御部３４は、ＬＡＮ２０と接続され、ＤＢサーバ１０と種々な情報を送受信する。例えば、通信制御部３４は、制御部３３の制御のもと、ＬＡＮ２０を介してＤＢサーバ１０から検索条件に該当した社員の情報を取得する。
【００２２】
表示部３５は、液晶ディスプレイなどから構成され、制御部３３の制御のもとに種々の情報を表示する。例えば、表示部３５は、検索条件に合致した社員情報を一覧表示するための画面（検索結果表示画面）を表示する。
【００２３】
（社員検索表示処理）
次に、ＤＢサーバ１０に格納されている社員情報を検索して、検索条件に合致した社員情報を表示する処理（社員検索表示処理）について説明する。
なお、前提として、ＤＢサーバ１０の社員情報ＤＢ１１には、図２に示すように２５人分の社員情報が記憶されているものとする。
また、検索結果表示画面に一度に表示することができる最大のレコード数（表示可能数）は５とする。
【００２４】
ユーザは、操作部３１を操作して、図３に示すような社員を検索するための画面（社員検索画面）を表示部３５に表示させる。続いて、ユーザは、操作部３１を操作して、社員検索画面上に所定の検索条件を入力し、「検索」ボタンを押下する。
そして、端末装置３０の制御部３３は、当該ユーザからの入力情報を受信すると、図４に示すような社員検索表示処理を開始する。
【００２５】
まず、制御部３３は、ユーザからの入力情報が示す所定の検索条件に合致する社員情報をＤＢサーバ１０の社員情報ＤＢ１１から取得する（ステップＳ１０１）。この処理は、例えば、検索条件に合致する社員情報を取得するためのＳＱＬ（Structured Query Language）を作成して、これを実行することにより行えばよい。
【００２６】
続いて、制御部３３は、検索条件合致テーブル３２１にステップＳ１０１で取得した社員情報を記憶する（ステップＳ１０２）。なお、検索条件合致テーブル３２１に既に記憶されている社員情報がある場合には、その記憶情報を消去してから新たに記憶する。
例えば、図３に示す検索条件（所属「人事部」）で検索した場合は、図５に示すように、所属先が「人事部」である社員の社員情報が検索条件合致テーブル３２１に、社員情報ＤＢ１１に記憶されている順と同様な順に記憶される。
【００２７】
図４に戻り、続いて制御部３３は、検索結果表示画面に表示するページの総数（総ページ数）を求める（ステップＳ１０３）。
具体的には、検索条件合致テーブル３２１のレコード数を、検索結果表示画面が一度に（１ページに）表示することができる最大の件数（以下、表示可能件数という）で割った数（ただし、割り切れない場合は繰り上げる）を総ページ数として求める。
例えば、図５に示すように、検索条件合致テーブル３２１に全部で１５個のレコードが記憶されている場合には、１ページに表示可能なデータの最大個数が５であるので、このステップＳ１０３の処理により、総ページ数は３と求まる。
【００２８】
図４に戻り、続いて制御部３３は、検索条件合致テーブル３２１に格納した先頭のレコードから順に、１頁に表示可能な件数分だけ社員情報を取得する（ステップＳ１０４）。
例えば、図５に示すように検索条件合致テーブル３２１に社員情報が記憶されている場合、このステップＳ１０４の処理により、先頭から順に社員番号「０００４」「０００５」「０００９」「００１０」「００１１」の表示可能件数分（５件分）のレコードを取得する。
【００２９】
図４に戻り、次に制御部３３はステップＳ１０４で取得した社員情報とステップＳ１０３で求めた総ページ数とを、図６（Ａ）に示すような社員情報一覧画面に表示させる（ステップＳ１０５）。
【００３０】
続いて、制御部３３は、社員情報一覧画面に表示した検索結果を得るために使用した検索条件を記憶部３２にセーブする（ステップＳ１０６）。これは、後述するように、表示ページを切り換える度に、この検索条件を用いて再検索するためである。なお、検索条件自体を記憶する代わりに、実行したＳＱＬ等を記憶してもよい。
【００３１】
ここで、社員情報一覧画面について図６（Ａ）を参照して説明する。
社員情報員一覧画面は、ページに関する情報を表示するページ情報表示エリアＰ１と、社員情報表示エリアＰ２と、表示させる社員情報を切り換える各種のボタンが配置されるページ切換ボタン表示エリアＰ３とを有する。
【００３２】
ページ情報表示エリアＰ１には、「表示対象のページ番号／総ページ数」が表示される。
社員情報表示エリアＰ２には、検索条件に合致した社員情報のうち、表示対象のページ番号に対応する社員情報が一覧で表示される。
【００３３】
ページ切換ボタン表示エリアＰ３には、表示されているページを切り換えるための各種のボタン、即ち、「前ページ」ボタンＰ３１、「次ページ」ボタンＰ３２、「ソート」ボタンＰ３３、「ページ目に移動」ボタンＰ３４、「最新表示」ボタンＰ３５が配置されている。
「前ページ」ボタンＰ３１は、現在表示されているページの１つ前のページを表示するためのボタンである。
「次ページ」ボタンＰ３２は、現在表示されているページの１つ後のページを表示するためのボタンである。
「ソート」ボタンＰ３３は、現在表示されているレコードをＩＤの降順にソートするためのボタンである。
「ページ目に移動」ボタンＰ３４は、入力フィールドＩＮに指定されているページへ移動するためのボタンである。
「最新表示」ボタンＰ３５は、検索結果を最新表示するためのボタンである。
【００３４】
続いて、社員情報一覧画面上に１頁分の社員情報が一覧表示されている状態からページ切換ボタン表示エリアＰ３に配置されている各種ボタンを押下することにより表示を切り換える処理について説明する。
【００３５】
（前ページ表示処理）
社員情報一覧画面の社員情報表示エリアＰ２に社員情報がＩＤの昇順に表示されている状態において、ページ切換ボタン表示エリアＰ３の「前ページ」ボタンＰ３１をユーザが押下して、現在表示されているページの１つ前のページを表示させる処理（前ページ表示処理）について、図７を参照して説明する。
【００３６】
まず、制御部３３は、「前ページ」ボタンＰ３１が押下された旨を示す情報を受信すると、図７のフローチャートに示す前ページ表示処理を開始し、まず、現在社員情報一覧画面に一覧表示されているレコードの識別情報を、表示順（即ちＩＤの昇順）に取得する（ステップＳ２０１）。
例えば、社員情報一覧画面に図６（Ａ）に示すように表示されている場合、このステップＳ２０１の処理により、社員ＩＤ「０００４」、「０００５」、「０００９」、「００１０」、「００１１」を順に取得する。
【００３７】
図７に戻り、制御部３３は、現在表示されている社員情報を検索した検索条件を記憶部３２より読み出し、読み出した検索条件で社員情報ＤＢ１１を再度検索して、検索条件に合致する社員情報を取得する（ステップＳ２０２）。
【００３８】
ステップＳ２０２で検索条件に合致するような社員情報を１件も取得できなかった場合（ステップＳ２０３；Ｎｏ）、制御部３３は、図６（Ｂ）に示すような検索結果が０件の表示をして（ステップＳ２０４）、処理を終了する。
【００３９】
ステップＳ２０２で社員情報を取得できた場合（ステップＳ２０３；Ｙｅｓ）、制御部３３は、検索条件合致テーブル３２１の記憶情報を一旦消去し、今回取得した社員情報を表示順（即ちＩＤの昇順）に記憶する（ステップＳ２０５）。
【００４０】
次に、制御部３３は、ステップＳ２０１で表示順（即ちＩＤの昇順）に取得したＩＤを、その取得した順に１つずつ検索条件合致テーブル３２１に記憶されているかを判断していき、記憶されているＩＤが見つかった時点で、そのＩＤを有するレコードをページの先頭レコードとして特定する（ステップＳ２０６）。即ち、先頭に表示されていたＩＤを更新された検索条件合致テーブル３２１に記憶されているＩＤと突き合わせ、見つかれば、そのレコードをページの先頭レコードとし、見つからなければ、２番目に表示されていたＩＤを更新された検索合致テーブル３２１に記憶されているＩＤとつきあわせる。以後、同様の動作を繰り返す。
【００４１】
続いて、制御部３３は、検索条件合致テーブル３２１に記憶されている情報から、表示用のページのページ情報（表示対象のページ番号と総ページ数）を求める（ステップＳ２０７）。
ページ情報を求める一般的な方法について、図８を参照して説明する。
まず、制御部３３は、ステップＳ２０６で特定した先頭レコード（図中のｎ番目のレコード）より上のレコードを、下から順に１ページの表示可能数（５レコード）ずつ上方向にグルーピングする。次に、制御部３３は、先頭レコード以下のレコードを、上から順に１ページの表示可能数（５レコード）ずつ下方向にグルーピングする。グルーピングが完了後、制御部３３は、先頭のグループから順に連続したページ番号（１、２、３、…）を割り振る。そして、割り振ったページ番号のうち、最大のページ番号を総ページ数（図中のｍ）とし、先頭レコードより１つ上のレコードを含むグループに割り振られた番号（図中のｋ）を表示対象のページ番号とする。
【００４２】
続いて、制御部３３は、社員情報表示エリアＰ２に表示するレコードを特定する（ステップＳ２０８）。
具体的には、ステップＳ２０７で求めた表示対象のページ番号を割り当てたグループに含まれるレコードを表示対象とする。図８の例で示せば、ステップＳ２０８の処理により、ページ番号「ｋ」を割り当てたグループに含まれるレコード（「ｎ−５番目のレコード」〜「ｎ−１番目のレコード」）を社員情報表示エリアＰ２に表示するレコードとする。
【００４３】
制御部３３は、ページ情報表示エリアＰ１にステップＳ２０７で求めたページ情報を、社員情報表示エリアＰ２にステップＳ２０８で特定したレコードをそれぞれ表示させる社員情報一覧画面を作成して、表示部３５に表示させる（ステップＳ２０９）。
以上で前ページ表示処理は終了する。
【００４４】
次に、具体例を挙げて、この「前ページ表示処理」について説明する。
例えば、最初の検索処理により、図９（Ａ）に示すように社員情報が検索条件合致テーブル３２１に記憶されているとする。また、このときの社員情報表示エリアＰ２に表示されているレコードは、太枠で囲まれているＩＤ「００１２」〜「００１９」に対応するレコードであったとする。また、表示されているレコードのうち、ＩＤ「００１２」、「００１５」のレコードは、表示後、他のユーザによって現在では削除されてしまっているとする。このような状態において、ユーザが「前ページ」ボタンＰ３１を押下したとする。
この場合、図９（Ｂ）で示すように、削除されたレコードの次のレコードである「００１６」が、ステップＳ２０６で先頭レコードとして特定される。そして、先頭レコードより上のレコードは下から上に、先頭レコード以下のレコードは上から下に１ページの表示可能数（５レコード）ずつグルーピングされ、各グループに上から順にページ番号が振られる。そして、先頭レコードの１つ上のレコード「００１１」が属するグループに割り当てられているページ番号「１」を表示対象のページ番号、そのグループに属する太枠で囲まれているレコード（即ちＩＤ「０００４」〜「００１１」のレコード）を「前ページ」ボタンＰ３１押下後の社員情報表示エリアＰ２に表示されるレコードとする。また、グループに割り当てたページ番号のうち最大のページ番号「３」が総ページ数となる。
【００４５】
（次ページ表示処理）
社員情報一覧画面の社員情報表示エリアＰ２に社員情報がＩＤの昇順に表示されている状態において、ページ切替ボタン表示エリアＰ３の「次ページ」ボタンＰ３２をユーザが押下して、現在表示されているページの次のページを表示させる処理（次ページ表示処理）について、図１０を参照して説明する。
【００４６】
制御部３３は、「次ページ」ボタンＰ３２が押下された旨を示す情報を受信すると、図１０に示す次ページ表示処理を開始し、まず、現在社員情報一覧画面に一覧表示されているレコードの識別情報を、表示の逆順（即ちＩＤの降順）に取得する（ステップＳ３０１）。
例えば、社員情報一覧画面に図６（Ａ）に示すように表示されている場合、このステップＳ３０１の処理により、社員ＩＤ「００１１」、「００１０」、「０００９」、「０００５」、「０００４」を順に取得する。
【００４７】
図１０に戻り、制御部３３は、現在表示されている社員情報を検索した検索条件を記憶部３２より読み出し、読み出した検索条件で社員情報ＤＢ１１を再度検索して、検索条件に合致する社員情報を取得する（ステップＳ３０２）。
【００４８】
ステップＳ３０２で検索条件に合致するような社員情報を１件も取得できなかった場合（ステップＳ３０３；Ｎｏ）、制御部３３は、図６（Ｂ）に示すような検索結果が０件の表示をして（ステップＳ３０４）、処理を終了する。
【００４９】
ステップＳ３０２で社員情報を取得できた場合（ステップＳ３０３；Ｙｅｓ）、制御部３３は、検索条件合致テーブル３２１の記憶情報を一旦消去し、今回取得した社員情報を表示順（即ちＩＤの昇順）に記憶する（ステップＳ３０５）。
【００５０】
次に、制御部３３は、ステップＳ３０１で表示の逆順（即ちＩＤの降順）に取得したＩＤを、その取得した順に１つずつ検索条件合致テーブル３２１に記憶されているかを判断していき、記憶されているＩＤが見つかった時点で、そのＩＤを有するレコードをページの末尾レコードとして特定する（ステップＳ３０６）。即ち、末尾に表示されていたＩＤを更新された検索条件合致テーブル３２１に記憶されているＩＤと突き合わせ、見つかれば、そのレコードをページの末尾レコードとし、見つからなければ、末尾から２番目に表示されていたＩＤを更新された検索合致テーブル３２１に記憶されているＩＤとつきあわせる。以後、同様の動作を繰り返す。
【００５１】
続いて、制御部３３は、検索条件合致テーブル３２１に記憶されている情報から、表示用のページのページ情報（表示対象のページ番号と総ページ数）を求める（ステップＳ３０７）。
ページ情報を求める一般的な方法について、図１１を参照して説明する。
まず、制御部３３は、ステップＳ３０６で特定した末尾レコード（図中のｎ番目のレコード）より下のレコードを、上から順に１ページの表示可能数（５レコード）ずつ下方向にグルーピングする。次に、制御部３３は、末尾レコード以上のレコードを、下から順に１ページの表示可能数（５レコード）ずつ上方向にグルーピングする。グルーピング完了後、制御部３３は、先頭のグループから順に連続したページ番号（１、２、３、…）を割り振る。そして、割り振ったページ番号のうち、最大のページ番号を総ページ数（図中のｍ）とし、末尾レコードより１つ下のレコードを含むグループに割り振られた番号（図中のｋ）を表示対象のページ番号とする。
【００５２】
続いて、制御部３３は、社員情報表示エリアＰ２に表示するレコードを特定する（ステップＳ３０８）。
具体的には、ステップＳ３０７で求めた表示対象のページ番号を割り当てたグループに含まれるレコードを表示対象とする。図１１の例で示せば、このステップＳ３０８の処理により、ページ番号「ｋ」を割り当てたグループに含まれるレコード（「ｎ＋１番目のレコード」〜「ｎ＋５番目のレコード」）を社員情報表示エリアＰ２に表示するレコードとする。
【００５３】
制御部３３は、ページ情報表示エリアＰ１にステップＳ３０７で求めたページ情報を、社員情報表示エリアＰ２にステップＳ３０８で特定したレコードをそれぞれ表示させる社員情報一覧画面を作成して、表示部３５に表示させる（ステップＳ３０９）。
以上で次ページ表示処理は終了する。
【００５４】
次に、具体例を挙げて、この「次ページ表示処理」について説明する。
例えば、最初の検索処理により、図１２（Ａ）に示すように社員情報が検索条件合致テーブル３２１に記憶されているとする。また、このときの社員情報表示エリアＰ２に表示されているレコードは、太枠で囲まれているＩＤ「００１２」〜「００１９」に対応するレコードであったとする。また、表示されているレコードのうち、ＩＤ「００１７」、「００１９」のレコードは、他のユーザによって現在では削除されてしまっているとする。このような状態において、ユーザが「次ページ」ボタンＰ３２を押下したとする。
この場合、図１２（Ｂ）に示すように、削除されたレコードの前のレコードである「００１６」が、ステップＳ３０６で末尾レコードとして特定される。そして、末尾レコードより下のレコードは上から下に、末尾レコード以上のレコードは下から上に１ページの表示可能数（５レコード）ずつグルーピングされ、各グループには上から順にページ番号が振られる。そして、末尾レコードの１つ下のレコード「００２０」が属するグループに割り当てられているページ番号「３」を表示対象のページ番号、そのグループに属する太枠で囲まれているレコード（即ちＩＤ「００２０」〜「００２５」のレコード）を「次ページ」ボタンＰ３２押下後の社員情報表示エリアＰ２に表示されるレコードとする。また、グループに割り当てたページ番号のうち最大のページ番号「３」が総ページ数となる。
【００５５】
（指定ページ表示処理）
社員情報一覧画面の社員情報表示エリアＰ２に社員情報がＩＤの昇順に表示されている状態において、ページ切替ボタン表示エリアＰ３の「ページ目に移動」ボタンＰ３４をユーザが押下して、入力フィールドＩＮに指定されているページを表示させる処理（指定ページ表示処理）について、図１３を参照して説明する。
【００５６】
この場合、ユーザは、入力フィールドＩＮにジャンプしたいページ番号を入力し、「ページ目に移動」ボタン３４を押下する。すると、制御部３３は、図１３に示す指定ページ表示処理を開始し、まず、現在表示されている社員情報を検索した検索条件を記憶部３２から読み出し、読み出した検索条件で社員情報ＤＢ１１を再度検索して、検索条件に合致する社員情報を取得する（ステップＳ４０１）。
【００５７】
ステップＳ４０１の検索の結果、１件も検索条件に合致する社員情報を取得できなかった場合（ステップＳ４０２；Ｎｏ）、制御部３３は、図６（Ｂ）に示すような検索結果が０件の表示をして（ステップＳ４０３）、処理を終了する。
【００５８】
ステップＳ４０１で社員情報を取得できた場合（ステップＳ４０２；Ｙｅｓ）、制御部３３は、検索条件合致テーブル３２１に記憶されている情報を一旦消去し、今回取得した社員情報を表示順（即ちＩＤの昇順）に記憶する（ステップＳ４０４）。
【００５９】
続いて、制御部３３は、検索条件合致テーブル３２１に記憶されている情報から、表示用のページの総ページ数を求める（ステップＳ４０５）。
具体的に総ページ数を求める方法について、図１４を参照して説明する。
まず、制御部３３は、検索条件合致テーブル３２１のレコードを上から順に下方向に１ページの表示可能件数（５レコード）ずつグルーピングする。そして、グルーピングが完了した後、制御部３３は、先頭のグループから順に連続したページ番号（１、２、３、…）を割り振る。そして、制御部３３は、割り振ったページ番号のうち、最大の番号を総ページ数（図中のｍ）とする。
【００６０】
続いて、制御部３３は、社員情報表示エリアＰ２に表示するためのレコードを特定する（ステップＳ４０６）。
具体的には、入力フィールドＩＮにユーザによって入力された番号と同じページ番号を割り当てたグループに含まれるレコードを特定する。例えば、入力フィールドＩＮに「２」が入力されていた場合、図１４の例で示せばこのステップＳ４０６の処理により、グループ番号「２」が割り当てれらているグループに含まれる「６番目のレコード」〜「１０番目のレコード」が社員情報表示エリアＰ２に表示するためのレコードとして特定する。
【００６１】
そして、制御部３３は、ページ情報表示エリアＰ１に、ステップＳ４０５で求めた総ページ数と入力フィールドＩＮに入力された番号である表示対象のページ番号とを表示させ、社員情報表示エリアＰ２にステップＳ４０６で特定したレコードを表示させる社員情報一覧画面を作成して、表示部３５に表示させる（ステップＳ４０７）。
以上で指定ページ表示処理は終了する。
【００６２】
次に、具体例を挙げて、この「指定ページ表示処理」について説明する。
例えば、最初の検索処理により、図１５（Ａ）に示すように社員情報が検索条件合致テーブル３２１に記憶され、太枠で囲まれているＩＤ「００２０」〜「００２５」に対応するレコードが社員情報表示エリアＰ２に表示されていたとする。また、この表示されているレコードのうち、ＩＤ「００１２」、「００１５」のレコードは、他のユーザによって現在では削除されているものとする。このような状態において、ユーザが入力フィールドＩＮに「２」を入力し、「ページ目に移動」ボタンを押下したとする。
この場合、図１５（Ｂ）に示すように、削除されたレコードを除外してレコードが上から順に１ページの表示可能数（５レコード）ずつグルーピングされて、各グループにはページ番号が割り当てられる。そして、入力フィールドＩＮに入力されたページ番号「２」が割り当てられたグループに属する、太枠で囲まれているレコード（即ちＩＤ「００１６」〜「００２１」のレコード）が、「ページ目に移動」ボタン押下後の社員情報表示エリアＰ２に表示されるレコードとなる。また、総ページ数は、グループに割り当てられた最大のページ番号「３」となる。
【００６３】
（最新表示処理）
社員情報一覧画面の社員情報表示エリアＰ２に社員情報がＩＤの昇順に表示されている状態において、ページ切替ボタン表示エリアＰ３の「最新表示」ボタンＰ３５をユーザが押下して、現在表示されているページを最新表示させる処理（最新表示処理）について、図１６を参照して説明する。
【００６４】
まず、制御部３３は、「最新表示」ボタンＰ３５が押下された旨を示す情報を受信すると、現在社員情報一覧画面に一覧表示されているレコードの識別情報を、表示順（即ちＩＤの降順）に取得する（ステップＳ５０１）。
例えば、社員情報一覧画面に図６（Ａ）に示すように表示されている場合、このステップＳ５０１の処理により、社員ＩＤ「０００４」、「０００５」、「０００９」、「００１０」、「００１１」を順に取得する。
【００６５】
続いて図１６に戻り、制御部３３は、現在表示されている社員情報を検索した検索条件を記憶部３２より読み出し、読み出した検索条件で社員情報ＤＢ１１を再度検索して、検索条件に合致する社員情報を取得する（ステップＳ５０２）。
【００６６】
ステップＳ５０２で検索条件に合致するような社員情報を１件も取得できなかった場合（ステップＳ５０３；Ｎｏ）、制御部３３は、図６（Ｂ）に示すような検索結果が０件の表示をして（ステップＳ５０４）、処理を終了する。
【００６７】
ステップＳ５０２で社員情報を取得できた場合（ステップＳ５０３；Ｙｅｓ）、制御部３３は、検索条件合致テーブル３２１の記憶情報を一旦消去し、今回取得した社員情報を表示順（即ちＩＤの昇順）に記憶する（ステップＳ５０５）。
【００６８】
次に、制御部３３は、ステップＳ５０１で表示順（即ちＩＤの降順）に取得したＩＤを、その取得した順に１つずつ検索条件合致テーブル３２１に記憶されているかを判断していき、記憶されているＩＤが見つかった時点で、そのＩＤを有するレコードを先頭レコードとして特定する（ステップＳ５０６）。
【００６９】
続いて、制御部３３は、検索条件合致テーブル３２１に記憶されている情報から、表示用のページのページ情報（表示対象のページ番号と総ページ数）を求める（ステップＳ５０７）。
ページ情報を求める一般的な方法について、図８を参照して説明する。
まず、制御部３３は、ステップＳ５０６で特定した先頭レコード（図中のｎ番目のレコード）より上のレコードを、下から順に１ページの表示可能数（５レコード）ずつ上方向にグルーピングする。次に、制御部３３は、先頭レコード以下のレコードを、上から順に１ページの表示可能数（５レコード）ずつ下方向にグルーピングする。グルーピングが完了した後、制御部３３は、先頭のグループから順に連続したページ番号（１、２、３、…）を割り振る。そして、割り振ったページ番号のうち、最大のページ番号を総ページ数（図中のｍ）とし、先頭レコードを含むグループに割り振られた番号（図中のｋ＋１）を表示対象のページ番号とする。
【００７０】
図１６に戻り、続いて、制御部３３は、社員情報表示エリアＰ２に表示するレコードを特定する（ステップＳ５０８）。
具体的には、ステップＳ５０７で求めた表示対象のページ番号を割り当てたグループに含まれるレコードを表示対象とする。図８の例で示せば、ステップＳ５０８の処理により、ページ番号「ｋ＋１」を割り当てたグループに含まれるレコード（「ｎ番目のレコード」〜「ｎ＋４番目のレコード」）を社員情報表示エリアＰ２に表示するためのレコードとする。
【００７１】
制御部３３は、ページ情報表示エリアＰ１にステップＳ５０７で求めたページ情報を、社員情報表示エリアＰ２にステップＳ５０８で特定したレコードをそれぞれ表示させる社員情報一覧画面を作成して、表示部３５に表示させる（ステップＳ５０９）。
以上で最新表示処理は終了する。
【００７２】
次に、具体例を挙げて、この「最新表示処理」について説明する。
例えば、最初の検索処理により、図１７（Ａ）に示すように社員情報が検索条件合致テーブル３２１に記憶されているとする。また、このときの社員情報表示エリアＰ２に表示されているレコードは、太枠で囲まれているＩＤ「００１２」〜「００１９」に対応するレコードであったとする。また、表示されているレコードのうち、ＩＤ「００１２」、「００１５」のレコードは、他のユーザによって現在では削除されてしまっているとする。このような状態において、ユーザが「最新表示」ボタンＰ３５を押下したとする。
この場合、図１７（Ｂ）に示すように、削除されたレコードの次のレコードである「００１６」が、ステップＳ５０６で先頭レコードとして特定される。そして、先頭レコードより上のレコードは下から上に、先頭レコード以下のレコードは上から下に１ページの表示可能数（５レコード）ずつグルーピングされ、各グループには上から順にページ番号が振られる。そして、先頭レコード「００１６」が属するグループに割り当てられているページ番号「２」を表示対象のページ番号、そのグループに属する太枠で囲まれているレコード（即ちＩＤ「００１６」〜「００２１」のレコード）を「最新表示」ボタンＰ３１押下後の社員情報表示エリアＰ２に表示されるレコードとする。また、グループに割り当てたページ番号のうち最大のページ番号「３」が、総ページ数となる。
【００７３】
（ソート処理）
社員情報一覧画面の社員情報表示エリアＰ２に社員情報が表示されている状態において、ページ切替ボタン表示エリアＰ３の「ソート」ボタンＰ３３をユーザが押下して、表示されているレコードをＩＤの昇順にソートする処理（ソート処理）について図１８を参照して説明する。
【００７４】
まず、制御部３３は、「ソート」ボタンＰ３３が押下された旨を示す情報を受信すると、現在社員情報表示エリアＰ２に表示されているレコードのうち、表示の先頭であるレコードの識別情報を取得する（ステップＳ６０１）。
例えば、社員情報表示エリアＰ２に図６（Ａ）に示すように表示されている場合、このステップＳ６０１の処理により、社員ＩＤ「０００４」を取得する。
【００７５】
図１８に戻り、続いて、制御部３３は、現在表示されている社員情報を検索した検索条件を記憶部３２より読み出し、読み出した検索条件で社員情報ＤＢ１１を再度検索して、検索条件に合致する社員情報を取得する（ステップＳ６０２）。
【００７６】
ステップＳ６０２で検索条件に合致するような社員情報を１件も取得できなかった場合（ステップＳ６０３；Ｎｏ）、制御部３３は、図６（Ｂ）に示すような検索結果が０件の表示をして（ステップＳ６０４）、処理を終了する。
【００７７】
ステップＳ６０２で社員情報を取得できた場合（ステップＳ６０３；Ｙｅｓ）、制御部３３は、ステップＳ６０２で取得した社員情報を、そのＩＤの昇順でソートする（ステップＳ６０５）。
なお、このソートの処理については、バブルソートやシェーカーソート等の公知のソート法を用いて行えばよい。
【００７８】
そして、制御部３３は、検索条件合致テーブル３２１の記憶情報を一旦消去し、ステップＳ６０５でソートした社員情報をソートした順（即ちＩＤの降順）に記憶する（ステップＳ６０６）。
【００７９】
続いて、制御部３３は、ステップＳ６０１で取得した識別情報を有するレコードが、検索条件合致テーブル３２１に記憶されているか否かを判断する（ステップＳ６０７）。
【００８０】
レコードが記憶されていると判断した場合（ステップＳ６０７；Ｙｅｓ）、制御部３３は、そのレコードを先頭レコードと特定し（ステップＳ６０８）、ステップＳ６１０に移る。
レコードが記憶されていないと判断した場合（ステップＳ６０７；Ｎｏ）、制御部３３はそのレコードの次に検索条件合致テーブル３２１に記憶されているレコードを先頭レコードと特定し（ステップＳ６０９）、ステップＳ６１０に移る。
【００８１】
ステップＳ６１０で制御部３３は、検索条件合致テーブル３２１に記憶されている情報から、表示用のページのページ情報（表示対象のページ番号と総ページ数）を求める。
ページ情報を求める一般的な方法について、図１９を参照して説明する。
まず、制御部３３は、検索条件合致テーブル３２１のレコードを上から順に１ページの表示可能数（５レコード）ずつグルーピングする。そして、グルーピングが完了した後、制御部３３は、先頭のグループから順に連続したページ番号（１、２、３、…）を割り振る。そして、割り振ったページ番号のうち、最大のページ番号を総ページ数（図中のｍ）とする。また、制御部３３は、ステップＳ６０８又はＳ６０９で特定した先頭レコード（図中のｎ番目のレコード）を含むグループに割り振られているページ番号（図中のｋ＋１）を表示対象のページ番号とする。
【００８２】
図１８に戻り、続いて制御部３３は、社員情報表示エリアＰ２に表示するためのレコードを特定する（ステップＳ６１１）。
具体的には、ステップＳ６１０で求めた表示対象のページ番号を割り当てたグループに含まれるレコードを表示対象とする。図１９の例で示せば、このステップＳ６１１の処理により、ページ番号ｋ＋１が割り当てられているグループに含まれるレコード（「ｎ番目のレコード」〜「ｎ＋４番目のレコード」）を社員情報表示エリアＰ２に表示するためのレコードとして特定する。
【００８３】
そして、制御部３３は、ページ情報表示エリアＰ１にステップＳ６１０で求めたページ情報と、社員情報表示エリアＰ２にステップＳ６１１で特定したレコードとをそれぞれ表示させた社員情報一覧画面を作成して、表示部３５に表示させる（ステップＳ６１２）。
以上でソート処理は終了する。
【００８４】
次に、具体例を挙げて、この「ソート処理」について説明する。
例えば、最初の検索処理により、図２０（Ａ）に示すように社員情報が検索条件合致テーブル３２１に記憶されているとする。また、このときの社員情報表示エリアＰ２に表示されているレコードは、太枠で囲まれているＩＤ「００１５」、「００２１」、「００２２」、「００２３」に対応するレコードであったとする。また、この表示をさせた時点で検索条件合致テーブル３２１に記憶されていたＩＤ「００１２」、「００１５」のレコードは、他のユーザによって現在では削除されてしまっているとする。このような状態において、ユーザが「ソート」ボタンＰ３３を押下したとする。
この場合、図２０（Ｂ）に示すように、ＩＤ順にソートした社員情報のうち、「ソート」ボタンＰ３３押下前の表示の先頭のレコード「００１５」の次のレコードである「００１６」を新たな先頭レコードとして特定する。そして、ソート済みのレコードが１ページの表示可能数（５レコード）ずつ上からグルーピングされ、各グループにはページ番号が割り当てられる。そして、先頭レコード「００１６」を含むグループに割り当てられたページ番号「２」を表示対象のページ番号、そのグループに属する太枠で囲まれているレコード（即ちＩＤ「００１６」〜「００２１」）を「ソート」ボタンＰ３３を押下後の社員情報表示エリアＰ２に表示されるレコードする。また、グループに割り当てたページ番号のうち最大のページ番号「３」が、総ページ数となる。
【００８５】
以上、本実施の形態では、表示するページを切り換える際に、再度同じ条件で検索してデータを取得する。
また、各種の処理に応じて、現在表示されているデータの先頭データ又は末尾のデータを基準にしてページを分ける。このため、表示しているページの切り換えの前後で、表示されているデータとの間に齟齬がない。よって、ユーザを混乱させることのない適切な表示が可能となる。
【００８６】
なお、この発明は上記実施形態に限定されず、種々の変形及び応用が可能である。
例えば、本実施の形態では社員情報の検索に本発明を適用したが、これに限るものではなく、検索対象のデータは任意である。また、検索システムに限定されず、データを検索して表示している間に、表示中のデータの更新を可能とするシステムであれば、本発明を適用することができる。
【００８７】
また、本実施形態の前ページ表示処理、次ページ表示処理、指定ページ表示処理、および、最新表示処理において、社員情報表示エリアＰ２に表示させるの表示の順番はＩＤの降順であるとしたが、これに限ることはなく、ＩＤの昇順や、社員氏名のあいうえお順や誕生日順に表示する場合であっても同様に、上記の各処理を適用してもよい。
【００８８】
また、本実施の形態のソート処理として、ＩＤの昇順にソートする処理について説明したが、ＩＤの降順にソートする処理や、社員氏名のあいうえお順にソートする処理等にも同様に本実施形態のソート処理を適用してもよい。
【００８９】
なお、ページの切り分けの手法は上述の例に限定されない。
例えば、「指定ページ表示処理」において、現在の表示ページより後ろのページに「移動」する場合には、「次ページ表示処理」と同様に末尾レコードを基準としてページを分け、現在の表示ページより前のページに「移動」する場合には、「前ページ表示処理」と同様に先頭レコードを基準としてページを分け、該当するページを表示するようにしてもよい。
また、「次ページ表示処理」で先頭レコードを基準としてページを分け、「前ページ表示処理」でに末尾レコードを基準としてページを分け、それぞれ該当するページを表示するようにしてもよい。
【００９０】
また、上記実施の形態にかかる端末装置３０は、専用装置によって実現可能なことはもとより、汎用装置によって構成することもできる。この場合、上記各処理を実現するためのプログラムを汎用装置にインストールしてＯＳ（Operation System）と協働させて実行することで、汎用装置を、上記端末装置３０として機能させることができる。
【００９１】
また、上述の機能を実現するプログラムの提供方法は任意であり、CD−ROMなどの記録媒体に格納して提供可能なことはもとより、例えば、インターネットなどの通信媒体を介して提供してもよい。
【図面の簡単な説明】
【００９２】
【図１】本実施の形態に係るデータベースシステムの構成を示す図である。
【図２】社員情報ＤＢの構成を示す図である。
【図３】社員検索画面の例を示す図である。
【図４】社員検索表示処理の動作を説明するためのフローチャートである。
【図５】検索条件合致テーブルの構成を示す図である。
【図６】社員情報一覧画面の例を示す図である。
【図７】前ページ表示処理の動作を説明するためのフローチャートである。
【図８】前ページ表示処理または最新表示処理において、ページ情報を求めるための方法を説明するための図である。
【図９】前ページ表示処理を具体的に説明するための図である。
【図１０】次ページ表示処理の動作を説明するためのフローチャートである。
【図１１】次ページ表示処理において、ページ情報を求めるための方法を説明するための図である。
【図１２】次ページ表示処理を具体的に説明するための図である。
【図１３】指定ページ表示処理の動作を説明するためのフローチャートである。
【図１４】指定ページ表示処理において、ページ情報を求めるための方法を説明するための図である。
【図１５】指定ページ表示処理を具体的に説明するための図である。
【図１６】最新表示処理の動作を説明するためのフローチャートである。
【図１７】最新表示処理を具体的に説明するための図である。
【図１８】ソート処理の動作を説明するためのフローチャートである。
【図１９】ソート処理において、ページ情報を求めるための方法を説明するための図である。
【図２０】ソート処理を具体的に説明するための図である。
【符号の説明】
【００９３】
１０  ＤＢサーバ
１１  社員情報ＤＢ
２０  ＬＡＮ
３０  端末装置
３１  操作部
３２  記憶部
３２１  検索条件合致テーブル
３３  制御部
３４  通信制御部
３５  表示部
【図１】
2009043023.tif 000003
【図２】
2009043023.tif 000004
【図３】
2009043023.tif 000005
【図４】
2009043023.tif 000006
【図５】
2009043023.tif 000007
【図６】
2009043023.tif 000008
【図７】
2009043023.tif 000009
【図８】
2009043023.tif 000010
【図９】
2009043023.tif 000011
【図１０】
2009043023.tif 000012
【図１１】
2009043023.tif 000013
【図１２】
2009043023.tif 000014
【図１３】
2009043023.tif 000015
【図１４】
2009043023.tif 000016
【図１５】
2009043023.tif 000017
【図１６】
2009043023.tif 000018
【図１７】
2009043023.tif 000019
【図１８】
2009043023.tif 000020
【図１９】
2009043023.tif 000021
【図２０】
2009043023.tif 000022