(57)【要約】【発明が解決しょうとする課題】データベースの複数のテーブルを親子関係で連結し、表計算ソフトへ書き出すソフトウェアの従来の構成では、子テーブルが１つの場合では十分な成果を発揮する。しかし、子テーブルの数が複数になると、書式が崩れるなど意図どおりの表計算ソフトへの書き出せない。【解決手段】書き出しに使われるテーブル毎にテーブルの１レコードの書き出し範囲の行をコピーするかしないかの指定を行える構成とし、各テーブルのレコードの書き出し時に指定どおりの行コピーを行うものである。【特許請求の範囲】
【請求項１】
データベースの複数のテーブルを表計算ソフトに書き出すソフトウェアに於いて、
表計算ソフトに各テーブルの１レコードの書式を作成したテンプレート・シートを用意し、各テーブルの１レコードの書き込み範囲を指定し、且つ、２件目以降のレコードの書き出し時にコピーするか否かの指定し、各テーブルのフィールドに対しテンプレート・シート上の何処に書き出すかのセル位置を指定し、
この時セル位置の重なりを検出し重ねた側を子テーブルとし重ねられた側を親テーブルとし複数のテーブルに親子関係で結びつけて、データベースのデータを表計算ソフトに書き出すソフトウェア。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データベースのデータを表計算ソフトに書き出すソフトウェアに関連し、特に、データベースの複数のテーブルを親子関係で関連付けて表計算ソフトに書き出す時の方法に関連する。
【０００２】
【従来の技術】
本発明は、データベースのデータを表計算ソフトに書き出すソフトウェアに関連し、特に、データベースの複数のテーブルを親子関係で関連付けて表計算ソフトに書き出す時の方法に関連するソフトウェアに株式会社マイクロラボの製品にＸｃｕｔｅがある。
【０００３】
Ｘｃｕｔｅでは、従来より、図１のデータを元に、テーブルを親子の関係で連結し図２のように製品名別に整理することは、西暦２０００年から可能であった。
【０００４】
この従来の技術の骨格は、図３のひな型（テンプレート）シートを表計算ソフトに作成し、図４と図５のようにデータベースのテーブルを２つ接続し各テーブルのフィールドを表計算ソフトに書き出すセル位置を指定し、セル位置の重なりから重ねられた側を親テーブルとし重ねた側を子テーブルと認識し、
図６と図７のように親テーブルおよび子テーブルの１レコードの表計算ソフトへの書き出し範囲を指定するものであった。
また、各テーブルの２件目以降の書き出し時に、行コピーを行うかどうかの設定は、各テーブルで共通に指定していた。
この指定で親テーブルの方を前面にして表計算ソフトへの書き出しコマンドを実行すると、まずひな型シートを作業用シートにコピーし、親テーブルの１件目をコピーされたシートに書き出す。つぎに。子テーブルは親テーブルで関連付けられ（銘柄フィールドで絞りこまれる）１件目が書き出される。
子テーブルの２件目は、ひな型シートからコピーされた作業シートに子テーブルの書き出し範囲を行コピーした後に、書き出される。親テーブルに関連付けられた子テーブルの書き出しが終了すると、親テーブルの２件目の書き出しが開始される。親テーブルの２件目以降の書き出しは、親テーブルの書き出し範囲を行コピーした後に、書き出される。
この従来の構成でも、親テーブルと子テーブルの書き出し方式は同一となりソフトウェアの構成上優れたものと言える。
【０００５】
【発明が解決しょうとする課題】
従来の構成では、子テーブルが１つの場合では十分な成果を発揮する。しかし、子テーブルの数が複数になると、意図どおりの表計算ソフトへの書き出しはうまく成立しない。
この構成のソフトウェアでは、表計算ソフトを利用することを前提としており、表計算ソフトの利用者に馴染みやすい表現形式に対応することは重要であり、表計算ソフトの利用者は、図８の表現形式を好む。
この時のデータベースのテーブルは、図９に示すように、件名と年度と月毎にその月の金額が整理されているものである。
従来の構成では、図１０に示すように親１件目までは正しく表現されるが、親２件目以降はひな型シートの設定が反映されないなどの、微妙な不具合が発生する。また、図１１では、子テーブルがバラバラに表示される。
【０００６】
本発明は、このような従来の構成が抱える問題を解決しようとするものであり、複数の子テーブルを接続するケースにもデータベースのデータを表計算ソフトに矛盾無く書き出すことを目的とするものである。
【０００７】
【課題を解決するための手段】
本発明は上記の目的を達成するために、書き出しに使われるテーブル毎にテーブルの１レコードの書き出し範囲の行をコピーするかしないかの指定を行える構成とし、各テーブルのレコードの書き出し時に指定どおりの行コピーを行うものである。
【０００８】
【発明の実施の形態】
本発明の実施の形態の説明に当たって、データベースに格納されるデータは図９を使い、従来の構成では不具合が生じた図１０の書き出し結果が、正しく書き出されることを説明する。
【０００９】
まず、年度である親テーブルの１レコードに対して、５行以内の子テーブルデータが収まるような図１２のひな型シート（テンプレート）を作成する。つぎに、図１３に示すようにＣｈｉｌｌｄＲｅｐｏｒｔという書き出し項目に対して、図９のデータから年度を抽出したテーブル（ＳＱＬ＿ＭｏｎｔｈＴｂｌ＿Ｙａｅｒ）を接続する。つぎに、４月のレコードを抽出したテーブル（ＳＱＬ＿ＭｏｎｔｈＴｂｌ４）を接続する。同様に５月から翌年３月までのテーブルを接続する。これらのテーブルの各フィールドが、Ｅｘｃｅｌのひな型の何処に書き出すかのセル位置の設定をおこなう。ＳＱＬ＿ＭｏｎｔｈＴｂｌ＿Ｙａｅｒテーブルでは、ｍＹｅａｒの年度データはＲ６Ｃ９セルに対応付けられる。ＳＱＬ＿ＭｏｎｔｈＴｂｌ４テーブルは、ひな型シートの８行目に書き出され、ｍＴｉｔｌｅはＲ８Ｃ１５にｍＭｏｎｅｙはＲ８Ｃ１６のセルに書き出される。
ｍＹｅａｒは、先のＳＱＬ＿ＭｏｎｔｈＴｂｌ＿Ｙａｅｒテーブルと同じセル位置Ｒ６Ｃ９を設定する。親から子の順で、セル位置の設定を行うと、セル位置の重なりを検知しリンク欄をＹｅｓとし、ＳＱＬ＿ＭｏｎｔｈＴｂｌ＿Ｙａｅｒテーブルは親でＳＱＬ＿ＭｏｎｔｈＴｂｌ４は子テーブルと認識される。同様に、同様に５月から翌年３月までのテーブルにセル位置を設定する。
ｍＹｅａｒは、先のＳＱＬ＿ＭｏｎｔｈＴｂｌ＿Ｙａｅｒテーブルと同じセル位置Ｒ６Ｃ９を設定する。親から子の順で、セル位置の設定を行うと、セル位置の重なりを検知しリンク欄をＹｅｓとし、ＳＱＬ＿ＭｏｎｔｈＴｂｌ＿Ｙａｅｒテーブルは親でＳＱＬ＿ＭｏｎｔｈＴｂｌ４は子テーブルと認識される。同様に、同様に５月から翌年３月までのテーブルにセル位置を設定する。
【００１０】
つぎに、図１５で、親テーブルＳＱＬ＿ＭｏｎｔｈＴｂｌ＿Ｙａｅｒの書き出し範囲の指定をＲ６Ｃ１：Ｒ１３Ｃ２７とし７行分指定する。つぎにこのテーブルが２件目以降のデータを書き出すときに行コピーを行う指定を行う。
つぎに、図１６で、子テーブルＳＱＬ＿ＭｏｎｔｈＴｂｌ４の書き出し範囲の指定をＲ８Ｃ１：Ｒ８Ｃ２７とし１行分指定する。つぎにこのテーブルが２件目以降のデータを書き出すときに行コピーを行わない指定を行う。同様に５月から翌年３月までの子テーブルに書き出し範囲と行コピーを行わない指定を行う。
【００１１】
上記の設定で書き出しを行うと、まず、ひな型シートがワークシートとしてコピーされる。親テーブルの１件目のレコードがセルＲ６Ｃ９へ２００２が書き出され、つぎに、子テーブルの書き出しに移る。子テーブルＳＱＬ＿ＭｏｎｔｈＴｂｌ４は親テーブルで１件目の２００２で絞り込まれ２００２年分が抽出され、３件のレコードが行コピーを行うことなく書き出される。同様に５月から翌年３月までの子テーブルの書き出しが行われる。
つぎに、親テーブルＳＱＬ＿ＭｏｎｔｈＴｂｌ＿Ｙａｅｒの２件目の書き出しに移り、親テーブルの書き出し範囲の指定の７行分の行コピーを親の１件目下におこなう。その後で、親２件目のデータ２００３を書き出す。子テーブルの書き出しは、親２件目のデータで絞り込まれ、１件目と同じように書き出される。
【００１２】
上記の書き出し結果を図１７に示す。従来の構成の書き出し結果図１０と異なり、図１７では、親テーブルの２件目の行コピーが行われ、正しい書式となっている。
【００１３】
つぎの実施例では、図１８のひな型シートを使い、図１９のに示す」書き出しを行ったものである。図２０で、親テーブルＳＱＬ＿ＭｏｎｔｈＴｂｌ＿Ｙａｅｒの書き出し範囲の指定を４行分指定し、２目以降のデータを書き出すときに行コピーを行う指定を行う。図２１で、最初の子テーブルの書き出し範囲を１行分指定し、２目以降のデータを書き出すときに行コピーを行う指定を行う。図２２は、２番目以降の子テーブルの指定で、書き出し範囲を１行分指定し、２件目以降のデータを書き出すときに行コピーはすでに行コピーは行われているので、行コピーを行わない指定を行う。
【００１４】
【発明の効果】
上述したように本発明の、データベースの複数のテーブルを親子関係で関連付けて表計算ソフトに書き出すソフトウェアでは、子テーブルが２以上あった場合でも、ひな型に指定した書式を正しく反映させ得る。
【図面の簡単な説明】
【図１】親子テーブルの元となるテーブルのレコード一覧
【図２】図１のテーブルから親子テーブルの書き出しを行った図
【図３】図１の書き出しに使われたひな型シート（テンプレート）
【図４】図１の書き出しを行うソフトウェアに親テーブルを接続した図
【図５】図１の書き出しを行うソフトウェアに子テーブルを接続した図
【図６】図１の書き出しを行う時に親テーブルのテンプレートへの書き出し範囲の指定
【図７】図１の書き出しを行う時に子テーブルのテンプレートへの書き出し範囲の指定
【図８】表計算ソフトの利用者が好んで使う月別のシート
【図９】親と複数子テーブルの元となるテーブルのレコード一覧
【図１０】従来の構成では、解決していない書き出しの例
【図１１】従来の構成では、解決していない書き出しの例
【図１２】本発明の実施例のテンプレート
【図１３】本発明の実施例の親テーブルの接続
【図１４】本発明の実施例の子テーブルの接続
【図１５】本発明の親テーブルのテンプレートへの書き出し範囲と行コピーの有無の指定
【図１６】本発明の子テーブルのテンプレートへの書き出し範囲と行コピーの有無の指定
【図１７】本発明の書き出し結果
【図１８】本発明の２番目の実施例のテンプレート
【図１９】本発明の２番目の実施例の書き出し結果
【図２０】本発明の２番目の実施例の親テーブルのテンプレートへの書き出し範囲と行コピーの有無の指定
【図２１】本発明の２番目の実施例の最初の子テーブルのテンプレートへの書き出し範囲と行コピーの有無の指定
【図２２】本発明の２番目の実施例の２番目以降の子テーブルのテンプレートへの書き出し範囲と行コピーの有無の指定
【図１】
2004348697.tif 000002
【図２】
2004348697.tif 000003
【図３】
2004348697.tif 000004
【図４】
2004348697.tif 000005
【図５】
2004348697.tif 000006
【図６】
2004348697.tif 000007
【図７】
2004348697.tif 000008
【図８】
2004348697.tif 000009
【図９】
2004348697.tif 000010
【図１０】
2004348697.tif 000011
【図１１】
2004348697.tif 000012
【図１２】
2004348697.tif 000013
【図１３】
2004348697.tif 000014
【図１４】
2004348697.tif 000015
【図１５】
2004348697.tif 000016
【図１６】
2004348697.tif 000017
【図１７】
2004348697.tif 000018
【図１８】
2004348697.tif 000019
【図１９】
2004348697.tif 000020
【図２０】
2004348697.tif 000021
【図２１】
2004348697.tif 000022
【図２２】
2004348697.tif 000023