(57)【特許請求の範囲】
【請求項１】
複数の項目から構成されたデータの表示を行う情報処理装置であって、
前記データの項目をソートキー項目として設定する要求を、ディスプレイ装置上に表示された前記データの一覧における項目名が表示された領域に対する指示により受け付ける第一の受付手段と、
ソートキー項目のソート優先順位を変更する要求を、ディスプレイ装置上に表示された前記データの一覧における項目名が表示された領域に対する指示により受け付ける第二の受付手段と、
前記第一の受付手段でソートキー項目として設定する要求を受け付けた項目をソートキー項目として設定し、該要求を受け付けた順序に従いソート優先順位を決定する第一の制御手段と、
ソート優先順位の入替候補として設定されているソートキー項目の存在を判定する判定手段と、
前記第二の受付手段でソート優先順位の変更要求を受け付けた場合に、すでにソート優先順位の入替候補として設定されたソートキー項目が存在しない場合には、ソート優先順位の変更要求を受け付けたソートキー項目をソート優先順位の入替候補として設定し、ソート優先順位の入替候補として設定されたソートキー項目が存在する場合には、ソート優先順位の変更要求を受け付けたソートキー項目とソート優先順位の入替候補として設定されているソートキー項目とのソート優先順位を入れ替える第二の制御手段と、
前記第一および第二の制御手段で決定されたソート優先順位に従いソートされたデータをディスプレイ装置に表示させる表示制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記表示制御手段は、前記第二の制御手段によりソート優先順位の入替候補として設定されたソートキー項目を、識別可能に表示することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第二の制御手段によりソート優先順位の入替候補として設定されたソートキー項目が、前記第二の受付手段によりソート優先順位の変更要求を受け付けた場合には、前記第二の制御手段は該ソートキー項目の入替候補としての設定を無効とすることを特徴とする請求項１乃至２のいずれか１項に記載の情報処理装置。
【請求項４】
前記表示制御手段は、ソート優先順位を識別可能に表示することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
ソートキー項目として設定されていない項目が、前記第一の受付手段でソートキー項目として設定する要求を受け付けた場合には、前記第一の制御手段はさらに設定要求を受け付けたソートキー項目のソート方向の設定を行うことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
すでにソートキー項目として設定された項目が、前記第一の受付手段で設定要求を受け付けた場合には、前記第一の制御手段はさらに設定要求を受け付けたソートキー項目のソート方向の変更を行うことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記表示制御手段は、ソート方向を識別可能に表示することを特徴とする請求項５乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
複数の項目から構成されたデータの表示を行う情報処理装置の情報処理方法であって、
第一の受付手段が、前記データの項目をソートキー項目として設定する要求を、ディスプレイ装置上に表示された前記データの一覧における項目名が表示された領域に対する指示により受け付ける第一の受付ステップと、
第二の受付手段が、ソートキー項目のソート優先順位を変更する要求を、ディスプレイ装置上に表示された前記データの一覧における項目名が表示された領域に対する指示により受け付ける第二の受付ステップと、
第一の制御手段が、前記第一の受付手段でソートキー項目として設定する要求を受け付けた項目をソートキー項目として設定し、該要求を受け付けた順序に従いソート優先順位を決定する第一の制御ステップと、
判定手段が、ソート優先順位の入替候補として設定されているソートキー項目の存在を判定する判定ステップと、
第二の制御手段が、前記第二の受付手段でソート優先順位の変更要求を受け付けた場合に、すでにソート優先順位の入替候補として設定されたソートキー項目が存在しない場合には、ソート優先順位の変更要求を受け付けたソートキー項目をソート優先順位の入替候補として設定し、ソート優先順位の入替候補として設定されたソートキー項目が存在する場合には、ソート優先順位の変更要求を受け付けたソートキー項目とソート優先順位の入替候補として設定されているソートキー項目とのソート優先順位を入れ替える第二の制御ステップと、
表示制御手段が、前記第一および第二の制御手段で決定されたソート優先順位に従いソートされたデータをディスプレイ装置に表示させる表示制御ステップと、
を備えることを特徴とする情報処理方法。
【請求項９】
複数の項目から構成されたデータの表示を行う情報処理装置を、
前記データの項目をソートキー項目として設定する要求を、ディスプレイ装置上に表示された前記データの一覧における項目名が表示された領域に対する指示により受け付ける第一の受付手段と、
ソートキー項目のソート優先順位を変更する要求を、ディスプレイ装置上に表示された前記データの一覧における項目名が表示された領域に対する指示により受け付ける第二の受付手段と、
前記第一の受付手段でソートキー項目として設定する要求を受け付けた項目をソートキー項目として設定し、該要求を受け付けた順序に従いソート優先順位を決定する第一の制御手段と、
ソート優先順位の入替候補として設定されているソートキー項目の存在を判定する判定手段と、
前記第二の受付手段でソート優先順位の変更要求を受け付けた場合に、すでにソート優先順位の入替候補として設定されたソートキー項目が存在しない場合には、ソート優先順位の変更要求を受け付けたソートキー項目をソート優先順位の入替候補として設定し、ソート優先順位の入替候補として設定されたソートキー項目が存在する場合には、ソート優先順位の変更要求を受け付けたソートキー項目とソート優先順位の入替候補として設定されているソートキー項目とのソート優先順位を入れ替える第二の制御手段と、
前記第一および第二の制御手段で決定されたソート優先順位に従いソートされたデータをディスプレイ装置に表示させる表示制御手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の項目によるデータの並び替えを行う技術に関し、特にデータの並び替えの項目の優先度の変更を容易に行う技術に関する。
【背景技術】
【０００２】
一般に、データベースを検索して検索結果を一覧表示する一覧表や電子メールアプリケーション等では、利用者が効率よく検索結果を閲覧できるように並び替え（ソート）機能を有している。
【０００３】
一般的にはソートを行う際にキーとなる項目（ソートキー項目）を選択し、その項目を降順もしくは昇順どちらでソートするかを設定することで、その設定に基づきソートされた結果が画面表示されることになる。
【０００４】
その際にソートの設定については、ソートキー項目に降順を示す「▽」や昇順を示す「△」などのマークをソート項目に表示し、ユーザが視認出来るような工夫がされている。多くの場合は項目名をマウス等のポインティングデバイスで指示することにより、ソート処理が行われる。ただ、多くの場合は複数の項目でのソートを行うことが出来ない。
【０００５】
一方、マイクロソフト社のＥｘｃｅｌ（登録商標）などの表計算ソフトでは、複数の項目をキーとしてデータのソートを行うことが可能である。その際には、ソートキー項目を選択し、優先度やソートの方向を設定するためのＵＩを画面に表示させ、複数の項目のソートの優先順やソートの方向を設定し、データの並び替えを行うことが可能である。しかし、一覧表でのソートキーの設定を行うことが出来ない。
【０００６】
特許文献１には、データの一覧表に対して操作を行うことで、複数のソートキーに基づいてデータをソートする技術が開示されている。
【特許文献１】特開２００６−０３１０８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１では、ソートキーの優先順の変更についてはなんら開示されていない。
【０００８】
本発明は、上記の問題点を解決するためになされたもので、複数の項目によりデータの並び替えを行う際に、データの並び替えの項目の優先度の変更を容易に行う仕組を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、複数の項目から構成されたデータの表示を行う情報処理装置であって、前記データの項目をソートキー項目として設定する要求を、ディスプレイ装置上に表示された前記データの一覧における項目名が表示された領域に対する指示により受け付ける第一の受付手段と、ソートキー項目のソート優先順位を変更する要求を、ディスプレイ装置上に表示された前記データの一覧における項目名が表示された領域に対する指示により受け付ける第二の受付手段と、前記第一の受付手段でソートキー項目として設定する要求を受け付けた項目をソートキー項目として設定し、該要求を受け付けた順序に従いソート優先順位を決定する第一の制御手段と、ソート優先順位の入替候補として設定されているソートキー項目の存在を判定する判定手段と、前記第二の受付手段でソート優先順位の変更要求を受け付けた場合に、すでにソート優先順位の入替候補として設定されたソートキー項目が存在しない場合には、ソート優先順位の変更要求を受け付けたソートキー項目をソート優先順位の入替候補として設定し、ソート優先順位の入替候補として設定されたソートキー項目が存在する場合には、ソート優先順位の変更要求を受け付けたソートキー項目とソート優先順位の入替候補として設定されているソートキー項目とのソート優先順位を入れ替える第二の制御手段と、前記第一および第二の制御手段で決定されたソート優先順位に従いソートされたデータをディスプレイ装置に表示させる表示制御手段と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、データの一覧表を参照しながら複数のキーによるソートを行う際に、ソートキーの優先度の変更を容易に行うことが可能となる。
【発明を実施するための最良の形態】
【００１１】
図１は、本発明における情報処理システムの構成の一例を示すシステム構成図である。
【００１２】
図１において、１０１はデータベースサーバであって、顧客マスタや売上マスタなどのデータを記録管理するデータベース機構を備え、情報処理装置１０２−１及び１０２−２からの登録、更新、削除、検索要求を受け、要求に応じてそれら処理を行う。
【００１３】
情報処理装置１０２−１、１０２−２（以下、まとめて情報処理装置１０２という）は、データベースサーバ１０１に対して、データベースサーバ１０１が管理しているテーブルへのデータの新規登録、変更、削除、検索といった要求をユーザの指示に基づいて行うものである。
【００１４】
１０３はネットワークであり、データベースサーバ１０１、情報処理装置１０２−１及び１０２−２を相互にデータ通信可能に接続する。
【００１５】
次に、図２を参照して、データベースサーバ１０１、及び情報処理装置１０２のハードウェア構成について説明する。
【００１６】
図２は、データベースサーバ１０１、及び情報処理装置１０２のハードウェア構成の一例を示すブロック図である。
【００１７】
図２において、２０１はＣＰＵであり、ＲＡＭ２０２やＲＯＭ２０３に格納されているプログラムやデータを用いて、端末（コンピュータ）全体の制御を行うとともに、本コンピュータを適用するデータベースサーバ１０１、若しくは情報処理装置１０２が行う後述する各処理を実行する。
【００１８】
２０２はＲＡＭであり、ＨＤＤ（ハードディスクドライブ）２０４からロードされたプログラムやデータを一時的に記憶するためのエリアを有するとともに、ＣＰＵ２０１が各種処理を行うために使用するワークエリアを備える。
【００１９】
２０３はＲＯＭであり、コンピュータのブートプログラムやＢＩＯＳ等の各種プログラムを記憶している。２０４はＨＤＤ（ハードディスクドライブ）であり、ＯＳ（オペレーティングシステム）や、本コンピュータを適用するデータベースサーバ１０１、若しくは情報処理装置１０２が行う後述の処理をＣＰＵ２０１に実行させるためのプログラムやデータ等の各種データを保存しており、これらは必要に応じてＣＰＵ２０１の制御によりＲＡＭ２０２に読み出され実行されることになる。
【００２０】
２０５は記録媒体ドライブであり、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／ＲＷ、ＤＶＤ―ＲＯＭ、ＤＶＤ−Ｒ／ＲＷ、ＤＶＤ−ＲＡＭ等から構成される。
【００２１】
２０６はキーボード、２０７はポインティングデバイスであり、各種の指示をＣＰＵ２０１に入力することができる。これらは、入力部として機能する。
【００２２】
２０８はビデオＩ／Ｆ（インタフェース）であり、ここにディスプレイ装置２０９を接続する。ディスプレイ装置２０９はＣＲＴや液晶画面等で構成されており、ビデオＩ／Ｆ２０８を介して送られた信号に基づいて、文字や画像等の情報を表示画面上に表示する機能を有する。
【００２３】
２１０はネットワークＩ／Ｆ（インタフェース）であり、コンピュータをネットワーク１０３に接続するためのものである。コンピュータは、このネットワークＩ／Ｆ２１０を介してネットワーク上の他の機器とデータ通信を行うことが可能である。
【００２４】
２１１は外部機器Ｉ／Ｆ（インタフェース）であり、コンピュータに周辺機器を接続させるためのポートである。この外部機器Ｉ／Ｆ２１１を介してコンピュータは、周辺機器とのデータの送受信を行うことが可能である。ＳＣＳＩ、ＵＳＢ、ＩＥＥＥ１３９４等の各種インタフェースで構成することが可能であり、通常複数の外部機器Ｉ／Ｆ２１１を有する。また、周辺機器との接続形態は有線／無線を問わない。
【００２５】
２１２はシステムバスであり、上述の各種構成要素を相互に接続するバスとして機能する。
【００２６】
図３は、情報処理装置１０２の機能構成を示すブロック図である。
【００２７】
図３において、３０１は制御部であって、データアクセス部３０３に対して一覧データの抽出を命令する。
【００２８】
３０２は表示制御部であって、入力制御部３０５からの入力指示に応じてディスプレイ装置２０９等の表示部に表示されている一覧表データの表示制御を行う。
【００２９】
３０３はデータアクセス部であって、ＳＱＬ等の検索文を作成しデータベースサーバ１０１にアクセスしデータの検索を行わせ、その結果である一覧データをデータベースサーバ１０１より取得する。
【００３０】
３０４はデータ管理部であって、データアクセス部３０３が取得した一覧データ及びその一覧データの取得に使用した検索文を記憶する。
【００３１】
３０５は入力制御部であって、キーボード２０６やポインティングデバイス２０７等からなる入力部を介してのディスプレイ装置２０９等の表示部に表示されている一覧表に対してのユーザからの表示制御命令を、表示制御部３０２に通知する。
【００３２】
なお、制御部３０１、表示制御部３０２、データアクセス部３０３、データ管理部３０４、入力制御部３０５は、ＣＰＵ２０１がＨＤＤ２０４に格納されたプログラムをＲＡＭ２０２にロードして実行することにより実現される各機能部に相当する。
【００３３】
以上が情報処理装置の機能構成についての説明である。
【００３４】
以下、図４〜図１３を参照して、情報処理装置１０２で行われる処理について説明する。
【００３５】
図４は、情報処理装置１０２で行われるデータベースサーバ１０１で管理しているマスタデータの編集処理を示すフローチャートである。この処理は、情報処理装置のＣＰＵ２０１がＨＤＤ２０４に記録されているプログラムをＲＡＭ２０２にロードして実行することにより実現される処理である。
【００３６】
まず、情報処理装置のＣＰＵ２０１は、データベースサーバ１０１からデータを取得するため（データ検索するため）の検索式を取得する（Ｓ４０１）。
【００３７】
なお、検索式は、予めファイルとしてＨＤＤ２０４に登録しているものを取得しても、ディスプレイ装置２０９に検索式入力のための画面を表示させ、その画面を解してキーボード２０６等の入力部を介して入力指示された検索文を取得しても構わない。
【００３８】
そして、ＣＰＵ２０１は、ステップＳ４０１で取得した検索式を用いた検索要求をデータベースサーバ１０１に対して行う（Ｓ４０２）。
【００３９】
そして、ＣＰＵ２０１は、データベースサーバ１０１でのデータベース検索処理の結果、検索式に合致したデータ（一覧データ）をデータベースサーバ１０１より取得する（Ｓ４０３）。
【００４０】
そして、ＣＰＵ２０１は、ステップＳ４０１で取得した検索式に、ソート条件（例えば、ＳＱＬの場合「ｏｒｄｅｒ ｂｙ」句）が含まれているかを判断する（Ｓ４０４）。
【００４１】
そして、ステップＳ４０４でソート条件があったと判断した場合には（Ｓ４０４でＹＥＳ）、ＣＰＵ２０１は、そのソート条件（ソートキーとなっている項目名、そのソート方向（昇順ｏｒ降順）、複数の場合はそれらソートキーの優先順）をＲＡＭ２０２に保存する（Ｓ４０５）。
【００４２】
その後、ＣＰＵ２０１は、取得した一覧データの表示処理を行う（Ｓ４０６）。この一覧データ表示処理の詳細については図５を参照して後述する。
【００４３】
そしてその後、ＣＰＵ２０１は、表示されたデータに対する編集処理が行われることになる（Ｓ４０７）。この編集処理の詳細については図６を参照して後述する。
【００４４】
その後、ＣＰＵ２０１は、他のデータに対する編集処理を行うかを判断することになる（Ｓ４０８）。
【００４５】
そして、継続して他のデータに対する編集処理を行うと判断した場合には（Ｓ４０８でＹＥＳ）、ＣＰＵ２０１は、ステップＳ４０１からの処理を繰り返すように制御する。その際にはステップＳ４０１においては、他のデータに対する編集処理に必要な検索式を取得することになる。
【００４６】
一方、ステップＳ４０８において、継続して処理を行わないと判断した場合には（Ｓ４０８でＮＯ）、ＣＰＵ２０１は、本処理を終了するように制御する。
【００４７】
図５は、図４のステップＳ４０６の一覧データ表示処理の一例を詳細に示すフローチャートである。この処理は、情報処理装置のＣＰＵ２０１がＨＤＤ２０４に記録されているプログラムをＲＡＭ２０２にロードして実行することにより実現される処理である。
【００４８】
まず、ＣＰＵ２０１は、一覧表の列見出しに各項目の項目名を設定する（Ｓ５０１）。
【００４９】
その後、ＣＰＵ２０１は、ソートキーの優先順位を示す変数であるＮ（ＲＡＭ２０２に記憶される）に「１」を代入する（Ｓ５０２）。
【００５０】
その後、ＣＰＵ２０１は、ソートキーの数だけステップＳ５０３乃至ステップＳ５１１の処理を繰り返す。なお、ソートキーが設定されていない場合には、これら処理は行わず、ＣＰＵ２０１は、ステップＳ５１２に処理を進める。
【００５１】
まず、ステップＳ５０３において、ＣＰＵ２０１は、ＲＡＭ２０２に保存（図４のＳ４０５）されているソート条件から、ソートの優先順位がＮ番のソートキーの項目情報と、そのソート方向を取得する。
【００５２】
そして、ＣＰＵ２０１は、ステップＳ５０３で取得したソートキーのソート方向が昇順であった場合には（Ｓ５０４で「昇順」と判定した場合には）、昇順を示すソートアイコン、例えば「△」のイメージ（例えば、図９の９０１）を生成し（Ｓ５０５）、ステップＳ５０７に処理を進める。
【００５３】
一方、ソートキーのソート方向が降順であった場合には（Ｓ５０４で「降順」と判定した場合には）、降順を示すソートアイコン、例えば「▽」を生成し（Ｓ５０６）、ステップＳ５０７に処理を進める。ソートアイコンについてはソートの向きを認識できるようなものであればどのような形態であっても良い。
【００５４】
そして、ステップＳ５０７において、ＣＰＵ２０１は、ソート条件として設定されているソートキーの数を取得する。
【００５５】
次に、ＣＰＵ２０１は、Ｓ５０７で取得したソートキーの数を判定し（Ｓ５０８）、ソートキーが複数設定されている場合には、ステップＳ５０９に処理を進め、当該ソートキーの優先順位を視覚で識別可能にするためにソートアイコンの表示形態を変更する。この際、ソートアイコン△もしくは▽の中に優先順位を示す数が表示されるようなソートアイコン（例えば、図１０の１００１〜１００３）を用いても、ソートアイコンの大きさで相対的に優先順位を認識できるようにしても良い。また、色により優先順位を示すようにしてもよい。例えば、青、黄、赤の順に優先順位を設けてもよい。おな、この場合、一覧表の外に、青：優先順位１、黄：優先順位２、赤：優先順位３のように表示してもよい。即ち、優先順位を識別可能な表示形態であればどのような表示形態であってもよい。
【００５６】
そして、ステップＳ５０９の処理を終了すると、ＣＰＵ２０１は、ステップＳ５１０に処理を進める。
【００５７】
一方、ステップＳ５０８において、ソートキーが単数（１つ）設定されていると判定した場合には、ＣＰＵ２０１は、ステップＳ５１０に処理を進める。
【００５８】
次に、ステップＳ５１０において、ＣＰＵ２０１は、Ｎ番目の優先順位を持つソートキーとして設定されている項目の列見出しにソートアイコンを設定する。
【００５９】
そしてその後、ＣＰＵ２０１は、次の優先順位を持つソートキーに対する処理を行うために、ソートキーの優先順位を示す変数であるＮの数字に１を加え（Ｓ５１１）、ステップＳ５０３に処理を戻す。
【００６０】
そして、ＣＰＵ２０１は、ソートキーの数だけステップＳ５０３乃至ステップＳ５１１の処理を終了すると、ステップＳ５１２に処理を進める。
【００６１】
ステップＳ５１２では、ＣＰＵ２０１は、図４のＳ４０３でデータベースサーバ１０１より取得したデータの表示を行う（Ｓ５１２）。この際、ＣＰＵ２０１は、データの表示を、ソート条件が設定されている場合には、そのソート条件に従って行うことになる。
【００６２】
この処理の終了後、ソートキーが単数の場合には、図９に示すような一覧表がディスプレイ装置２０９に表示されることになる。一方、ソートキーが複数の場合には図１０に示すような一覧表がディスプレイ装置２０９に表示されることになる。
【００６３】
図６は、図４のステップＳ４０７の編集処理の一例を詳細に示すフローチャートである。この処理は、情報処理装置のＣＰＵ２０１がＨＤＤ２０４に記録されているプログラムをＲＡＭ２０２にロードして実行することにより実現される処理である。
【００６４】
本フローチャートの処理が開始されると、ＣＰＵ２０１は常に、ユーザによる入力部からの指示に基づいて、ソート条件の変更指示を受けたか（Ｓ６０１）、表示されているデータの編集指示を受けたか（Ｓ６０２）、編集内容の保存要求を受けたか（Ｓ６０７）、編集終了指示を受けたか（Ｓ６０９）を監視している。
【００６５】
例えば、ソート条件の変更指示は、ディスプレイ装置２０９に表示されている一覧表の列見出しをポインティングデバイスで指示することで入力することが可能である。また、編集指示は、表示されているデータを選択して、キーボード等でその欄の内容を変更することで指示することが可能である。
【００６６】
まず、ソート条件の変更を受けたと判定した場合には（Ｓ６０１でＹＥＳ）、ＣＰＵ２０１は、その変更指示がソートキーの優先順位の変更指示であるか、それともソート方向の変更指示であるかを判断する（Ｓ６０４）。
【００６７】
例えば、キーボード上の特定キー（例えば「Ａｌｔ」や「Ｃｔｒｌ」が押されている状態で列見出しがポインティングデバイスでクリック指示されたことを優先順位の変更の条件、単に列見出しがポインティングデバイスでクリック指示されたことをソート順位の変更の条件として設定することが可能である。これらの条件設定はこれに限らず、ダブルクリックとシングルクリックという条件設定を行っても、見出し列中の特定位置（例えばソートアイコンの表示領域）がクリック指示された場合には優先順位の変更、それ以外の場所がクリックされた場合にはソート方向の変更といった条件設定をしてももちろん構わない。
【００６８】
そして、ステップＳ６０４で優先順位の変更の条件に合致したと判断した場合には、ＣＰＵ２０１は、ソートキー優先順位変更処理を行い（Ｓ６０５）、ステップＳ６０７に処理を進める。なお、ソートキー優先順位変更処理の詳細については、図７を参照して後述する。
【００６９】
一方、ステップＳ６０４でソート方向の変更の条件に合致したと判断した場合には、ＣＰＵ２０１は、ソート方向変更処理を行い（Ｓ６０６）、ステップＳ６０７に処理を進める。なお、ソート方向変更処理の詳細については、図８を参照して後述する。
【００７０】
また、ステップＳ６０１でソート条件変更指示を受けていないと判断した場合には（Ｓ６０１でＮＯ）、ＣＰＵ２０１は、データ編集指示を受けたかを判断する（Ｓ６０２）。
【００７１】
そして、データ編集指示を受けたと判断した場合には（Ｓ６０２でＹＥＳ）、ＣＰＵ２０１は、編集指示のあったデータが、レコードのどの項目に対する編集指示であるかを識別可能にＲＡＭ２０２に保存するとともに、表示内容を変更する（Ｓ６０３）。そして、ステップＳ６０７に処理を進める。
【００７２】
一方、データ編集指示を受けていないと判断した場合には（Ｓ６０２でＮＯ）、ＣＰＵ２０１は、そのままステップＳ６０７に処理を進める。
【００７３】
そして、ステップＳ６０７では、ＣＰＵ２０１は、編集内容の確定（編集内容をデータベースに登録する）指示を受けたかを判断し、編集内容の確定指示を受けたと判断した場合には（Ｓ６０７でＹＥＳ）、データベースサーバ１０１に対してデータベースの内容を編集データで更新するよう指示を行う（Ｓ６０８）。そして、ステップＳ６０９に処理を進める。
【００７４】
一方、ステップＳ６０７において、編集内容の確定指示を受けていないと判断した場合には（Ｓ６０７でＮＯ）、ＣＰＵ２０１は、そのままステップＳ６０９に処理を進める。
【００７５】
そして、ステップＳ６０９では、ＣＰＵ２０１は、編集終了指示を受けていないと判断した場合には（Ｓ６０９でＮＯ）、ステップＳ６０１に処理を戻し、指示の監視を継続する。
【００７６】
一方、ステップＳ６０９では、ＣＰＵ２０１は、編集終了指示を受けたと判断した場合には（Ｓ６０９でＹＥＳ）、本フローチャートの処理を終了する。
【００７７】
図７は、図６のステップＳ６０５のソートキー優先順位変更処理の一例を詳細に示すフローチャートである。この処理は、情報処理装置１０２のＣＰＵ２０１がＨＤＤ２０４に記録されているプログラムをＲＡＭ２０２にロードして実行することにより実現される処理である。
【００７８】
まず、ＣＰＵ２０１は、ポインティングデバイスを介してユーザから受けた指示が、ソート条件のリセット指示であるかを判断する。
【００７９】
なお、ソート条件のリセット処理とは、すでに設定されているソート条件を無効にして、データベース検索の際に設定したソート条件でデータの並び替えを行う（初期化）ことを言う。
【００８０】
ここで、特定キーが押されている状態で列見出しをクリック指示した場合に優先順位の変更指示であるとして設定している場合は、「Ａｌｔ」キー＋クリック指示の場合は単に優先順位の変更指示、「Ａｌｔ」＋「Ｃｔｒｌ」＋クリック指示の場合はリセット要求であるなどと設定しておくことが可能である。
【００８１】
また、列見出しがダブルクリックされた場合に優先順位の変更指示であると条件設定をしている場合には、キーボードの特定キーが押された状態でダブルクリック指示があった場合にリセット要求の条件であるとしても良い。
【００８２】
また、列見出しの特定箇所のクリックが優先順位の変更指示の条件であると設定している場合には、特定キーが押されている状態で当該箇所がクリック指示された場合、またはダブルクリックされた場合がリセット要求の条件であると設定することが可能である。
【００８３】
これら条件は、例えば不図示のダイアログボックスを表示させ、優先順位指示のときに用いるキーやリセット指示の際に用いるキーを入力させることで設定することになる。入力は優先順位、リセット夫々の場合について、実際にマウス操作をさせることで行ってもかまわない。
【００８４】
そして、ステップＳ７０１において、ソート設定のリセット要求指示であると判断した場合には（Ｓ７０１でＹＥＳ）、ＣＰＵ２０１は、ソート設定をリセットする（Ｓ７０２）。つまりは、図４のステップＳ４０１で取得した検索式に設定されている状態にソート条件を戻し、そのソート条件をＲＡＭ２０２に保存する。その後、図５に示す一覧データ表示処理を行い（Ｓ７１３）、本フローチャートの処理を終了する。
【００８５】
一方、ステップＳ７０１において、ソート設定リセット要求ではないと判断した場合には（Ｓ７０１でＮＯ）、ＣＰＵ２０１は、優先順位の変更指示の対象として指示された項目がすでにソートキーとして設定されているかを判断する（Ｓ７０３）。
【００８６】
そして、ソートキーとして設定されていない項目が指示されたと判断した場合には（Ｓ７０３でＮＯ）、ＣＰＵ２０１は、ソート方向の変更処理を行う（Ｓ７０４）。このソート方向の変更処理については図８を参照して後述する。
【００８７】
その後、ＣＰＵ２０１は、すでにソート優先順位の入れ替え候補として設定されているソートキーがあるかを判断する（Ｓ７０５）。
【００８８】
そして、まだソート優先順位の入れ替え候補として設定されているソートキーが無いと判断した場合には（Ｓ７０５でＮＯ）、ＣＰＵ２０１は、指示されたソートキー項目を優先順位の入れ替え候補として設定し（Ｓ７０６）、当該ソートキー項目を入れ替え対象項目として設定したことをユーザに認識させるべく、表示制御を行う（Ｓ７０７）。
【００８９】
例えば図１３（ａ）に示すように、まだソート優先順位の入れ替え候補として設定されていないソートキー「コード」１３０１が指示された場合、ソートキー「コード」１３０１を優先順位の入れ替え候補として設定し、ソートキー「コード」１３０１を入れ替え対象項目として設定したことをユーザに認識させるべく、図１３（ｂ）に示すように、表示形態を変更する。即ち、入れ替え対象項目として設定されたソートキー「コード」１３０１の列見出しを、他の項目の列見出し「区分」１３０２，「名称」１３０３と表示形態を異ならせる。
【００９０】
そして、Ｓ７０７の処理が完了すると、ＣＰＵ２０１は、本フローチャートの処理を終了する。
【００９１】
一方、ステップＳ７０５において、入れ替え候補がすでに設定されていると判断した場合には（Ｓ７０５でＹＥＳ）、ＣＰＵ２０１は、指示されたのが、すでに入れ替え候補として設定されているソートキー項目の列見出しであるかを判断する（Ｓ７０８）。
【００９２】
そして、ステップＳ７０８において、指示されたのがすでに入れ替え候補として設定されているソートキー項目の列見出しである（Ｓ７０８でＹＥＳ）と判断した場合には、ＣＰＵ２０１は、入れ替え候補の設定を無効化（キャンセル）し（Ｓ７０９）、当該項目の列見出し表示を通常のものに戻す（Ｓ７１０）。例えば図１３（ｂ）に示すように、既にソート優先順位の入れ替え候補として設定されているソートキー「コード」１３０１が指示された場合、ソートキー「コード」１３０１の入れ替え候補の設定をキャンセルし、図１３（ａ）に示すような表示に戻す。
【００９３】
そして、Ｓ７１０の処理が完了すると、ＣＰＵ２０１は、本フローチャートの処理を終了する。
【００９４】
一方、ステップＳ７０８において、指示されたのが入れ替え候補として設定されていないソートキー項目の列見出しである（Ｓ７０８でＮＯ）と判断した場合には、ＣＰＵ２０１は、新たに指示されたソートキー項目と入れ替え候補のソートキー項目との優先順位の入れ替えを行う（Ｓ７１１）。その後、ＣＰＵ２０１は、入れ替え候補のソートキー項目の列見出しを通常のものに戻す（Ｓ７１２）。
【００９５】
例えば図１３（ｂ）に示すように、既にソートキー「コード」１３０１がソート優先順位の入れ替え候補として設定されている状態で、入れ替え候補として設定されていないソートキー「区分」１３０２が指示された場合、図１３（ｃ）に示すように、新たに指示されたソートキー「区分」１３０２と入れ替え候補のソートキー「コード」１３０１との優先順位の入れ替え、入れ替え候補のソートキー項目の列見出しを通常のものに戻す。
【００９６】
そして、Ｓ７１２の処理が完了すると、ＣＰＵ２０１は、図５に示す一覧データ表示処理を行い（Ｓ７１３）、本フローチャートの処理を終了する。
【００９７】
以上がソートキー優先度変更処理の一例の説明である。なお、上記していないが、ソートキーとして設定されている項目が１つも無い場合には、本処理を行わない（ソートの優先順位の変更要求自体を受け付けない）ように制御しても勿論構わない。
【００９８】
また、ステップＳ７０５でＮＯの場合、その時点で、ソートキーが１つしか設定されていない場合には、ＣＰＵ２０１は、ステップＳ７０６，Ｓ７０７の処理を実行せず、そのまま本フローチャートの処理を終了するように構成してもよい。即ち、ソートキーが１つしか設定されていない場合には、ソートの優先順位の変更自体を受け付けないように構成してもよい。
【００９９】
また、Ｓ７０３でＮＯの場合には、そのまま処理を終了するように構成してもよい。即ち、ソートキーに設定されていない項目に対してソートの優先順位の変更が要求された場合には、ソートの優先順位の変更要求自体を受け付けないように構成してもよい。
【０１００】
図８は、図６のステップＳ６０６に示すソート方向変更処理の一例を詳細に示すフローチャートである。この処理は、情報処理装置のＣＰＵ２０１がＨＤＤ２０４に記録されているプログラムをＲＡＭ２０２にロードして実行することにより実現される処理である。
【０１０１】
まず、ＣＰＵ２０１は、ソート方向の変更指示を受けたと判断した場合に、その時点でソート優先順位の入れ替え候補として設定されているソートキー項目があるかを判断する（Ｓ８０１）。
【０１０２】
そして、入れ替え候補として設定されているソートキー項目があると判断した場合には（Ｓ８０１でＹＥＳ）、ＣＰＵ２０１は、入れ替え候補設定をキャンセルし（Ｓ８０２）、ステップＳ８０３に処理を進める。
【０１０３】
一方、ステップＳ８０１において、入れ替え候補として設定されているソートキー項目がないと判断した場合には（Ｓ８０２でＹＥＳ）、ＣＰＵ２０１は、そのままステップＳ８０３に処理を進める。
【０１０４】
次に、ステップＳ８０３では、ＣＰＵ２０１は、ソート方向の変更指示を受けた項目の現在のソート方向情報を取得する。
【０１０５】
次に、ＣＰＵ２０１は、取得した結果が「昇順」であると判断した場合には（Ｓ８０４で「昇順」）、当該項目（すでにソートキー項目として設定されている）のソート方向を降順に変更する（Ｓ８０５）。
【０１０６】
例えば、図１２（ａ）に示すように、ソート方向を昇順のソートキー「コード」１２０１に対して、ソート方向の変更指示を受けたと判断した場合、図１２（ｂ）に示すように、ソートキー「コード」１２０１のソート方向を降順に変更する。
【０１０７】
そして、Ｓ８０５の処理が完了すると、ＣＰＵ２０１は、図５に示す一覧データ表示処理を行い（Ｓ８１１）、本フローチャートの処理を終了する。
【０１０８】
また、ステップＳ８０４において、Ｓ８０３で取得した結果が「降順」であると判断した場合には（Ｓ８０４で「降順」）、ＣＰＵ２０１は、当該項目をソートキー項目から除外する（Ｓ８０６）。
【０１０９】
そして、ＣＰＵ２０１は、ステップＳ８０６で除外したソートキー項目より優先順位が低い他のソートキー項目があれば、その優先順位を変更する（１つ優先順位を上げる）ように制御する（Ｓ８０７）。
【０１１０】
そして、Ｓ８０７の処理が完了すると、ＣＰＵ２０１は、図５に示す一覧データ表示処理を行い（Ｓ８１１）、本フローチャートの処理を終了する。
【０１１１】
また、ステップＳ８０４において、Ｓ８０３で取得した結果が「ソートの方向が指定されていない」と判断した場合には（Ｓ８０４で「指定なし」）、ＣＰＵ２０１は、その項目はまだソートキー項目として設定されていないので、当該項目をソートキー項目に追加し（Ｓ８０８）、その優先順位を最下位に設定する（Ｓ８０９）。そしてその項目のソート方向を昇順に設定する（Ｓ８１０）。
【０１１２】
例えば、図１１（ａ）に示すように、ソート方向が指定されていない「区分」１１０２に対して、ソート方向の変更指示を受けたと判断した場合、図１１（ｂ）に示すように、「区分」１２０２をソートキー項目に追加し、その優先順位を最下位である「２」に設定する。
【０１１３】
そして、Ｓ８０７の処理が完了すると、ＣＰＵ２０１は、図５に示す一覧データ表示処理を行い（Ｓ８１１）、本フローチャートの処理を終了する。
【０１１４】
以上がソート方向変更指示を受けた場合に情報処理装置１０２のＣＰＵが行うソート方向変更処理の一例である。
【０１１５】
図９は、ソートキーが単数の場合の一覧表の表示例の一例を示す図である。
【０１１６】
図９に示す例では、９０１に示すように、「コード」項目がソートキーとして設定されており、他の項目はソートキーとして設定されていない。
【０１１７】
この例では、ソートキーに指定されている項目が「コード」項目だけであるので、ソートアイコンが、ソートの向きのみをあらわすものになっている。
【０１１８】
図１０は、ソートキーが複数設定されている場合の一覧表の表示例の一例を示す図である。
【０１１９】
図１０に示す例では、１００１に示すように「コード」項目が昇順、１００２に示すように「区分」項目が昇順、１００３に示すように「名称」項目が降順のソート向きで、優先順位が「コード」、「区分」、「名称」の順で設定されている。
【０１２０】
この例では、ソートキーに指定されている項目が複数存在するので、１００１，１００３，１００３に示すように、向きを示すソートアイコンの中に優先順位を示す数字が表示されており、ソートの向き、優先度を容易に視認可能に制御している。
【０１２１】
図１１は、ソートキーの追加の際のソートアイコンの表示制御の一例を示す図である。
【０１２２】
図１１（ａ）においては、「コード」項目１１０１のみがソートキーとして設定されている。そこで、ソートキーとして設定されていない他の項目（図では「区分」項目１１０２）をクリック指示を受け付けたと判断した場合には、当該項目をソートキー項目として優先度最下位で追加し、ソート処理を行う。その際にソートアイコンの表示処理の変更をＣＰＵ２０１は行うことになる。
【０１２３】
そして、図１１（ｂ）に示すように、「コード」項目１１０１が昇順、「区分」項目１１０２が昇順にソートされ、その優先度が「コード」、「区分」順になっている。なお、今回の処理でソート項目が単数から複数になったので、ＣＰＵ２０１の制御により、１１０１，１１０２に示すように、ソートアイコン中に優先度を示す数字が表示される。
【０１２４】
図１２は、ソートの方向の変更の際のソートアイコンの表示制御の一例を示す図である。
【０１２５】
図１２（ａ）において、「コード」項目１２０１が昇順で、「区分」項目１２０２が昇順で、優先度が「コード」、「区分」の順で設定されている。
【０１２６】
その際に、すでに昇順のソートキー項目として設定されている「コード」項目１２０１にクリック指示を受け付けた場合に、ＣＰＵ２０１の制御により、クリックをされたソートキーのソート向きの変更が行われる（昇順→降順、降順→ソートなし：ただし優先度が最下位で無い場合には降順→昇順と制御することももちろん可能）。
【０１２７】
図１２に示した例では、昇順であった「コード」項目１２０１のソート方向の変更指示がなされたので、コードが降順に変更される。それに伴い、図１２（ｂ）に示すようにソートアイコンも昇順を示すものから降順を示すものに変更されている。この場合、ソート向きの変更のみであるので優先順に変更は加えられない。
【０１２８】
図１３は、ソートキーの優先順の変更処理の際のソートアイコン及び項目表示欄の表示制御の一例を示す図である。
【０１２９】
図１３（ａ）は、ソート優先順の入れ替え候補の設定の例であり、項目表示欄で特定のキーを押下すると、ＣＰＵ２０１の制御により、その中に表示されているマウスカーソルが、優先順入れ替え候補選択用のイメージに変更される。
【０１３０】
そして、「コード」項目１３０１がクリック指示されると、当該項目がソート優先順入れ替え候補として選択される。それに伴い、図１３（ｂ）に示すように、項目表示欄の表示を通常のものと異ならせる等、当該項目がソート優先順入れ替え候補であることがユーザに視認可能な形に表示制御が行われることになる。
【０１３１】
その後、ソート優先順入れ替え候補として設定されている項目以外の項目に対して、ソート優先順位の入れ替え候補の選択が行われた場合には（図１３（ｂ）に示す「区分」項目１３０２がクリックされた場合には）、図１３（ｃ）に示すとおり、「コード」項目１３０１と「区分」項目１３０２とが優先順位が入れ替わり、新たなソート順に基づいてソート処理が行われることになる。
【０１３２】
そして、表示項目の表示は通常の状態の表示に戻り、ソートアイコン中の優先度を示す数字の変更が行われる。なお、各ソートキーの向きに変更は行われない。
【０１３３】
以上説明したように、データの一覧表を参照しながら、複数のキーによるソートを行う際に、そのソートキーの優先度の変更や確認を視覚等を通じて容易に行うことが可能となる。
【０１３４】
なお、上述の各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０１３５】
また、以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１３６】
例えば、上記実施形態では、情報処理装置１０２がデータベースサーバ１０１から取得して表形式で表示されたデータのソート処理を行う構成について説明した。しかし、ソート処理を行う対象は、情報処理装置１０２のＨＤＤ２０４に格納されているデータ（例えば、表データ）であってもよい。例えば、メールソフトの受信ボックスや送信ボックスに表示されているデータのソート処理であっても、ファイル一覧等に表示されているデータのソート処理であっても、表計算ソフト（例えば、マイクロソフト社のＥｘｃｅｌ（登録商標））の表示データのソート処理等であってもよい。
【０１３７】
なお、上記情報処理装置１０２のＨＤＤ２０４に格納されているデータをソート処理の対象とする場合、該データに対して、前回表示した際にソートキーに設定された項目の情報や、そのソート方向、優先順位等をソート設定情報としてそのデータ内又はそのデータに紐付けてＨＤＤ２０４に保存しておくようにしてもよい。この場合、ＣＰＵ２０１は、そのデータを表示する際には、前記表示した際のソート設定情報に基づいて表示制御するように制御する。
【０１３８】
以下、図１４に示すメモリマップを参照して本発明に係る情報処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１３９】
図１４は、本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【０１４０】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１４１】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１４２】
本実施形態における図４，図５，図６，図７，図８に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１４３】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１４４】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１４５】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０１４６】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４７】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４８】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１４９】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１５０】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【０１５１】
以上示したように、本発明によれば、複数の項目によりデータの並び替えを行う際に、データの並び替えの項目の優先度や並び替え方向の視覚による認識や、項目の優先度の変更を容易に行うことができる。
【図面の簡単な説明】
【０１５２】
【図１】本発明における情報処理システムの構成の一例を示すシステム構成図である。
【図２】データベースサーバ１０１、及び情報処理装置１０２のハードウェア構成の一例を示すブロック図である。
【図３】情報処理装置１０２の機能構成を示すブロック図である。
【図４】情報処理装置１０２で行われるデータベースサーバ１０１で管理しているマスタデータの編集処理を示すフローチャートである。
【図５】図４のステップＳ４０６の一覧データ表示処理の一例を詳細に示すフローチャートである。
【図６】図４のステップＳ４０７の編集処理の一例を詳細に示すフローチャートである。
【図７】図６のステップＳ６０５のソートキー優先順位変更処理の一例を詳細に示すフローチャートである。
【図８】図６のステップＳ６０６に示すソート方向変更処理の一例を詳細に示すフローチャートである。
【図９】ソートキーが単数の場合の一覧表の表示例の一例を示す図である。
【図１０】ソートキーが複数設定されている場合の一覧表の表示例の一例を示す図である。
【図１１】ソートキーの追加の際のソートアイコンの表示制御の一例を示す図である。
【図１２】ソートの方向の変更の際のソートアイコンの表示制御の一例を示す図である。
【図１３】ソートキーの優先順の変更処理の際のソートアイコン及び項目表示欄の表示制御の一例を示す図である。
【図１４】本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【符号の説明】
【０１５３】
１０１    データベースサーバ
１０２−１，１０２−２    情報処理装置
１０３    ネットワーク
３０１    制御部
３０２    表示制御部
３０３    データアクセス部
３０４    データ管理部
３０５    入力制御部
【図１】
0004411343.tif 000002
【図２】
0004411343.tif 000003
【図３】
0004411343.tif 000004
【図４】
0004411343.tif 000005
【図５】
0004411343.tif 000006
【図６】
0004411343.tif 000007
【図７】
0004411343.tif 000008
【図８】
0004411343.tif 000009
【図９】
0004411343.tif 000010
【図１０】
0004411343.tif 000011
【図１１】
0004411343.tif 000012
【図１２】
0004411343.tif 000013
【図１３】
0004411343.tif 000014
【図１４】
0004411343.tif 000015