(57)【特許請求の範囲】
【請求項１】
表示対象とする第１の項目と第２の項目の指定を受け付け、
前記第１の項目の具体値のデータ量に応じた前記第１の項目と前記第２の項目との間のマージン幅の設定を受け付けて、記憶部に記憶し、
表示対象とする前記第１の項目の具体値のデータ量を特定し、
前記記憶部を参照して、特定した前記データ量に応じたマージン幅で、前記第１の項目の具体値と前記第２の項目の具体値とを表示する、
処理をコンピュータに実行させることを特徴とする表示プログラム。
【請求項２】
前記受け付ける処理では、前記第１の項目と前記第２の項目の配置位置の指定を受け付け、
前記第１の項目と前記第２の項目の配置位置が所定の距離内にある場合に、前記特定する処理及び前記表示する処理を前記コンピュータに実行させることを特徴とする請求項１に記載の表示プログラム。
【請求項３】
前記記憶部に記憶する処理では、前記第１の項目の具体値の行数に応じたマージン幅の設定を受け付けて、前記記憶部に記憶し、
前記表示する処理では、前記記憶部を参照して、表示対象とする前記第１の項目の具体値の行数に応じた上下方向のマージン幅で、前記第１の項目の具体値と前記第２の項目の具体値とを表示する、
ことを特徴とする請求項１又は２に記載の表示プログラム。
【請求項４】
前記記憶部に記憶する処理では、前記第１の項目の具体値となりうる値を参照して、前記第１の項目の具体値となりうる値を表示する際の必要行数を特定し、特定した前記必要行数ごとに前記マージン幅をユーザに設定させるための画面を表示し、前記画面において設定されたマージン幅を行数と関連付けて前記記憶部に記憶する、ことを特徴とする請求項３に記載の表示プログラム。
【請求項５】
表示対象とする第１の項目と第２の項目の指定を受け付け、
前記第１の項目の具体値のデータ量に応じた前記第１の項目と前記第２の項目との間のマージン幅の設定を受け付けて、記憶部に記憶し、
表示対象とする前記第１の項目の具体値のデータ量を特定し、
前記記憶部を参照して、特定した前記データ量に応じたマージン幅で、前記第１の項目の具体値と前記第２の項目の具体値とを表示する、
処理をコンピュータが実行することを特徴とする表示方法。
【請求項６】
表示対象とする第１の項目と第２の項目の指定を受け付ける受付部と、
前記第１の項目の具体値のデータ量に応じた前記第１の項目と前記第２の項目との間のマージン幅の設定を受け付けて、記憶部に記憶する処理部と、
表示対象とする前記第１の項目の具体値のデータ量を特定する特定部と、
前記記憶部を参照して、特定した前記データ量に応じたマージン幅で、前記第１の項目の具体値と前記第２の項目の具体値とを表示する表示部と、
を備える表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示プログラム、表示方法及び表示装置に関する。
【背景技術】
【０００２】
従来、ＰＣ（Personal Computer）等で表を作成する際に、表中の枠の大きさを、枠内に入力される文書データに基づいて自動的に決定する技術が知られている（例えば、特許文献１，２等参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平２−２２２０６３号公報
【特許文献２】特開昭６２−２３９２６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数の項目を表示する帳票においては、各項目のデータ量にかかわらず各項目をバランスよく配置することが好ましい。しかしながら、従来の技術を用いても、帳票内の複数の項目をデータ量にかかわらずバランスよく配置することはできない。
【０００５】
１つの側面では、本発明は、表示対象の第１の項目の具体値と第２の項目の具体値とをバランスよく表示することが可能な表示プログラム、表示方法及び表示装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの態様では、表示プログラムは、表示対象とする第１の項目と第２の項目の指定を受け付け、前記第１の項目の具体値のデータ量に応じた前記第１の項目と前記第２の項目との間のマージン幅の設定を受け付けて、記憶部に記憶し、表示対象とする前記第１の項目の具体値のデータ量を特定し、前記記憶部を参照して、特定した前記データ量に応じたマージン幅で、前記第１の項目の具体値と前記第２の項目の具体値とを表示する、処理をコンピュータに実行させる表示プログラムである。
【発明の効果】
【０００７】
表示対象の第１の項目の具体値と第２の項目の具体値とをバランスよく表示することができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係る帳票生成システムの構成を概略的に示す図である。
【図２】図２（ａ）は、サーバのハードウェア構成を示す図であり、図２（ｂ）は、利用者端末のハードウェア構成を示す図である。
【図３】サーバ及び利用者端末の機能ブロック図である。
【図４】県民ＤＢの一例を示す図である。
【図５】フォント別所定距離管理テーブルの一例を示す図である。
【図６】ＤＢ管理テーブルの一例を示す図である。
【図７】図７（ａ）は、帳票定義ＤＢの一例を示す図であり、図７（ｂ）は、フィールド配置管理ＤＢの一例を示す図である。
【図８】図８（ａ）は、フィールド別最大行数管理ワークの一例を示す図であり、図８（ｂ）は、フィールド配置ワークの一例を示す図である。
【図９】サーバの一連の処理を示すフローチャート（その１）である。
【図１０】サーバの一連の処理を示すフローチャート（その２）である。
【図１１】サーバの一連の処理を示すフローチャート（その３）である。
【図１２】図１０のステップＳ３２の具体的処理を示すフローチャートである。
【図１３】図１０のステップＳ４０の具体的処理を示すフローチャートである。
【図１４】図１１のステップＳ６０の具体的処理を示すフローチャートである。
【図１５】図１５（ａ）、図１５（ｂ）は、帳票作成画面を示す図（その１）である。
【図１６】図１６（ａ）、図１６（ｂ）は、帳票作成画面を示す図（その２）である。
【図１７】図１７（ａ）、図１７（ｂ）は、帳票作成画面を示す図（その３）である。
【図１８】図１８（ａ）、図１８（ｂ）は、帳票作成画面を示す図（その４）である。
【図１９】図１９（ａ）、図１９（ｂ）は、帳票作成画面を示す図（その５）である。
【図２０】図２０（ａ）〜図２０（ｃ）は、帳票画面の一例を示す図である。
【図２１】図２１（ａ）〜図２１（ｃ）は、比較例を説明するための図である。
【発明を実施するための形態】
【０００９】
以下、帳票生成システムの一実施形態について、図１〜図２０に基づいて詳細に説明する。
【００１０】
図１には、本実施形態に係る帳票生成システム１００の構成が概略的に示されている。帳票生成システム１００は、図１に示すように、表示装置としてのサーバ１０と、利用者端末５０と、プリンタ７０と、を備える。サーバ１０、利用者端末５０及びプリンタ７０は、インターネットやＬＡＮ（Local Area Network）などのネットワーク８０に接続されている。
【００１１】
サーバ１０は、ユーザによる利用者端末５０上での操作情報（指示内容）を受信して、各種画面を作成するとともに帳票を生成する。また、サーバ１０は、作成した画面や帳票のデータを利用者端末５０に送信して表示させたり、生成した帳票をプリンタ７０に送信して印刷させる。
【００１２】
図２（ａ）には、サーバ１０のハードウェア構成が示されている。図２（ａ）に示すように、サーバ１０は、ＣＰＵ（Central Processing Unit）９０、ＲＯＭ（Read Only Memory）９２、ＲＡＭ（Random Access Memory）９４、記憶部（ここではＨＤＤ（Hard Disk Drive））９６、ネットワークインタフェース９７、及び可搬型記憶媒体用ドライブ９９等を備えている。これらサーバ１０が有する各装置は、バス９８に接続されている。ＣＰＵ９０は、ＲＯＭ９２あるいはＨＤＤ９６に格納されているプログラム（表示プログラムを含む）、或いは可搬型記憶媒体用ドライブ９９が可搬型記憶媒体９１から読み取ったプログラム（表示プログラムを含む）を実行することにより、図３に示す、帳票生成指示受付部３０、帳票生成部３２、及び表示部としての出力部３４、としてサーバ１０を機能させる。なお、図３には、ＨＤＤ９６等に格納されている、検索対象ＤＢ（データベース）群４０、フォント別所定距離管理ＤＢ４２、ＤＢ管理テーブル４４、帳票定義ＤＢ４６、記憶部としてのフィールド配置管理ＤＢ４８も図示されている。なお、これらＤＢやテーブルの具体的なデータ構造等については、後述する。
【００１３】
帳票生成指示受付部３０は、利用者端末５０から送信されてくる帳票生成指示を受け付け、帳票生成部３２に送信する。帳票生成部３２は、帳票生成指示に基づいて帳票を生成する。出力部３４は、帳票生成部３２が生成した帳票を利用者端末５０に対して出力したり、プリンタ７０に対して出力する。
【００１４】
利用者端末５０は、ＰＣ（Personal Computer）などの端末であり、業務において帳票を作成するユーザ（例えば、市役所の職員等）が利用する端末である。利用者端末５０は、図２（ｂ）に示すようなハードウェア構成を有する。図２（ｂ）に示すように、利用者端末５０は、ＣＰＵ１９０、ＲＯＭ１９２、ＲＡＭ１９４、記憶部（ここではＨＤＤ）１９６、ネットワークインタフェース１９７、表示部１９３、入力部１９５、及び可搬型記憶媒体用ドライブ１９９等を備えている。表示部１９３は、液晶ディスプレイ等であり、入力部１９５は、キーボードやマウス、タッチパネル等である。利用者端末５０に含まれる各装置は、バス１９８に接続されている。ＣＰＵ１９０は、ＲＯＭ１９２あるいはＨＤＤ１９６に格納されているプログラム、或いは可搬型記憶媒体用ドライブ１９９が可搬型記憶媒体１９１から読み取ったプログラムを実行することにより、利用者端末５０を図３に示す入力処理部５２及び表示処理部５４として機能させる。入力処理部５２は、ユーザが入力部１９５を介して入力した情報（例えば、帳票生成に関する指示）をサーバ１０に送信する。表示処理部５４は、サーバ１０から送信されてきた画面データや帳票のデータを受信し、表示部１９３上に表示する。
【００１５】
プリンタ７０は、サーバ１０から帳票データを受信し、紙媒体（用紙）に対して帳票の印刷を行う装置である。プリンタ７０は、ユーザによって指定された形式の紙媒体に対して、印刷を実行する。なお、プリンタ７０は、ネットワーク８０に接続されていなくてもよく、例えばプリンタケーブルやＵＳＢケーブルを介して利用者端末５０に接続されていてもよい。
【００１６】
次に、サーバ１０が保持する各種ＤＢやテーブルの具体的なデータ構造等について、図４〜図８に基づいて、詳細に説明する。
【００１７】
図４には、検索対象ＤＢ群４０のうちの１つである県民ＤＢのデータ構造が示されている。図４に示すように、県民ＤＢは、県民の情報を格納するデータベースであり、一例として、「県民ＩＤ」、「氏名」、「住所」、「性別」、「生年月日」、「年齢」の各フィールドを有する。「県民ＩＤ」には、各県民に割り当てられた識別情報が格納される。「氏名」、「住所」、「性別」、「生年月日」、「年齢」のフィールドには、各県民の各情報が格納される。なお、検索対象ＤＢ群４０には、図３に示すように、県民ＤＢの他、軽自動車登録者ＤＢや介護者ＤＢなども含まれるが、これらのＤＢについての詳細な説明は省略する。
【００１８】
図５には、フォント別所定距離管理ＤＢ４２のデータ構造が示されている。フォント別所定距離管理ＤＢ４２は、フォントの大きさごとに予め定められたＹ軸方向（画面の上下方向）の所定距離（後述する処理において用いる閾値）を格納するデータベースである。具体的には、図５に示すように、フォント別所定距離管理ＤＢ４２は、「フォント」、「デフォルトフラグ」、「Ｙ軸所定距離（ピクセル）」の各フィールドを有する。「デフォルトフラグ」のフィールドには、ユーザが現在設定しているフォントに対応して、フラグ「１」が入力される。
【００１９】
図６には、ＤＢ管理テーブル４４のデータ構造が示されている。図６に示すように、ＤＢ管理テーブル４４は、データベースの識別情報である「ＤＢ＿ＩＤ」と、データベースの名称である「ＤＢ名」と、データベースの各フィールドの識別情報及び名称である「フィールドＩＤ」及び「フィールド名」と、を対応付けて管理する。例えば、ＤＢ管理テーブル４４においては、ＤＢ＿ＩＤが「Ｄ００１」の県民ＤＢには、県民ＩＤのフィールド（ＩＤ＝Ｆ００１）、氏名のフィールド（ＩＤ＝Ｆ００２）等のフィールドが存在するという、図４のデータ構造に対応する情報が管理されている。
【００２０】
図７（ａ）には、帳票定義ＤＢ４６のデータ構造が示されている。帳票定義ＤＢ４６には、サーバ１０において生成された帳票の定義データが格納される。ここで、帳票は、ユーザがあるデータベースを指定し、そのデータベースに含まれる項目名が表示された画面（図１５（ａ）参照）上においてユーザが項目名の貼り付け動作（ドラッグアンドドロップ）を実行することにより、作成される。図１５（ｂ）のような貼り付け動作により作成される帳票は、図２０（ａ）〜図２０（ｃ）に示すような帳票である。帳票定義ＤＢ４６は、図７（ａ）に示すように、「帳票ＩＤ」、「作成日」、「帳票名称」、「貼り付け対象ＤＢ」、「貼り付けフィールド名」、「フォントサイズ」、「フィールド領域横幅サイズ」、「配置調整対象」の各フィールドを有する。
【００２１】
「帳票ＩＤ」のフィールドには、帳票の識別情報（通し番号）が格納され、「作成日」のフィールドには、ユーザが帳票を作成した日付が格納される。「帳票名称」には、ユーザが設定した帳票の名称が格納される。「貼り付け対象ＤＢ」のフィールドには、ユーザが指定したデータベースの名称が格納される。「貼り付けフィールド名」のフィールドには、ユーザが貼り付け動作を行ったフィールド（項目）の名称が格納される。「フォントサイズ」のフィールドには、各フィールドに設定されたフォントの大きさの情報が格納され、「フィールド領域横幅サイズ」のフィールドには、フィールドの横幅の大きさの情報が格納される。なお、本実施形態では、貼り付けフィールド名に対してフィールド領域横幅サイズのデフォルト値が予め定められているものとする。フィールド領域横幅サイズのフィールドに格納される値の単位の例として、ピクセルが挙げられる。また他の例として、センチメートルやミリメートル、などが挙げられる。「配置調整対象」のフィールドには、帳票に貼り付けたフィールドが配置調整の対象であれば、「１」が格納され、対象でなければ、「０」が格納される。なお、配置調整とは、２つのフィールドが上下に配置された場合に、上側に位置するフィールドの行数に応じて、２つのフィールドの間隔（マージン幅）を調整することを意味する。
【００２２】
図７（ｂ）には、フィールド配置管理ＤＢ４８のデータ構造が示されている。フィールド配置管理ＤＢ４８は、帳票内に配置されるフィールドの座標を管理するデータベースである。具体的には、図７（ｂ）に示すように、フィールド配置管理ＤＢ４８は、「帳票ＩＤ」、「貼り付けフィールド名」、「配置調整関連フィールド名」、「配置調整関連フィールドの行数パターン」、「左上座標」のフィールドを有する。
【００２３】
「帳票ＩＤ」のフィールドには、帳票の識別情報が格納され、「貼り付けフィールド名」のフィールドには、帳票に貼り付けられたフィールドの名称が格納される。「配置調整関連フィールド名」のフィールドには、調整配置を行うフィールドがどのフィールドの影響を受けているかが格納される。「配置調整関連フィールドの行数パターン」のフィールドには、配置調整関連フィールドの行数のバリエーションが格納される。「左上座標」のフィールドには、「配置調整関連フィールドの行数パターン」の各行数に対応付けて、帳票に貼り付けられたフィールドの貼り付け開始座標（本実施形態では左上の座標）が格納される。
【００２４】
図８（ａ）、図８（ｂ）には、後述するサーバ１０の処理において、利用されるワーク（フィールド別最大行数管理ワーク、フィールド配置ワーク）が示されている。
【００２５】
フィールド別最大行数管理ワークは、図８（ａ）に示すように、「帳票ＩＤ」、「フィールド名」、「最大行数」のフィールドを有する。また、フィールド配置ワークは、図８（ｂ）に示すように、「帳票ＩＤ」、「フィールド名」、「配置調整関連フィールド名」、「行数パターン」、「左上座標」のフィールドを有する。これらのワークの具体的な使用方法については、後述する。
【００２６】
（サーバ１０の処理）
次に、サーバ１０の処理について、図９〜図１４のフローチャートに沿って、その他図面を適宜参照しつつ、詳細に説明する。この図９〜図１４の処理は、ユーザが利用者端末５０の入力部１９５から入力した帳票生成を開始する指示（帳票生成指示）を、帳票生成指示受付部３０が受信した段階で開始される処理である。なお、帳票生成指示は、利用者端末５０の入力処理部５２から送信される。なお、図９〜図１１が、サーバ１０の一連の処理を示すフローチャートである。また、図１２が図１０のステップＳ３２の処理を示すフローチャートであり、図１３が図１０のステップＳ４０の処理を示すフローチャートであり、図１４が図１１のステップＳ６０の処理を示すフローチャートである。なお、図７（ａ）、図７（ｂ）のデータベース（４６，４８）は空であるものとし、図８（ａ）、図８（ｂ）のワークも空であるものとする。
【００２７】
図９の処理では、まず、ステップＳ１０において、帳票生成部３２が、ＤＢ管理テーブル４４から、全てのＤＢ名を取得し、ＤＢ選択画面（不図示）を生成し、当該選択画面のデータを利用者端末５０の表示処理部５４に対して送信する。例えば、帳票生成部３２は、図６のＤＢ管理テーブル４４からＤＢ名「県民ＤＢ」、「軽自動車登録者ＤＢ」、「介護者ＤＢ」等を取得する。そして、帳票生成部３２は、取得したＤＢ名のうちの１つを選択可能な選択画面（不図示）を生成して、当該選択画面のデータを利用者端末５０の表示処理部５４に対して送信する。表示処理部５４は、受信したデータに基づいて、帳票生成部３２により生成された選択画面を表示部１９３上に表示する。
【００２８】
次いで、ステップＳ１２では、帳票生成部３２が、ユーザによって選択画面上のＤＢが１つ選択されるまで待機する。すなわち、ユーザが入力部１９５を介してＤＢの１つを選択したという情報を入力処理部５２から受信した段階で、帳票生成部３２は、ステップＳ１４に移行する。なお、ここでは、ユーザによって「県民ＤＢ」が選択されたものとする。
【００２９】
ステップＳ１４に移行すると、帳票生成部３２は、ＤＢ管理テーブル４４から、選択されたＤＢ（県民ＤＢ）のフィールド名（項目名）を取得する。帳票生成部３２は、ＤＢ管理テーブル４４を参照し、県民ＤＢに含まれるフィールド名（県民ＩＤ、氏名、住所、性別、生年月日、年齢）を取得する。
【００３０】
次いで、ステップＳ１６では、帳票生成部３２が、取得したフィールド名（項目名）をフィールド名（項目名）一覧に含めた帳票作成画面（図１５（ａ））を生成し、当該画面のデータを利用者端末５０の表示処理部５４に送信する。表示処理部５４は、受信した画面のデータに基づいて帳票作成画面（図１５（ａ））を表示部１９３上に表示する。なお、帳票作成画面には、フィールド名（項目名）一覧のほか、帳票作成領域（宛名枠）、「表示」ボタンが設けられている。
【００３１】
次いで、ステップＳ１８では、帳票生成部３２は、フォント別所定距離管理ＤＢ４２（図５）から、デフォルトフラグが１のＹ軸所定距離を取得する。図５の場合、帳票生成部３２は、Ｙ軸所定距離として「１２ピクセル」を取得する。
【００３２】
次いで、ステップＳ２０では、帳票生成部３２が、フィールド名（項目名）が帳票作成領域内に配置されたか否かを判断する。この場合、ユーザが、入力部１９５を介して、図１５（ｂ）のように項目名（例えば、住所）を帳票作成領域内にドラッグアンドドロップしたという情報が入力処理部５２から帳票生成部３２に入力された場合に、ステップＳ２０の判断は肯定される。ステップＳ２０の判断が肯定されると、帳票生成部３２は、ステップＳ２２に移行する。一方、ステップＳ２０の判断が否定された場合には、帳票生成部３２は、図１１のステップＳ５８に移行する。なお、本実施形態では、ユーザが、帳票として、封筒に貼り付けるための宛名を作成するものとする。したがって、以下においては帳票作成領域を「宛名枠」とも呼ぶものとする。
【００３３】
ステップＳ２０の判断が肯定され、ステップＳ２２に移行すると、帳票生成部３２は、ドラッグアンドドロップされたフィールド（項目）の宛名枠内における左上座標を取得する。ここでは、左上座標が（Ｘ１，Ｙ１）であったとする。なお、左上座標は、貼り付けたフィールド（項目）及びフィールド（項目）の具体値（フィールド値）の表示始点位置を意味する。
【００３４】
次いで、ステップＳ２４では、帳票生成部３２が、取得した左上座標より上側のＹ軸所定距離（１２ピクセル）内に、他のフィールドが貼り付けられているか判別する。この場合、帳票生成部３２は、帳票定義ＤＢ４６（図７（ａ））及びフィールド配置管理ＤＢ４８（図７（ｂ））を参照する。
【００３５】
次いで、ステップＳ３０では、帳票生成部３２が、Ｙ軸所定距離（１２ピクセル）内に、他フィールドが貼り付けられているか否かを判断する。例えば、図１５（ｂ）のように、１つ目のフィールドが貼り付けられた段階では、帳票定義ＤＢ４６もフィールド配置管理ＤＢ４８も空であるので、ステップＳ３０の判断は否定され、ステップＳ４２に移行する。
【００３６】
ステップＳ４２に移行すると、帳票生成部３２は、帳票定義ＤＢ４６（図７（ａ））に、対象ＤＢ、貼り付け項目、フォントサイズ、フィールド領域横幅サイズ、配置調整対象のフラグを記録する。なお、帳票定義ＤＢ４６の「フィールド領域横幅サイズ」は、フィールドごとに予め定められた値であるものとする。また、「配置調整対象」には、配置調整対象ではないことを意味するフラグ「０」が記録される。
【００３７】
次いで、図１１のステップＳ５０では、フィールド配置ワーク（図８（ｂ））にデータが存在するか否かを判断する。ここでは、フィールド配置ワークにはデータが存在していないので、ステップＳ５０の判断は否定され、ステップＳ５６に移行する。
【００３８】
ステップＳ５６に移行すると、帳票生成部３２は、フィールド配置管理ＤＢ４８（図７（ｂ））に、フィールドの配置座標情報（左上座標）を記録する。ここでは、図７（ｂ）の「住所」の左上座標（Ｘ１，Ｙ１）がフィールド配置管理ＤＢ４８に記録される。
【００３９】
次いで、ステップＳ５８では、帳票生成部３２が、「表示」ボタンが押下されたか否かを判断する。このステップＳ５８の判断が否定された場合、図９のステップＳ２０に戻る。
【００４０】
ステップＳ２０に戻ると、帳票生成部３２は、新たなフィールド名が帳票作成領域（宛名枠）内に配置されたか否かを判断する。このステップＳ２０の判断が肯定された場合（例えば、図１６（ａ）に示すように、住所のフィールドの下側に氏名のフィールドが配置された場合）、帳票生成部３２は、ステップＳ２２に移行する。
【００４１】
ステップＳ２２に移行すると、帳票生成部３２は、新たに貼り付けられたフィールド（項目）の左上座標を取得する。ここでは、左上座標が（Ｘ０、Ｙ０）であったとする。
【００４２】
次いで、ステップＳ２４では、帳票生成部３２は、取得した左上座標（Ｘ０、Ｙ０）より上側のＹ軸所定距離（１２ピクセル）内に、他のフィールドが貼り付けられているか判別する。なお、ステップＳ２４では、各フィールドの左上座標のＹ座標の差分（Ｙ０−Ｙ１）が１２ピクセル以下であるか否かにより、判別を行うこととしてもよい。あるいは、図７（ａ）の帳票定義ＤＢ４６で定義されているフォントサイズを更に加味して判別を行うこととしてもよい。
【００４３】
次いで、ステップＳ３０では、帳票生成部３２は、Ｙ軸所定距離内に、他フィールドが貼り付けられているか否かを判断する。ここでは、ステップＳ３０の判断が肯定された場合について説明する。
【００４４】
ステップＳ３０の判断が肯定されて、ステップＳ３２に移行すると、帳票生成部３２は、行数取得サブルーチンを実行する。具体的には、ステップＳ３２では、帳票生成部３２は、図１２のフローチャートに沿った処理を実行する。
【００４５】
図１２の処理では、まず、ステップＳ１０２において、帳票生成部３２が、帳票定義ＤＢ４６より、Ｙ軸所定距離内に存在する（上側に存在する）フィールドのフォントサイズとフィールド領域横幅サイズを取得する。この場合、フォントサイズ「１６」ポイントと、フィールド領域横幅サイズ「１５」ｃｍとを取得する。なお、この説明では、フィールド領域横幅サイズとしてｃｍ（センチメートル）を単位とする値が格納された例を示している。
【００４６】
次いで、ステップＳ１０４では、帳票生成部３２が、上側に存在するフィールドのフォントサイズとフィールド領域横幅サイズより、１行に表示できる文字数（１行あたりの表示可能文字数）を算出する。
【００４７】
次いで、ステップＳ１０６では、帳票生成部３２が、検索対象ＤＢ群４０（ここでは、県民ＤＢ（図４））より、上側に存在するフィールド（住所）の最も長い文字列長を取得する。次いで、ステップＳ１０８では、帳票生成部３２が、最も長い文字列長と、１行あたりの表示可能文字数から、最大行数を算出する。ここでは、一例として、最大行数が「３」であったものとする。
【００４８】
次いで、ステップＳ１１０では、帳票生成部３２が、最大行数が２以上か否かを判断する。ここでの判断が否定された場合（１であった場合）には、そのまま、図１２の処理を終了して、図１０のステップＳ３４に移行する。一方、ステップＳ１１０の判断が肯定された場合には、ステップＳ１１２に移行する。
【００４９】
ステップＳ１１２に移行すると、帳票生成部３２は、フィールド別最大行数管理ワーク（図８（ａ））に、上側に存在するフィールド名と最大行数を記録する。ここでは、図８（ａ）に示すように、フィールド名「住所」と最大行数「３」が記録される。その後は、図１０のステップＳ３４に移行する。
【００５０】
ステップＳ３４に移行すると、帳票生成部３２は、フィールド別最大行数管理ワーク（図８（ａ））に、Ｙ軸所定距離内に存在した他フィールドのデータが存在するか否かを判断する。このステップＳ３４の判断が否定された場合には、ステップＳ４２に移行するが、肯定された場合には、ステップＳ３６に移行する。ステップＳ３６に移行すると、帳票生成部３２は、図１６（ｂ）に示す確認画面を生成し、当該画面のデータを表示処理部５４に送信する。この場合、表示処理部５４は、受信したデータに基づいて、図１６（ｂ）に示すような確認画面を表示部１９３上に表示する。なお、図１６（ｂ）の確認画面には、住所の行数に応じて氏名の表示位置を変更するか否かを確認するメッセージが表示されており、「はい」ボタン及び「いいえ」ボタンが設けられている。
【００５１】
ステップＳ３８では、帳票生成部３２が、ユーザによって「はい」ボタンが押下されたか否かを判断する。このステップＳ３８の判断が否定された場合、すなわちユーザによって「いいえ」ボタンが押下された場合には、ステップＳ４２に移行するが、ステップＳ３８の判断が肯定された場合には、ステップＳ４０に移行する。
【００５２】
ステップＳ３８の判断が肯定され、ステップＳ４０に移行すると、帳票生成部３２は、行別位置設定サブルーチンを実行する。このステップＳ４０においては、具体的には、帳票生成部３２は、図１３のフローチャートに沿った処理を実行する。
【００５３】
図１３の処理では、まず、ステップＳ１２０において、帳票生成部３２は、フィールド別最大行数管理ワーク（図８（ａ））より、Ｙ軸所定距離内に存在したフィールドの最大行数を取得する。ここでは、帳票生成部３２は、図８（ａ）より、最大行数「３」を取得する。
【００５４】
次いで、ステップＳ１２２では、帳票生成部３２が、所定距離内に存在したフィールドの値がＮ行（１行とする）の場合の配置場所指定を指示する画面（図１７（ａ）の指示画面参照）を生成し、当該画面のデータを表示処理部５４に送信する。この場合、表示処理部５４は、受信したデータに基づいて、図１７（ａ）に示すような画面を表示部１９３上に表示する。
【００５５】
次いで、ステップＳ１２４では、帳票生成部３２が、フィールドの配置位置が設定されるまで待機する。すなわち、ユーザが、図１７（ｂ）に示すように、氏名の配置位置をクリック等して設定を行ったことが、入力処理部５２から入力された段階で、帳票生成部３２は、ステップＳ１２６に移行する。
【００５６】
ステップＳ１２６に移行すると、帳票生成部３２が、フィールド配置ワーク（図８（ｂ））の行数（１行）に対応させて、ステップＳ１２４で設定された左上座標（例えば、（Ｘ２，Ｙ２））を記録する。
【００５７】
次いで、ステップＳ１２８では、帳票生成部３２が、最大行数（３行）まで設定されたか否かを判断する。ここでは、まだ最大行数まで設定されていないので、ステップＳ１２８の判断は否定され、ステップＳ１２２に戻る。なお、ステップＳ１２２に戻る際には、行数を示す値Ｎを１インクリメント（Ｎ←Ｎ＋１）する。その後は、帳票生成部３２は、ステップＳ１２２において、２行の場合の配置場所指定を指示する画面（図１８（ａ））を表示する。そして、帳票生成部３２は、ユーザによって配置位置が設定された場合（図１８（ｂ）参照）に、ステップＳ１２６において、配置位置が設定されたフィールドの左上座標（例えば、（Ｘ３，Ｙ３））をフィールド配置ワークの行数（２行）に対応させて記録する。更に、帳票生成部３２は、ステップＳ１２２において、３行の場合の配置場所指定を指示する画面（図１９（ａ））を表示する。そして、帳票生成部３２は、ユーザによって配置位置が設定された場合（図１９（ｂ）参照）に、ステップＳ１２６において、配置位置が設定されたフィールドの左上座標（例えば、（Ｘ４，Ｙ４））をフィールド配置ワークの行数（３行）に対応させて記録する。
【００５８】
以上の処理を経て、ステップＳ１２８の判断が肯定されると、帳票生成部３２は、図１０のステップＳ４２の処理に移行する。なお、ステップＳ４０の処理が行われることで、住所のフィールドと氏名のフィールドとの間のマージン幅として、住所のフィールドの行数に応じて異なるマージン幅が設定されることになる。例えば、図１７（ｂ）のマージン幅Ｌ１と、図１８（ｂ）のマージン幅Ｌ２と、図１９（ｂ）のマージン幅Ｌ３とは、異なるマージン幅であり、一例として、Ｌ１＞Ｌ２＞Ｌ３となっている。
【００５９】
図１０のステップＳ４２では、帳票生成部３２は、帳票定義ＤＢ４６（図７（ａ））に、対象ＤＢ、貼り付け項目、フォントサイズ、フィールド領域横幅サイズ、配置調整対象のフラグを記録する。この場合、図７（ａ）の「氏名」のフィールドに関する情報が記録されることになる。なお、帳票生成部３２は、図８（ｂ）に「氏名」のフィールドに関する情報が格納されていることに基づき、「配置調整対象」のフラグとして「１」を記録する。
【００６０】
次いで、図１１のステップＳ５０では、フィールド配置ワーク（図８（ｂ））にデータが存在するか否かを判断する。ここでは、フィールド配置ワークにはデータが存在しているので、ステップＳ５０の判断は肯定され、ステップＳ５２に移行する。
【００６１】
ステップＳ５２に移行すると、帳票生成部３２は、フィールド配置ワーク（図８（ｂ））から、フィールド配置管理ＤＢ４８（図７（ｂ））にフィールドの配置座標情報を記録する。具体的には、図８（ｂ）の情報を、図７（ｂ）の貼り付けフィールド名「氏名」の欄に複写する。
【００６２】
次いで、ステップＳ５４では、帳票生成部３２は、図８（ａ）、図８（ｂ）のワークのデータをクリア（全消去）する。
【００６３】
次いで、ステップＳ５８では、帳票生成部３２が、「表示」ボタンが押下されたか否かを判断する。このステップＳ５８の判断が否定された場合には、ステップＳ２０に戻り、上述したステップＳ２０〜Ｓ５６の処理判断を繰り返すが、ステップＳ５８の判断が肯定された場合には、ステップＳ６０に移行する。
【００６４】
ステップＳ６０においては、出力部３４が、表示処理サブルーチンを実行する。具体的には、ステップＳ６０では、出力部３４は、図１４のフローチャートに沿った処理を実行する。
【００６５】
図１４の処理では、まずステップＳ１４０において、出力部３４が、帳票定義ＤＢ４６（図７（ａ））より、貼り付け対象ＤＢ名、貼り付けフィールド名、フィールド領域横幅サイズを取得する。
【００６６】
次いで、ステップＳ１４２では、出力部３４が、フィールド配置管理ＤＢ４８（図７（ｂ））より、左上座標を取得する。
【００６７】
次いで、ステップＳ１４４では、出力部３４が、検索対象ＤＢ群４０（県民ＤＢ）から、帳票定義ＤＢ４６にある貼り付けフィールド名の実際の値（具体値）を１つ（１レコード分）取得する。
【００６８】
次いで、ステップＳ１４８では、出力部３４が、Ｍ個目の貼り付けフィールドは、配置調整対象か否かを判断する。ここでは、出力部３４は、Ｍ＝１個目の貼り付けフィールドが配置調整対象か否かを、帳票定義ＤＢ４６の配置調整対象フラグに基づいて判断する。ここでは、配置調整対象フラグが「０」であり、配置調整対象ではないので、ステップＳ１４８の判断は否定され、ステップＳ１６０に移行する。
【００６９】
ステップＳ１６０に移行すると、出力部３４は、フィールド配置管理ＤＢ４８にある左上座標に、取得した文字列（住所の具体値）を配置する。次いで、ステップＳ１６２では、出力部３４が、次の貼り付けフィールドがあるか否かを判断する。ここでの判断が肯定された場合には、ステップＳ１４８に戻る。なお、ステップＳ１４８に戻る場合、Ｍを１インクリメント（Ｍ←Ｍ＋１）する。
【００７０】
ステップＳ１４８では、２個目の貼り付けフィールドが配置調整対象か否かを判断する。ここでは、出力部３４は、Ｍ＝２個目の貼り付けフィールドが配置調整対象か否かを、帳票定義ＤＢ４６の配置調整対象フラグに基づいて判断する。ここでは、配置調整対象フラグが「１」であり、配置調整対象であるので、ステップＳ１４８の判断は肯定され、ステップＳ１５０に移行する。
【００７１】
ステップＳ１５０に移行すると、出力部３４は、関連するフィールド（上側に存在するフィールド）の具体値の文字数を取得する。
【００７２】
次いで、ステップＳ１５２では、出力部３４が、関連するフィールド（上側に存在するフィールド）のフォントとフィールド領域横幅サイズより、具体値の文字数に対応する行数を算出する。なお、出力部３４は、ステップＳ１５０、Ｓ１５２の処理を行わずに、前述したステップＳ１６０において配置された住所の具体値の行数を取得することとしてもよい。
【００７３】
次いで、ステップＳ１５４では、出力部３４が、算出した行数に対応する左上座標を、フィールド配置管理ＤＢ４８から取得する。例えば、上側に存在するフィールド（「住所」のフィールド）が１行であれば、左上座標として（Ｘ２，Ｙ２）を取得する。また、例えば、「住所」のフィールドが２行であれば、左上座標として（Ｘ３，Ｙ３）を取得し、「住所」のフィールドが３行であれば、左上座標として（Ｘ４，Ｙ４）を取得する。
【００７４】
次いで、ステップＳ１６０では、出力部３４が、取得した左上座標に取得した文字列（氏名の具体値）を配置する。次いで、ステップＳ１６２では、出力部３４が、次の貼り付けフィールドがあるか否かを判断する。このステップＳ１６２の判断が否定された場合には、出力部３４は、ステップＳ１６４に移行し、文字列が配置された帳票画面のデータを利用者端末５０の表示処理部５４に送信する。表示処理部５４は、受信したデータに基づいて表示部１９３上に帳票画面を表示する。
【００７５】
次いで、ステップＳ１６６では、出力部３４は、「次へ」ボタンが押されたか否かを判断する。このステップＳ１６６の判断が肯定された場合には、ステップＳ１４４に戻り、出力部３４は、次の県民ＩＤのデータ（次のレコード）に基づいて、次の帳票画面を表示する。一方、ステップＳ１６６の判断が否定された場合には、ステップＳ１６８に戻り、出力部３４は、ユーザによって「終了」ボタンが押されたか否かを判断する。このステップＳ１６８の判断が否定された場合には、ステップＳ１６６に戻るが、肯定された場合には、図１４の全処理を終了して、図１１のステップＳ６２に移行する。ステップＳ６２に移行した場合、帳票生成部３２は、終了か否かを判断する。このステップＳ６２の判断が肯定された場合、すなわち、ユーザにより「終了」ボタンが押された場合には、図９〜図１１の全処理を終了する。
【００７６】
ここで、帳票画面においては、「住所」のフィールドが１行であれば、図２０（ａ）に示すような間隔（マージン幅）で住所と氏名がバランスよく配置される。また、「住所」のフィールドが２行であれば、図２０（ｂ）に示すような間隔（マージン幅）で住所と氏名がバランスよく配置される。また、「住所」のフィールドが３行であれば、図２０（ｃ）に示すような間隔（マージン幅）で住所と氏名がバランスよく配置される。
【００７７】
なお、表示処理サブルーチン（Ｓ６０）が実行されている間に、ユーザによって所定の印刷コマンドが入力された場合には、出力部３４は、帳票画面に表示されている帳票のデータをプリンタ７０に出力する。この場合、プリンタ７０が紙媒体にプリントアウトする。なお、ユーザによって複数の帳票を印刷する旨の指示があった場合には、出力部３４は、指定された複数の帳票のデータを生成し、生成したデータをプリンタ７０に出力する。
【００７８】
なお、これまでの説明から分かるように、帳票生成部３２により、表示対象とするフィールドの指定を受け付ける受付部、上側のフィールドの具体値のデータ量を特定する特定部、特定したデータ量に応じて、２つのフィールド間のマージン幅を異なる幅に設定を可能とする設定部、としての機能が実現されている。
【００７９】
以上、詳細に説明したように、本実施形態によると、表示対象とする２つのフィールド（「住所」と「氏名」のフィールド）が貼り付けられた場合に、上側に存在する「住所」のフィールドの具体値の行数を算出し（Ｓ３２）、行数に応じて、「住所」のフィールドと「氏名」のフィールドの間のマージン幅を設定可能とし（Ｓ４０）、「住所」の具体値と「氏名」の具体値とを、設定したマージン幅で表示する（Ｓ６０）。これにより、住所の行数に応じて氏名をバランスよく配置することができる。
【００８０】
ここで、図２１（ａ）〜図２１（ｃ）には、上側に存在するフィールドの行数にかかわらず、２つのフィールド間のマージン幅を一定に設定した場合の例（比較例）が示されている。図２１（ａ）〜図２１（ｃ）に示すように、マージン幅を一定にすることで、上側に存在するフィールドの行数によってバランスが悪くなる場合がある（特に、図２１（ｃ）参照）。これに対し、本実施形態では、図２０（ａ）〜図２０（ｃ）に示すように、上側のフィールドの行数に応じてマージン幅を異ならせることで、上側に存在する行数にかかわらず、見栄え良く住所と氏名を表示することができる。
【００８１】
また、本実施形態によると、帳票生成部３２は、「住所」のフィールドの具体値を記憶する県民ＤＢを参照して、当該具体値を表示する際の必要行数を算出し、算出した必要行数ごとに「氏名」のフィールドの配置位置をユーザに設定させるための画面（図１７（ａ）、図１８（ａ）、図１９（ａ））を表示し、各画面においてユーザにより設定された「氏名」のフィールドの位置を行数と関連付けてフィールド配置管理ＤＢ４８に記憶する。そして、出力部３４は、フィールド配置管理ＤＢ４８を参照して、帳票を表示する。これにより、バランスのよい帳票をユーザに作成させることができる。
【００８２】
また、本実施形態では、ユーザが、「住所」のフィールドに対してＹ軸所定距離内に「氏名」のフィールドを貼り付けた場合に、帳票生成部３２は、マージン幅を行数ごとに調整することとした（ステップＳ３０）。これにより、２つのフィールドの貼り付け位置が近く、上側のフィールドの行数によってバランスが悪くなるおそれがある場合に、マージン幅を行数ごとに調整するようにすることができる。
【００８３】
なお、上記実施形態では、ユーザに「氏名」のフィールドの配置位置を設定させる場合について説明したが、これに限られるものではない。例えば、予め、上方向に存在するフィールドの行数ごとにフィールド間のマージン幅を定めておいてもよい。
【００８４】
なお、上記実施形態では、フィールドが上下に貼り付けられた場合を例に説明したが、これに限られるものではない。例えば、フィールドが左右に貼り付けられた場合に、２つのフィールド間のマージン幅（左右の間隔）を一方のフィールドの具体値のデータ量（例えば文字数）に基づいて、異なるマージン幅に設定するようにしてもよい。この場合、ステップＳ３２〜Ｓ４０の処理を省略することができる。
【００８５】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体（ただし、搬送波は除く）に記録しておくことができる。
【００８６】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００８７】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００８８】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【００８９】
なお、以上の実施形態の説明に関して、更に以下の付記を開示する。
（付記１）  表示対象とする第１の項目と第２の項目の指定を受け付け、
前記第１の項目の具体値のデータ量を特定し、
前記データ量に応じて、前記第１の項目と前記第２の項目との間のマージン幅を異なる幅に設定し、
前記第１の項目の具体値と前記第２の項目の具体値とを、設定したマージン幅で表示する、
処理をコンピュータに実行させることを特徴とする表示プログラム。
（付記２）  前記受け付ける処理では、前記第１の項目と前記第２の項目の配置位置の指定を受け付け、
前記第１の項目と前記第２の項目の配置位置が所定の距離内にある場合に、前記特定する処理を前記コンピュータに実行させることを特徴とする付記１に記載の表示プログラム。
（付記３）  前記設定する処理では、前記第１の項目の具体値の行数に基づいて、前記第１の項目と前記第２の項目の上下方向のマージン幅を設定することを特徴とする付記１又は２に記載の表示プログラム。
（付記４）  前記第１の項目の具体値となりうる値を参照して、前記第１の項目の具体値となりうる値を表示する際の必要行数を特定し、特定した前記必要行数ごとに前記マージン幅をユーザに設定させるための画面を表示し、
前記画面において設定されたマージン幅を行数と関連付けて記憶部に記憶する、処理を前記コンピュータに更に実行させ、
前記設定する処理では、前記記憶部を参照して、前記マージン幅を設定する、ことを特徴とする付記３に記載の表示プログラム。
（付記５）  表示対象とする第１の項目と第２の項目の指定を受け付け、
前記第１の項目の具体値のデータ量を特定し、
前記データ量に応じて、前記第１の項目と前記第２の項目との間のマージン幅を異なる幅に設定し、
前記第１の項目の具体値と前記第２の項目の具体値とを、設定したマージン幅で表示する、処理をコンピュータが実行することを特徴とする表示方法。
（付記６）  前記受け付ける処理では、前記第１の項目と前記第２の項目の配置位置の指定を受け付け、
前記第１の項目と前記第２の項目の配置位置が所定の距離内にある場合に、前記特定する処理を前記コンピュータが実行することを特徴とする付記５に記載の表示方法。
（付記７）  前記設定する処理では、前記第１の項目の具体値の行数に基づいて、前記第１の項目と前記第２の項目の上下方向のマージン幅を設定することを特徴とする付記５又は６に記載の表示方法。
（付記８）  前記第１の項目の具体値となりうる値を参照して、前記第１の項目の具体値となりうる値を表示する際の必要行数を特定し、特定した前記必要行数ごとに前記マージン幅をユーザに設定させるための画面を表示し、
前記画面において設定されたマージン幅を行数と関連付けて記憶部に記憶する、処理を前記コンピュータが更に実行し、
前記設定する処理では、前記記憶部を参照して、前記マージン幅を設定する、ことを特徴とする付記７に記載の表示方法。
（付記９）  表示対象とする第１の項目と第２の項目の指定を受け付ける受付部と、
前記第１の項目の具体値のデータ量を特定する特定部と、
前記データ量に応じて、前記第１の項目と前記第２の項目との間のマージン幅を異なる幅に設定する設定部と、
前記第１の項目の具体値と前記第２の項目の具体値とを、設定したマージン幅で表示する表示部と、
を備える表示装置。
（付記１０）  前記受付部は、前記第１の項目と前記第２の項目の配置位置の指定を受け付け、
前記第１の項目と前記第２の項目の配置位置が所定の距離内にある場合に、前記特定部が処理を実行することを特徴とする付記９に記載の表示装置。
（付記１１）  前記設定部は、前記第１の項目の具体値の行数に基づいて、前記第１の項目と前記第２の項目の上下方向のマージン幅を設定することを特徴とする付記９又は１０に記載の表示装置。
（付記１２）  前記第１の項目の具体値となりうる値を参照して、前記第１の項目の具体値となりうる値を表示する際の必要行数を特定し、特定した前記必要行数ごとに前記マージン幅をユーザに設定させるための画面を表示する画面表示部と、  
前記画面において設定されたマージン幅を行数と関連付けて記憶部に記憶する記憶制御部と、を更に備え、
前記設定部は、前記記憶部を参照して、前記マージン幅を設定する、ことを特徴とする付記１１に記載の表示装置。
【符号の説明】
【００９０】
１０  サーバ（表示装置）
３２  帳票生成部（受付部、特定部、設定部、記憶制御部）
３４  出力部（表示部、画面表示部）
４８  フィールド配置管理ＤＢ（記憶部）
【図１】
0006464862.tif 000002
【図２】
0006464862.tif 000003
【図３】
0006464862.tif 000004
【図４】
0006464862.tif 000005
【図５】
0006464862.tif 000006
【図６】
0006464862.tif 000007
【図７】
0006464862.tif 000008
【図８】
0006464862.tif 000009
【図９】
0006464862.tif 000010
【図１０】
0006464862.tif 000011
【図１１】
0006464862.tif 000012
【図１２】
0006464862.tif 000013
【図１３】
0006464862.tif 000014
【図１４】
0006464862.tif 000015
【図１５】
0006464862.tif 000016
【図１６】
0006464862.tif 000017
【図１７】
0006464862.tif 000018
【図１８】
0006464862.tif 000019
【図１９】
0006464862.tif 000020
【図２０】
0006464862.tif 000021
【図２１】
0006464862.tif 000022