IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社オービックビジネスコンサルタントの特許一覧

特許7510269表情報処理装置、表情報処理方法、およびプログラム
<図1>
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図1
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図2
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図3
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図4
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図5
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図6
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図7
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図8
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図9
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図10
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図11
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図12
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図13
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図14
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図15
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図16
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図17
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図18
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図19
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図20
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図21
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図22
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図23
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図24
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図25
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図26
  • 特許-表情報処理装置、表情報処理方法、およびプログラム 図27
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-25
(45)【発行日】2024-07-03
(54)【発明の名称】表情報処理装置、表情報処理方法、およびプログラム
(51)【国際特許分類】
   G06F 16/23 20190101AFI20240626BHJP
【FI】
G06F16/23
【請求項の数】 13
(21)【出願番号】P 2020070228
(22)【出願日】2020-04-09
(65)【公開番号】P2021167997
(43)【公開日】2021-10-21
【審査請求日】2023-03-03
(73)【特許権者】
【識別番号】593089895
【氏名又は名称】株式会社オービックビジネスコンサルタント
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(72)【発明者】
【氏名】和田 成史
(72)【発明者】
【氏名】唐鎌 勝彦
【審査官】早川 学
(56)【参考文献】
【文献】特開2006-268661(JP,A)
【文献】米国特許出願公開第2015/0261794(US,A1)
【文献】特開2016-126489(JP,A)
【文献】特開2010-165319(JP,A)
【文献】特開2002-099561(JP,A)
【文献】特開2018-136939(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
データベースの表を出力する表出力部と、
2以上の行および2以上の列を有するファイルであり、エクセルファイル、csvファイル、tsvファイル、またはテキストファイルであるファイルが、前記表出力部が出力している前記表の上または前記表の近辺にドロップされることにより、前記ファイルを受け付けるファイル受付部と、
前記2以上の行のうちの一の行が有する1以上の各文字列が、前記表の属性名と予め決められた関係にあるか否かを判断する関係判断部と、
前記関係判断部が、予め決められた関係にないと判断された文字列に対応する列と、前記表の属性名との対応付けを促すための出力を行う対応促進部と、
前記対応促進部における出力に応じて、前記文字列に対応する列と前記属性名との対応付けを受け付ける対応受付部と、
前記ファイルの2以上の行のうち、前記表に付加する最初の行である開始行を決定する開始行決定部と、
前記対応受付部が受け付けた対応付けに従って、前記開始行以降の各行に対応するレコードであり、前記文字列に対応する列の1以上のデータを、前記対応付けられた属性名に対応する属性値として有するレコードを取得するレコード取得部とを具備し、
前記開始行決定部は、
一の列が有する2行以上の各データのデータタイプを検知し、当該データタイプを用いて開始行を決定し、
前記表出力部は、
前記レコード取得部が取得したレコードを、前記表に出力する、表情報処理装置。
【請求項2】
表の出力指示を受け付ける出力指示受付部をさらに具備し、
前記表出力部は、
前記出力指示の受け付けに応じて、1以上の属性名を有する表を出力し
前記関係判断部は、
前記ファイルの一の行が有する1以上の各文字列が、前記表出力部が出力した表の属性名と予め決められた関係にあるか否かを判断する請求項1記載の情報処理装置。
【請求項3】
前記対応促進部は、
前記ファイルを表形式の態様で出力し、
前記対応受付部は、
前記出力されたファイルの一の列の指定と、当該列に対応する属性名の指定とを受け付ける請求項1または請求項2記載の表情報処理装置。
【請求項4】
前記対応促進部は、
前記ファイルを用いて、当該ファイルのデータを有する表を含むウィンドウである表ウィンドウを出力し、
前記対応受付部は、
前記表ウィンドウに対する前記対応付けの操作を受け付ける請求項1から請求項3いずれか一項に記載の表情報処理装置。
【請求項5】
前記対応促進部は、
前記対応受付部が前記対応付けの操作を受け付けた後に、前記属性名を前記列の領域に表示する表ウィンドウを出力する請求項4記載の表情報処理装置。
【請求項6】
前記表出力部は、
前記レコード取得部が取得したレコードと、元々存在するレコードとを視覚的に区別可能に表を出力する請求項1から請求項5いずれか一項に記載の表情報処理装置。
【請求項7】
前記予め決められた関係は、前記文字列と前記属性名とが一致する関係である請求項1から請求項6いずれか一項に記載の表情報処理装置。
【請求項8】
前記ファイルのデータが、前記表出力部が出力した前記表の属性値と一致するか否かを判断する一致判断部をさらに具備し、
前記表出力部は、
前記一致判断部が一致すると判断した場合に、前記ファイルの前記データに対応するレコードを用いて、前記表の前記一致する属性値を含むレコードを上書きする、請求項1から請求項いずれか一項に記載の表情報処理装置。
【請求項9】
前記一致判断部は、
前記ファイルのデータが、前記表出力部が出力した前記表のキーとなる属性の属性値と一致するか否かを判断する請求項記載の表情報処理装置。
【請求項10】
属性名を有する1以上の属性定義情報を含む表定義情報が格納される表定義情報格納部をさらに具備し、
前記出力指示に対応する表は、前表定義情報に対応する表である請求項2記載の表情報処理装置。
【請求項11】
前記一の行は、
特定の第一条件に合致する最初の行、または特定の第二条件に合致しない行を除いた最初の行である請求項1から請求項10いずれか一項に記載の表情報処理装置。
【請求項12】
ファイル受付部と、関係判断部と、対応促進部と、対応受付部と、開始行決定部と、レコード取得部と、表出力部とにより実現される表情報処理方法であって、
前記表出力部が、データベースの表を出力する表出力ステップと、前記ファイル受付部が、2以上の行および2以上の列を有するファイルであり、エクセルファイル、csvファイル、tsvファイル、またはテキストファイルであるファイルが、前記表出力部が出力している前記表の上または前記表の近辺にドロップされることにより、前記ファイルを受け付けるファイル受付ステップと、
前記関係判断部が、前記以上の行のうちの一の行が有する1以上の各文字列が、前記表の属性名と予め決められた関係にあるか否かを判断する関係判断ステップと、
前記対応促進部が、前記関係判断ステップにおいて、予め決められた関係にないと判断された文字列に対応する列と、前記表の属性名との対応付けを促すための出力を行う対応促進ステップと、
前記対応受付部が、前記対応促進ステップにおける出力に応じて、前記文字列に対応する列と前記属性名との対応付けを受け付ける対応受付ステップと、
前記開始行決定部が、前記ファイルの2以上の行のうち、前記表に付加する最初の行である開始行を決定する開始行決定ステップと、
前記レコード取得部が、前記対応受付ステップにおいて受け付けた対応付けに従って、前記開始行以降の各行に対応するレコードであり、前記文字列に対応する列の1以上のデータを、前記対応付けられた属性名に対応する属性値として有するレコードを取得するレコード取得ステップとを具備し、
前記開始行決定部が、一の列が有する2行以上の各データのデータタイプを検知し、当該データタイプを用いて開始行を決定し、
前記表出力部が、前記レコード取得ステップにおいて取得されたレコードを、前記表に出力する、表情報処理方法。
【請求項13】
コンピュータを、
データベースの表を出力する表出力部と、2以上の行および2以上の列を有するファイルであり、エクセルファイル、csvファイル、tsvファイル、またはテキストファイルであるファイルが、前記表出力部が出力している前記表の上または前記表の近辺にドロップされることにより、前記ファイルを受け付けるファイル受付部と、
前記2以上の行のうちの一の行が有する1以上の各文字列が、前記表の属性名と予め決められた関係にあるか否かを判断する関係判断部と、
前記関係判断部が、予め決められた関係にないと判断された文字列に対応する列と、前記表の属性名との対応付けを促すための出力を行う対応促進部と、
前記対応促進部における出力に応じて、前記文字列に対応する列と前記属性名との対応付けを受け付ける対応受付部と、
前記ファイルの2以上の行のうち、前記表に付加する最初の行である開始行を決定する開始行決定部と、
前記対応受付部が受け付けた対応付けに従って、前記開始行以降の各行に対応するレコードであり、前記文字列に対応する列の1以上のデータを、前記対応付けられた属性名に対応する属性値として有するレコードを取得するレコード取得部として機能させるためのプログラムであって、
前記開始行決定部は、
一の列が有する2行以上の各データのデータタイプを検知し、当該データタイプを用いて開始行を決定し、
前記表出力部は、
前記レコード取得部が取得したレコードを、前記表に出力するものとして、前記コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表にデータを追加等する表情報処理装置等に関するものである。
【背景技術】
【0002】
従来技術において、予め入力データが全て記述されたシートをシステムにアップロードすることにより、一度の操作で、複数の画面、あるいはデータベースの複数のテーブルにまたがるデータについて必要な全てのデータを一括入力、一括削除、および一括更新することができるデータ入力装置があった(特許文献1)。
【0003】
かかる装置において、更新業務メニューとこの更新業務メニューで必要な入力表の項目名との対照表、および、入力表の項目名とテーブルの項目名との対照表が設定ファイル記憶装置に格納されており、テーブル更新命令作成装置は、設定ファイル記憶装置の対照表を参照して、入力表に対応する各テーブルの項目値にデータシート入出力装置に入力された項目値を代入するためのテーブル更新命令をテーブル毎に作成し、このテーブル更新命令が実行されることにより各テーブルの項目値を一括で更新する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2007-26389号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術においては、表にデータを容易かつ適切に追加できなかった。さらに具体的には、従来技術においては、データを一括入力するためには、入力表の項目名とテーブルの項目名との対照表等が必要であった。また、従来技術においては、入力表の項目名とテーブルの項目名との対照表が誤っている場合、データを一括入力できなかった。
【課題を解決するための手段】
【0006】
本第一の発明の表情報処理装置は、1以上の行および2以上の列を有するファイル、または2以上の行および1以上の列を有するファイルを受け付けるファイル受付部と、1以上の行のうちの一の行が有する1以上の各文字列が、ファイルにより更新される表の属性名と予め決められた関係にあるか否かを判断する関係判断部と、関係判断部が、予め決められた関係にないと判断された文字列に対応する列と、表の属性名との対応付けを促すための出力を行う対応促進部と、対応促進部における出力に応じて、文字列に対応する列と属性名との対応付けを受け付ける対応受付部と、対応受付部が受け付けた対応付けに従って、文字列に対応する列の1以上のデータを、対応付けられた属性名に対応する属性値として有するレコードを取得するレコード取得部と、レコード取得部が取得したレコードを、表に出力する表出力部とを具備する表情報処理装置である。
【0007】
かかる構成により、表にデータを容易に追加できる。さらに具体的には、対照表を準備しなくても、表にデータを容易かつ適切に追加できる。また、上記構成により、データの入力を受け付ける表と、ファイル内の属性の名称とが一致していなくても、表にデータを容易かつ適切に追加できる。
【0008】
また、本第二の発明の情報処理装置は、第一の発明に対して、表の出力指示を受け付ける出力指示受付部をさらに具備し、表出力部は、出力指示の受け付けに応じて、1以上の属性名を有する表を出力し関係判断部は、ファイルの一の行が有する1以上の各文字列が、表出力部が出力した表の属性名と予め決められた関係にあるか否かを判断する情報処理装置である。
【0009】
かかる構成により、表にデータを容易に追加できる。
【0010】
また、本第三の発明の表情報処理装置は、第一または第二の発明に対して、対応促進部は、ファイルを表形式の態様で出力し、対応受付部は、出力されたファイルの一の列の指定と、列に対応する属性名の指定とを受け付ける表情報処理装置である。
【0011】
かかる構成により、簡単な操作により、表にデータを追加できる。
【0012】
また、本第四の発明の表情報処理装置は、第一から第三いずれか1つの発明に対して、対応促進部は、ファイルを用いて、ファイルのデータを有する表を含むウィンドウである表ウィンドウを出力し、対応受付部は、表ウィンドウに対する対応付けの操作を受け付ける表情報処理装置である。
【0013】
かかる構成により、非常に簡単な操作により、表にデータを追加できる。
【0014】
また、本第五の発明の表情報処理装置は、第四の発明に対して、対応促進部は、対応受付部が対応付けの操作を受け付けた後に、属性名を列の領域に表示する表ウィンドウを出力する表情報処理装置である。
【0015】
かかる構成により、非常に簡単な操作により、表にデータを追加できる。
【0016】
また、本第六の発明の表情報処理装置は、第一から第五いずれか1つの発明に対して、表出力部は、レコード取得部が取得したレコードと、元々存在するレコードとを視覚的に区別可能に表を出力する表情報処理装置である。
【0017】
かかる構成により、追加したレコードが容易に把握できる。
【0018】
また、本第七の発明の表情報処理装置は、第一から第六いずれか1つの発明に対して、予め決められた関係は、文字列と属性名とが一致する関係である表情報処理装置である。
【0019】
かかる構成により、表にデータを容易に追加できる。
【0020】
また、本第八の発明の表情報処理装置は、第一から第七いずれか1つの発明に対して、ファイルの1以上の行のうち、表に付加する最初の行である開始行を決定する開始行決定部をさらに具備し、レコード取得部は、対応受付部が受け付けた対応付けに従って、開始行以降の各行に対応するレコードを取得する、表情報処理装置である。
【0021】
かかる構成により、表にデータを容易に追加できる。
【0022】
また、本第九の発明の表情報処理装置は、第六の発明に対して、開始行決定部は、関係判断部が予め決められた関係にあると判断した文字列を含むタイトル行の一つ下の行を開始行とする表情報処理装置である。
【0023】
かかる構成により、表にデータを容易に追加できる。
【0024】
また、本第十の発明の表情報処理装置は、第六の発明に対して、開始行決定部は、一の列が有する2行以上の各データのデータタイプを検知し、データタイプを用いて開始行を決定する表情報処理装置である。
【0025】
かかる構成により、表にデータを容易に追加できる。
【0026】
また、本第十一の発明の表情報処理装置は、第一から第十いずれか1つの発明に対して、ファイルのデータが、表出力部が出力した表の属性値と一致するか否かを判断する一致判断部をさらに具備し、表出力部は、一致判断部が一致すると判断した場合に、ファイルのデータに対応するレコードを用いて、表の一致する属性値を含むレコードを上書きする、表情報処理装置である。
【0027】
かかる構成により、表にデータを容易かつ適切に追加できる。
【0028】
また、本第十二の発明の表情報処理装置は、第十の発明に対して、一致判断部は、ファイルのデータが、表出力部が出力した表のキーとなる属性の属性値と一致するか否かを判断する表情報処理装置である。
【0029】
かかる構成により、表にデータを容易かつ適切に追加できる。
【0030】
また、本第十三の発明の表情報処理装置は、第一から第十二いずれか1つの発明に対して、属性名を有する1以上の属性定義情報を含む表定義情報が格納される表定義情報格納部をさらに具備し、出力指示に対応する表は、前表定義情報に対応する表である表情報処理装置である。
【0031】
かかる構成により、表にデータを容易に追加できる。
【発明の効果】
【0032】
本発明による表情報処理装置によれば、表にデータを容易かつ適切に追加できる。
【図面の簡単な説明】
【0033】
図1】実施の形態1における情報システムAの概念図
図2】同情報システムAのブロック図
図3】同表情報処理装置1の動作例について説明するフローチャート
図4】同関係判断処理の例について説明するフローチャート
図5】同対応促進処理の例について説明するフローチャート
図6】同対応付処理の例について説明するフローチャート
図7】同レコード出力処理の例について説明するフローチャート
図8】同端末装置2の動作例について説明するフローチャート
図9】同表定義情報管理表を示す図
図10】同表形式のファイルの例を示す図
図11】同表の出力例を示す図
図12】同操作のイメージを示す図
図13】同端末装置の画面例を示す図
図14】同処理の概念を示す図
図15】同出力例を示す図
図16】同出力例を示す図
図17】同出力例を示す図
図18】同出力例を示す図
図19】同出力例を示す図
図20】同出力例を示す図
図21】同出力例を示す図
図22】同出力例を示す図
図23】同出力例を示す図
図24】同出力例を示す図
図25】同出力例を示す図
図26】同コンピュータシステムの概観図
図27】同コンピュータシステムのブロック図
【発明を実施するための形態】
【0034】
以下、表情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0035】
(実施の形態1)
本実施の形態において、データベースの表を出力する画面において、1以上の行が含まれるファイルのドロップ等の操作を受け付け、当該ファイルの中の各行をレコードとして表に出力する表情報処理装置を含む情報システムについて説明する。なお、行は、通常、横に並んだデータの集合であり、列は、縦に並んだデータの集合である。但し、行と列とを逆に考えても良い。
【0036】
また、本実施の形態において、ドロップ等されたファイルの中の1以上の各属性名と、出力されておいる表のいずれかの属性名が予め決められた関係にあるか否かを検査し、予め決められた関係にない場合に、ユーザに列の紐付けを促すための出力をし、ユーザからの対応付けの操作を受け付け、受け付けた操作に基づいて、ファイルの列と表の属性名とを対応付け、ファイルの各行をレコードとして表に出力する表情報処理装置を含む情報システムについて説明する。なお、本実施の形態において、ドロップ等されたファイルの中の1以上の各属性名と、出力されておいる表のいずれかの属性名が予め決められた関係にあるか否かを検査し、ファイルの中のすべての属性名が、出力されている表のいずれかの属性名と予め決められた関係にある場合、自動的に、ファイルの列と表の属性名とを対応付け、ファイルの各行をレコードとして表に出力する。なお、予め決められた関係は、例えば、表の属性名とファイルの列の名称との一致である。また、表へのレコードの出力とは、通常、表へのレコードの追記であるが、表のレコードの更新でも良い。
【0037】
また、本実施の形態において、ファイルのドロップ等の操作により表に出力されたレコードと、表に、元々、存在するレコードとを視覚的に区別する態様で出力する情報システムについて説明する。
【0038】
また、本実施の形態において、ファイルの中の行であり、表に出力するレコードの開始行を自動的に決定する表情報処理装置を含む情報システムについて説明する。なお、表情報処理装置は、例えば、ファイル内のデータのうち、一つでも表の属性名と予め決められた関係にある行があれば、それをタイトル行であるとし、タイトル行の次の行を開始行として決定する。また、表情報処理装置は、例えば、ファイルの中の一の行のデータのタイプが、当該一の行の下の行の当該列のデータのタイプと異なる場合、その行をタイトル行であるとし、タイトル行の次の行を開始行として決定する。
【0039】
さらに、本実施の形態において、表に既に存在するレコードに、ファイルの中の行を上書きする上書き機能を有する表情報処理装置を含む情報システムについて説明する。なお、表情報処理装置は、例えば、表のキーの属性の属性値と一致するデータを有する行を、当該表の中のレコードに上書きする。行を追記する処理、行を上書きする処理は行のすべてのデータを使用する必要はなく、行の一部のデータを使用するだけでも良い。
【0040】
図1は、本実施の形態における情報システムAの概念図である。情報システムAは、表情報処理装置1、および1または2以上の端末装置2を備える。表情報処理装置1は、例えば、サーバである。表情報処理装置1は、例えば、いわゆるクラウドサーバ、ASPサーバ等である。但し、表情報処理装置1の種類は問わない。端末装置2は、ユーザが使用する端末である。端末装置2は、表にレコードを挿入したり、表からレコードを削除したり、表のデータを編集したりするためのユーザが操作する端末である。端末装置2は、例えば、いわゆるパーソナルコンピュータ、タブレット端末、スマートフォン、携帯電話等である。但し、端末装置2の種類は問わない。
【0041】
なお、表情報処理装置1は、スタントアロンの装置でも良い。かかる場合、端末装置2は不要である。
【0042】
図2は、本実施の形態における情報システムAのブロック図である。表情報処理装置1は、格納部11、受付部12、処理部13、および出力部14を備える。格納部11は、表定義情報格納部111、および表格納部112を備える。受付部12は、出力指示受付部121、ファイル受付部122、および対応受付部123を備える。処理部13は、関係判断部131、対応促進部132、開始行決定部133、レコード取得部134、および一致判断部135を備える。出力部14は、表出力部141を備える。
【0043】
端末装置2は、端末格納部21、端末受付部22、端末処理部23、端末送信部24、端末受信部25、および端末出力部26を備える。
【0044】
表情報処理装置1を構成する格納部11には、各種の情報が格納される。各種の情報とは、例えば、1または2以上の後述する表定義情報、1または2以上の表である。
【0045】
表定義情報格納部111は、1または2以上の表定義情報が格納される。表定義情報とは、表の構造を特定する情報である。表定義情報は、表に対応付いている。表定義情報は、例えば、表定義情報を識別する表定義識別子に対応付いている。表定義情報は、1以上の属性定義情報を含む。属性定義情報は、表の属性を定義する情報である。属性定義情報は、属性名を有する。属性名は、通常、列の名称である。属性定義情報は、例えば、属性名、データタイプ、データ長、キーフラグを有する。キーフラグは、属性がキーであるか否かを示すフラグである。なお、表定義情報は、表の一部でも良い。キーである属性は、ユニークな属性値を有する属性である。
【0046】
表格納部112には、1または2以上の表が格納される。表は、通常、表を識別する表識別子に対応付いている。表識別子は、例えば、ID、表名である。表は、通常、1以上のレコードを有する。表は、データベースの表であることは好適である。表は、例えば、リレーショナルデータベースの表であることは好適である。ただし、表は、他の構造のデータベース(例えば、オブジェクト指向データベース、ネットワーク型データベース)の表でも良い。また、表は、例えば、csvやtsvの構造を有する表、エクセルファイル(.xlsx、.xlsの構造)を含むと考えても良い。また、表は、表の構造を有していれば良い、と広く解しても良い。
【0047】
表は、表定義情報に対応付いていることは好適である。つまり、表は、対応付いている表定義情報が示す構造を有することは好適である。ただし、表は、例えば、エクセルファイル、テキスト等のファイルであり、1以上の属性名の集合の行を有するファイルでも良い。
【0048】
受付部12は、各種の指示やデータを受け付ける。各種の指示やデータは、例えば、後述する出力指示、ファイル、後述する対応付け、蓄積指示、後述する開始行である。蓄積指示とは、出力されている表を蓄積する指示である。
【0049】
ここで、受け付けとは、通常、端末装置2からの受信である。ただし、受け付けとは、有線もしくは無線の通信回線を介して送信された情報の受信に加えて、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である、と考えても良い。
【0050】
出力指示受付部121は、表の出力指示を受け付ける。表の出力指示とは、表定義情報の出力指示でも良い。出力指示は、例えば、表識別子を含む。出力指示は、例えば、表定義識別子を含む。ここでの表は、レコードが存在しても、存在しなくても良い。表は、通常、表格納部112に格納されている。ただし、ここでの表は、図示しない外部の装置に格納されている表でも良い。
【0051】
ファイル受付部122は、ファイルを受け付ける。このファイルは、例えば、端末装置2の画面に対して、ユーザがドロップしたファイルである。ユーザのファイルのドロップとは、通常、当該ファイルに対応するアイコンのドロップである。このファイルは、1以上の行および2以上の列を有するファイル、または2以上の行および1以上の列を有するファイルである。ファイルは、2以上の行および2以上の列を有するファイルであることは好適である。
【0052】
ファイルは、テーブル構造のデータを有するファイルである。テーブル構造のデータを有するファイルを、適宜、表ファイルと言う。テーブル構造のデータとは、通常、2以上の列と2以上の行とを有するデータである。2以上の各列は、属性に対応する。2以上の各行は、レコードと言っても良い。各行の2以上の属性値は、区切られている。各行の2以上の属性値の区切りは、例えば、特定の文字(例えば、“,”、TAB)である。ファイルは、例えば、エクセルファイル、csvファイル、tsvファイルである。ファイルは、例えば、テキストファイルでも良い。2以上の各行は、例えば、改行コードにより区切られている。ただし、一の行の中の属性値の区切り、行の間の区切りは問わない。
【0053】
ファイル受付部122は、表出力部141が出力した表に対して、ファイルを受け付ける。表に対するファイルの受け付けは、通常、表が端末装置2の画面に表示されている状況において、表示されている表の上または表の近辺にファイルをドロップすることによる。但し、表に対するファイルの受け付けは、表識別子とファイルとの受け付けでも良い。
【0054】
ファイル受付部122は、通常、ユーザからのファイルのアイコンのドロップを受け付ける。ファイル受付部122は、通常、端末装置2で出力されている表に対して、ユーザがドロップしたアイコンに対応するファイルを受信する。なお、ドロップとは、例えば、ドラッグ&ドロップの操作である。
【0055】
対応受付部123は、対応促進部132における出力に応じて、ユーザからの対応付けを受け付ける。対応受付部123は、例えば、後述する表ウィンドウに対する対応付けの操作を受け付ける。なお、操作の受け付けとは、操作の結果、取得された情報の受け付けでも良い。
【0056】
対応受付部123は、例えば、対応付けを端末装置2から受信する。対応付けとは、ファイル受付部122が受け付けたファイルの列と、出力されている表の属性名との対応付けである。対応付けを受け付けることは、例えば、対応付けの操作を受け付けること、対応付けの操作により発生した対応情報を受け付けること、対応付けられた情報である対応情報を受け付けること等である。つまり、対応付けとは、対応情報でも良い。
【0057】
対応情報は、ファイルの列と出力されている表の属性名とを対応付ける情報である。対応情報は、例えば、ファイルの列を識別する列識別子と表の属性名の対の情報、ファイルの列を識別する列識別子と表の属性を識別する属性識別子との対の情報、ファイルの列名と表の属性名の対の情報、ファイルの列名と表の属性識別子との対の情報である。
【0058】
ファイル受付部122が受け付けたファイルの列は、例えば、ファイルの中の当該列中の文字列(文字列を「データ」と言っても良い)により特定されるので、ファイルの列と、出力されている表の属性名との対応付けとは、ファイルの中の文字列と出力されている表の属性名との対応付けでも良い。つまり、対応付けの受け付けとは、表ファイルの列と、出力されている表の列とが対応付くための情報の受け付けであれば良い。
【0059】
対応受付部123は、例えば、ユーザによる、出力されたファイルの一の列の指定と、列に対応する属性名の指定とを受け付ける。ここで、出力されたファイルの一の列の指定とは、出力されたファイルの一の列のいずれかの箇所に、フォーカスをもっていくことである。出力されたファイルの一の列のいずれかの箇所に、マウス等の指示ポインタで指示することである。属性名の指定とは、例えば、1以上の各属性名をメニュー項目に有するメニューからのメニュー項目の選択である。属性名の指定とは、例えば、出力されている表の列への指示である。
【0060】
処理部13は、各種の処理を行う。各種の処理とは、例えば、関係判断部131、対応促進部132、開始行決定部133、レコード取得部134、一致判断部135が行う処理である。処理部13は、例えば、出力指示に対応する表を表格納部112から読み出す。処理部13は、例えば、蓄積指示の受け付けに応じて、出力されている表を蓄積する。蓄積する先は、例えば、表格納部112である。
【0061】
関係判断部131は、ファイルが有する1以上の行のうちの一の行が有する1以上の各文字列が、表出力部141が出力した表の属性名と予め決められた関係にあるか否かを判断する。関係判断部131は、ファイルが有する一の行に含まれる1以上のすべての文字列が、表出力部141が出力した表のいずれかの属性名と予め決められた関係にあるか否かを判断する。関係判断部131は、ファイルが有するタイトル行の各文字列が、表出力部141が出力した表のいずれかの属性名と予め決められた関係にあるか否かを判断する。
【0062】
ここで、一の行とは、通常、タイトル行である。一の行は、通常、1行目、または文字列が含まれる最初の行である。ただし、一の行は、特定の第一条件に合致する最初の行でも良い。特定の第一条件とは、行のすべてのデータのデータタイプが2バイトコードの文字列(漢字、ひらがな、カタカナの文字列)であること、行のすべてのデータのデータタイプが数字列ではないことである。また、一の行は、特定の第二条件に合致しない行を除いた、最初の行である。特定の第二条件は、例えば、空の属性値が存在すること、コメントを示す文字(例えば、“!”、“--”など)を行の中に有することである。なお、特定の第一条件、特定の第二条件は、問わない。
【0063】
また、予め決められた関係とは、通常、表ファイルの中の文字列(タイトル行の文字列)と属性名とが一致する関係である。つまり、予め決められた関係とは、通常、文字列と属性名との完全一致である。ただし、予め決められた関係は、文字列と属性名との部分一致でも良い。また、予め決められた関係は、2つの文字列の距離が閾値以下でも良い。なお、属性名も文字列である。
【0064】
なお、関係判断部131は、ファイルが有するタイトル行に含まれる1以上のすべての文字列が、表出力部141が出力した表のいずれかの属性名と予め決められた関係にある場合のみ「予め決められた関係にある」と判断し、一つでも文字列が表のいずれの属性名とも予め決められた関係にない場合は「予め決められた関係にない」と判断することは好適である。
【0065】
対応促進部132は、関係判断部131において、予め決められた関係にないと判断された文字列に対応する列と、表の属性名との対応付けを促すための出力を行う。対応付けを促すことは、ユーザに対応付けを促すことである。なお、対応付けを促すための出力を、適宜、対応促進出力という。なお、予め決められた関係にないと判断された文字列は、通常、出力されている表の属性名の中のいずれの属性名とも予め決められた関係にないと判断された文字列である。また、判断対象の文字列は、表ファイルの中の文字列である。判断対象の文字列は、表ファイルの中の列名を含む行の中の文字列であることは好適である。
【0066】
対応促進出力は、例えば、受け付けられたファイルの出力、後述する表ウィンドウの出力、受け付けられたファイルおよび対応付けるためのユーザインターフェイス(UI)の出力、メッセージの出力である。
【0067】
ファイルの出力は、例えば、ファイルの表形式の態様での出力である。表ウィンドウは、受け付けられたファイルのデータを有する表を含むウィンドウである。UIは、例えば、表ファイルの列またはデータに対して表示されるメニューである。メニューは、出力されている表の属性名をメニュー項目とするメニューであり、メニュー項目を選択可能なメニューである。メッセージは、例えば、「ファイルの列と表の属性名との対応付けを指示してください」「ファイルの列と表の属性名との対応付けを行ってください」等である。なお、表ファイルのデータとは、表ファイルの中の文字列である。なお、文字列は、例えば、テキスト列、漢字列、数字列、それらの混合等であり、そのタイプは問わない。
【0068】
対応促進部132は、対応受付部123が対応付けの操作を受け付けた後に、対応付けられた表の属性名を対応する記列の領域に表示する表ウィンドウを出力することは好適である。
【0069】
開始行決定部133は、ファイルの1以上の行のうち、表に付加するレコードを構成する最初の行である開始行を取得する。
【0070】
開始行決定部133は、例えば、ユーザにより指定され、端末装置2から受信された開始行を取得する。
【0071】
開始行決定部133は、例えば、ファイルの1以上の行のうち、表に付加するレコードを構成する最初の行である開始行を決定する。なお、ファイルの中のタイトル行を構成する列名を決定することも、開始行を決定することに該当する。当該列名の行であるタイトル行の一つ下の行が、通常、開始行である。開始行は、ファイルの中の行であり、出力されている表に追加されるレコードを構成する行の最初(一番上)の行である。
【0072】
開始行決定部133は、例えば、関係判断部131が予め決められた関係にあると判断した文字列の行の一つ下位の行を開始行と決定する。
【0073】
開始行決定部133は、例えば、一の列が有する2行以上の各データのデータタイプを検知し、データタイプを用いて開始行を決定する。開始行決定部133は、例えば、行のすべてのデータのデータタイプが2バイトコードの文字列(漢字、ひらがな、カタカナの文字列)である当該行を属性名行とし、当該属性名行の次の行(一つ下の行)を開始行に決定する。開始行決定部133は、例えば、行のすべてのデータのデータタイプが数字列ではない最初の行を属性名行とし、当該属性名行の次の行(一つ下の行)を開始行に決定する。
【0074】
レコード取得部134は、関係判断部131が予め決められた関係を有すると判断した文字列と属性名との1以上の各組に対して、文字列に対応する列のデータを、前記属性名に対応する属性値としてレコードを取得する。レコード取得部134は、ファイルの行ごとに、レコードを取得する。
【0075】
レコード取得部134は、1以上の各対応情報を用いて、対応情報が特定する列のデータを、対応情報が特定する属性名に対応する属性値とするレコードを、ファイルの行ごとに取得する。
【0076】
レコード取得部134は、対応受付部123が受け付けた対応付けに従って、文字列に対応する列の1以上のデータを、対応付けられた属性名に対応する属性値として有するレコードを取得する。レコード取得部134は、例えば、対応受付部123が受け付けた対応付けを用いて取得された対応情報を用いて、当該対応情報が特定する列のデータを、当該対応情報が特定する属性名に対応する属性値とするレコードを、ファイルの行ごとに取得する。
【0077】
レコード取得部134は、対応受付部123が受け付けた対応付けに従って、開始行決定部133が決定した開始行以降の行ごとに、各行に対応するレコードを取得する。
【0078】
一致判断部135は、ファイルのデータが、表出力部141が出力した表の属性値と一致するか否かを判断する。
【0079】
一致判断部135は、レコード取得部134が取得したレコードが有する属性値が、表出力部141が出力した表の属性値と一致するか否かを判断する。
【0080】
レコード取得部134が取得したレコードが有する属性値は、ファイル内の当該属性値に対応するデータと同じである。つまり、一致判断部135のかかる処理は、ファイル内の当該属性値に対応するデータが、表出力部141が出力した表の属性値と一致するか否かを判断する処理と同じである。
【0081】
一致判断部135は、ファイルのデータが、表出力部141が出力した表のキーとなる属性の属性値と一致するか否かを判断する。
【0082】
一致判断部135は、例えば、レコード取得部134が取得したレコードが有する属性値が、表出力部141が出力した表のキーとなる属性の属性値と一致するか否かを判断する。一致判断部135のかかる処理は、ファイル内の当該属性値に対応するデータが、表出力部141が出力した表のキーとなる属性の属性値と一致するか否かを判断する処理と同じである。
【0083】
一致判断部135は、表出力部141が出力した表の属性値がキーとなる属性の属性値に対してのみ、レコード取得部134が取得したレコードが有する属性値が、出力されている表の属性値と一致するか否かを判断することは好適である。
【0084】
出力部14は、各種の情報を出力する。各種の情報とは、例えば、表、レコード取得部134が取得したレコードである。
【0085】
ここで、出力とは、通常、端末装置2への送信であるが、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である、と考えても良い。
【0086】
表出力部141は、出力指示の受け付けに応じて、出力指示に対応する表を出力する。表出力部141は、例えば、出力指示に対応する表であり、表格納部112に格納されている表を出力する。なお、表は、1以上の属性名を有する。表出力部141が出力する表は、レコードが存在しても、存在しなくても良い。
【0087】
表出力部141は、例えば、レコード取得部134が取得したレコードを、表出力部141が出力した表に追記して出力する。
【0088】
なお、追記して出力する対象の表は、例えば、いわゆるビューである。かかるビューの中のレコードは、例えば、ユーザからの蓄積指示により、表に蓄積される。
【0089】
表出力部141は、追記したレコードと、追記する前に存在するレコードとを視覚的に区別可能に表を出力することは好適である。
【0090】
一致判断部135が一致すると判断した場合に、例えば、表出力部141は、当該レコードを、表の一致する属性値を含むレコードとなるように上書きする。なお、上書き対象の表は、例えば、いわゆるビューである。かかるビューの中のレコードは、例えば、ユーザからの蓄積指示により、表に蓄積される。
【0091】
端末装置2を構成する端末格納部21には、各種の情報が格納される。各種の情報とは、例えば、1または2以上のファイル、ユーザ識別子である。ファイルは、表ファイルである。ユーザ識別子は、ユーザを識別する情報であり、例えば、ID、メールアドレス、電話番号等である。
【0092】
端末受付部22は、各種の指示や情報を受け付ける。各種の指示や情報とは、例えば、出力指示、ファイル、対応付け、表に対する操作、ファイルに対する操作、表に入力するデータ、開始行等である。
【0093】
各種の指示や情報の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
【0094】
端末処理部23は、各種の処理を行う。各種の処理とは、例えば、端末受付部22が受け付けた各種の指示や情報を、送信するデータ構造の各種の指示や情報にすることである。各種の処理とは、例えば、端末受信部25が受信した情報を、出力するデータ構造の情報にすることである。
【0095】
端末送信部24は、各種の指示や情報を表情報処理装置1に送信する。各種の指示や情報とは、例えば、出力指示、ファイル、対応付けである。端末送信部24は、端末処理部23が構成した情報を表情報処理装置1に送信する。
【0096】
端末受信部25は、各種の情報を受信する。各種の情報とは、例えば、表、レコードが追加された表、レコードである。
【0097】
端末出力部26は、各種の情報を出力する。各種の情報とは、例えば、表、レコードが追加された表、レコードである。端末出力部26は、端末処理部23が構成した情報を出力する。
【0098】
格納部11、表定義情報格納部111、表格納部112、および末格納部21は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0099】
格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
【0100】
受付部12、出力指示受付部121、ファイル受付部122、対応受付部123、および端末受信部25は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【0101】
処理部13、関係判断部131、対応促進部132、開始行決定部133、レコード取得部134、一致判断部135、および端末処理部23は、通常、プロセッサやメモリ等から実現され得る。処理部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサの種類は、MPU、CPU、GPU等、問わないことは言うまでもない。
【0102】
出力部14、表出力部141、および端末送信部24は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【0103】
端末受付部22は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0104】
端末出力部26は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。端末出力部26は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0105】
次に、情報システムAの動作について説明する。まず、表情報処理装置1の動作例について、図3のフローチャートを用いて説明する。
【0106】
(ステップS301)出力指示受付部121は、出力指示を受け付けたか否かを判断する。出力指示を受け付けた場合はステップS302に行き、出力指示を受け付けなかった場合はステップS304に行く。なお、ここでの出力指示の受け付けは、例えば、端末装置2からの出力指示の受信である。
【0107】
(ステップS302)処理部13は、出力指示に対応する表を表格納部112から取得する。なお、処理部13は、図示しない外部の装置から表を取得しても良い。
【0108】
(ステップS303)表出力部141は、ステップS302で取得された表を出力する。ステップS301に戻る。ここでの表の出力は、例えば、端末装置2への表の送信である。
【0109】
(ステップS304)ファイル受付部122は、ファイルを受け付けたか否かを判断する。ファイルを受け付けた場合はステップS305に行き、ファイルを受け付けなかった場合はステップS310に行く。なお、ここでのファイルの受け付けは、例えば、端末装置2からのファイルの受信である。また、ここでのファイルの受け付けは、例えば、端末装置2において、ユーザがファイルのアイコンをドロップしたことによる。
【0110】
(ステップS305)関係判断部131は、関係判断処理を行う。関係判断処理の例について、図4のフローチャートを用いて説明する。なお、関係判断処理とは、ファイルのタイトル行が有する1以上の各文字列が、出力されている表の属性名と予め決められた関係にあるか否かを判断する処理である。
【0111】
(ステップS306)処理部13は、ステップS305における判断結果が「予め決められた関係にある」か否かを判断する。「予め決められた関係にある」場合はステップS307に行き、「予め決められた関係にない」場合はステップS309に行く。
【0112】
(ステップS307)対応促進部132は、対応促進処理を行う。対応促進処理の例について、図5のフローチャートを用いて説明する。対応促進処理とは、表の属性名に対応付いていないファイルの列を、表の属性名に対応付けることを促すための処理である。
【0113】
(ステップS308)レコード取得部134等は、対応付処理を行う。対応付処理の例について、図6のフローチャートを用いて説明する。対応付処理とは、ファイルの列であり、表の属性名に対応付いていなかった列を、表の属性名に対応付ける処理である。
【0114】
(ステップS309)表出力部141は、レコード出力処理を行う。ステップS301に戻る。レコード出力処理の例について、図7のフローチャートを用いて説明する。レコード出力処理とは、ファイルの各行のデータを用いて構成されたレコードを表に出力する処理である。
【0115】
(ステップS310)受付部12は、蓄積指示を受け付けたか否かを判断する。蓄積指示を受け付けた場合はステップS311に行き、蓄積指示を受け付けなかった場合はステップS312に行く。なお、ここでの蓄積指示の受け付けは、例えば、端末装置2からの蓄積指示の受信である。
【0116】
(ステップS311)出力部14は、端末装置2で出力されている表のレコードを蓄積する。ステップS301に戻る。なお、かかる処理は、表のレコードを、表の実体データとして蓄積する処理である。かかる処理は、通常、不揮発性の記録媒体への蓄積処理である。かかる処理は、レコードの蓄積のコミットである、と言っても良い。また、表のレコードを蓄積する処理は、例えば、端末装置2で出力されている表の全レコードを蓄積する処理、端末装置2で追記されたレコードを追記する処理、端末装置2で更新されたレコードを更新する処理である。
【0117】
(ステップS312)受付部12は、その他の指示を受け付けたか否かを判断する。その他の指示を受け付けた場合はステップS313に行き、その他の指示を受け付けなかった場合はステップS301に戻る。なお、その他の指示は、例えば、表の中のレコードの更新の指示、レコードの削除指示等である。
【0118】
(ステップS313)処理部13は、その他の指示に応じた処理を行う。ステップS301に戻る。
【0119】
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0120】
次に、ステップS305の関係判断処理の例について、図4のフローチャートを用いて説明する。
【0121】
(ステップS401)関係判断部131は、初期化処理を行う。初期化処理は、変数「関係」に値「確定」を代入する処理、および変数「開始行」に「NULL」を代入する処理である。なお、変数「関係」に値「確定」を代入する処理は、「予め決められた関係がある」ことを前提とすることを意味する。変数「関係」の値「確定」は、予め決められた関係があることを示す情報である。また、変数「開始行」に「NULL」を代入する処理は、開始行が未確定であることを意味する。
【0122】
(ステップS402)関係判断部131は、カウンタiに1を代入する。
【0123】
(ステップS403)関係判断部131は、「i<=N(Nは1以上の自然数)」を満たすか否かを判断する。なお、Nは、ファイルの中のタイトル行が存在し得る最大の行番号(行識別子)であり、予め設定されている数値である。
【0124】
(ステップS404)関係判断部131は、カウンタjに1を代入する。
【0125】
(ステップS405)関係判断部131は、受け付けられたファイルの中にj番目の列が存在するか否かを判断する。j番目の列が存在する場合はステップS406に行き、j番目の列が存在しない場合はステップS418に行く。なお、j番目の列は、データが存在する列である。
【0126】
(ステップS406)関係判断部131は、ファイルの中のデータ(i,j)を、ファイルから取得する。なお、データ(i,j)は、表形式の表ファイルの中のi行目、j列目のデータである。
【0127】
(ステップS407)関係判断部131は、カウンタkに1を代入する。
【0128】
(ステップS408)関係判断部131は、表の属性名の中でk番目の属性名が存在するか否かを判断する。k番目の属性名が存在する場合はステップS409に行き、k番目の属性名が存在しない場合はステップS415に行く。
【0129】
なお、関係判断部131は、例えば、出力されている表に対応する表定義情報を表定義情報格納部111から取得し、当該表定義情報の中にk番目の属性情報が存在するか否かにより、k番目の属性名が存在するか否かを判断する。
【0130】
(ステップS409)関係判断部131は、表の属性名の中でk番目の属性名を取得する。なお、関係判断部131は、例えば、表に対応する表定義情報から、k番目の属性情報が有する属性名を取得する。
【0131】
(ステップS410)関係判断部131は、データ(i,j)とk番目の属性名とが予め決められた関係にあるか否かを判断する。両情報が予め決められた関係にある場合はステップS411に行き、予め決められた関係にない場合はステップS414に行く。なお、予め決められた関係は、例えば、「一致」である。
【0132】
(ステップS411)関係判断部131は、列の識別子jとk番目の属性名とを対応付ける。なお、関係判断部131は、例えば、(j,k番目の属性名)の対応情報を図示しないバッファに一時蓄積する。また、関係判断部131は、例えば、(j,k)の対応情報を図示しないバッファに一時蓄積する。また、ファイルのi行目がタイトル行であることがここで決定される。
【0133】
(ステップS412)関係判断部131は、変数「開始行」に「i+1」を代入する。つまり、ファイルの中の「i+1」行目以降を、表に記録するレコードを構成するための行である、とする。なお、「i+1」行目以降は、2行以上であることは好適であるが、1行でも良い。
【0134】
(ステップS413)関係判断部131は、カウンタjを1、インクリメントする。ステップS405に戻る。
【0135】
(ステップS414)関係判断部131は、カウンタkを1、インクリメントする。ステップS408に戻る。
【0136】
(ステップS415)関係判断部131は、変数「開始行」がNULLであるか否かを判断する。NULLであればステップS416に行き、NULLでなければステップS417に行く。なお、変数「開始行」がNULLである場合は、開始行が決まっていない場合である。
【0137】
(ステップS416)関係判断部131は、カウンタiを1、インクリメントする。ステップS403に戻る。
【0138】
(ステップS417)関係判断部131は、変数「関係」に値「未確定」を代入する。上位処理にリターンする。
【0139】
(ステップS418)関係判断部131は、変数「開始行」がNULLであるか否かを判断する。NULLであればステップS419に行き、NULLでなければ上位処理にリターンする。
【0140】
(ステップS419)関係判断部131は、カウンタiを1、インクリメントする。ステップS403に戻る。
【0141】
(ステップS420)関係判断部131は、変数「関係」に値「未確定」を代入する。また、関係判断部131は、変数「開始行」に「1」を代入する。上位処理にリターンする。
【0142】
次に、ステップS307の対応促進処理の例について、図5のフローチャートを用いて説明する。
【0143】
(ステップS501)対応促進部132は、ファイル受付部122が受け付けたファイルを取得する。
【0144】
(ステップS502)対応促進部132は、ステップS501で取得したファイルから表を構成し、当該表を出力する。なお、対応促進部132は、例えば、ステップS501で取得したファイルをオープンし、当該ファイルのデータ(表形式のデータ)を有するウィンドウを構成し、当該ウィンドウを出力することは好適である。なお、ここでの表の出力、ウィンドウの出力とは、例えば、端末装置2への送信である。また、ここでの表の出力とは、ファイルの出力である、と言っても良い。
【0145】
(ステップS503)対応促進部132は、カウンタiに1を代入する。
【0146】
(ステップS504)対応促進部132は、ステップS501で取得したファイルの中に、i番目の列が存在するか否かを判断する。i番目の列が存在する場合はステップS505に行き、i番目の列が存在しない場合は上位処理にリターンする。なお、i番目の列は、NULLではないデータが存在する列である。
【0147】
(ステップS505)対応促進部132は、i番目の列が属性名と対応付いているか否かを判断する。i番目の列が属性名と対応付いている場合はステップS507に行き、i番目の列が属性名と対応付いていない場合はステップS506に行く。
【0148】
対応促進部132は、例えば、i番目の列の識別子を有する対応情報が図示しないバッファに存在するか否かを判断する。
【0149】
(ステップS506)対応促進部132は、i番目の列が属性名と対応付いていない旨を出力する。ここでの出力は、例えば、端末装置2への送信である。また、列が属性名と対応付いていない旨は、例えば、表ファイルのデータを有するウィンドウの中の列の表示において示される。つまり、属性名と対応付いていない列は、属性名と対応付いている列とは視覚的に区別可能に、表ファイルが出力される。
【0150】
(ステップS507)対応促進部132は、カウンタiを1、インクリメントする。ステップS504に戻る。
【0151】
次に、ステップS308の対応付処理の例について、図6のフローチャートを用いて説明する。
【0152】
(ステップS601)対応受付部123は、対応付けを受け付けたか否かを判断する。対応付けを受け付けた場合はステップS602に行き、対応付けを受け付けなかった場合はステップS601に戻る。なお、対応付けの受け付けとは、例えば、対応情報の受け付けである。対応情報は、例えば、ファイルの列と表の属性名とを対応付ける情報である。対応情報は、例えば、ファイルの列の識別子と表の属性名とを有する情報である。また、対応付けの受け付けは、通常、ユーザの端末装置2の操作による。
【0153】
(ステップS602)処理部13(図示しない対応付部でも良い)は、ステップS601で受け付けられた対応付けに応じて、ファイルの列と表の属性名とを対応付ける。かかる対応付けの処理は、例えば、ファイルの列と表の属性名とを対応付ける対応情報を図示しないバッファに蓄積する処理である。
【0154】
(ステップS603)処理部13は、ファイルの中のすべての列が表の属性名と対応付けられているか否かを判断する。すべての列が表の属性名と対応付けられている場合は上位処理にリターンし、表の属性名と対応付けられていない列が存在する場合はステップS601に戻る。なお、ここで、処理部13は、例えば、図示しないバッファ内の1以上の対応情報のいずれかに、ファイルの中のすべての列の情報(例えば、列識別子、列名)が含まれるか否かを判断する。
【0155】
なお、図6のフローチャートにおいて、例えば、すべての列が表の属性名と対応付けられていない場合でも、例えば、ユーザの指示の受け付けにより、ファイルの中の列と表の属性名との対応付けの処理を終了しても良い。
【0156】
次に、ステップS309のレコード出力処理の例について、図7のフローチャートを用いて説明する。
【0157】
(ステップS701)一致判断部135は、キーとなる属性の属性名を取得する。レコード取得部134は、例えば、出力されている表に対応する表定義情報を表定義情報格納部111から取得し、当該表定義情報が有するキーフラグに対応する属性名を取得する。
【0158】
(ステップS702)一致判断部135は、ステップS701で取得した属性名に対応する列の識別子を図示しないバッファの対応情報から取得する。
【0159】
(ステップS703)レコード取得部134は、カウンタiに変数「開始行」の値を代入する。
【0160】
(ステップS704)レコード取得部134は、ファイルの中に、i番目の行が存在するか否かを判断する。i番目の行が存在する場合はステップS705に行き、i番目の行が存在しない場合は上位処理にリターンする。i番目の行は、NULLではないデータを含む行である。
【0161】
(ステップS705)一致判断部135は、ファイルの中から、データ(i,ステップS702で取得した列識別子)を取得する。
【0162】
(ステップS706)一致判断部135は、ステップS705で取得したデータ(i,列識別子)が、表の中のキーフラグに対応する属性の属性値として存在するか否かを判断する。存在する場合はステップS707に行き、存在しない場合はステップS710に行く。なお、以下のステップにおいて、存在する場合はレコードを上書きする処理を行い、存在しない場合はレコードを追記する処理を行う。
【0163】
(ステップS707)レコード取得部134は、ファイルの中のi番目の行のデータを取得し、当該データを用いて、上書きされるレコードを構成する。なお、上書きされるレコードは、ステップS702で取得した列識別子の値がキーの属性値であり、他の列のデータを、各々、列識別子に対応する属性名に対応する属性値とするレコードである。
【0164】
(ステップS708)表出力部141は、ステップS707で取得したレコードを、データ(i,列識別子)と一致する属性値を有するレコードに、上書きする。なお、上書きされるレコードは、表のレコードの全属性値でなくても良い。また、上書きされるレコードは、データ(i,列識別子)と一致する属性値を除くことは好適である。
【0165】
(ステップS709)表出力部141は、ステップS708で上書きしたレコードに、更新フラグを付す。なお、更新フラグにより、端末装置2で出力される表において、上書きされたレコードであることが明示される。
【0166】
(ステップS710)レコード取得部134は、図示しないバッファの中の対応情報を用いて、i番目の行から、表に追記するレコードを構成する。なお、追記されるレコードは、i番目の行に含まれる1以上の各データを、各データが属する列の列識別子に対応する属性名に対応する属性値とするレコードである。
【0167】
(ステップS711)表出力部141は、ステップS710で構成したレコードを表に追記する。なお、かかる追記は、例えば、レコードの端末装置2への送信である。
【0168】
(ステップS712)レコード取得部134は、カウンタiを1、インクリメントする。ステップS704に戻る。
【0169】
次に、端末装置2の動作例について、図8のフローチャートを用いて説明する。
【0170】
(ステップS801)端末受付部22は、出力指示を受け付けたか否かを判断する。出力指示を受け付けた場合はステップS802に行き、出力指示を受け付けなかった場合はステップS805に行く。
【0171】
(ステップS802)端末処理部23は、送信する出力指示を構成する。端末送信部24は、構成された出力指示を表情報処理装置1に送信する。
【0172】
(ステップS803)端末受信部25は、表情報処理装置1から表を受信したか否かを判断する。表を受信した場合はステップS804に行き、表を受信しなかった場合はステップS803に戻る。
【0173】
(ステップS804)端末処理部23は、ステップS803で受信された表から出力する表を構成する。端末出力部26は、当該表を出力する。
【0174】
(ステップS805)端末受付部22は、表ファイルのアイコンのドロップを受け付けたか否かを判断する。ドロップを受け付けた場合はステップS806に行き、ドロップを受け付けなかった場合はステップS814に行く。
【0175】
(ステップS806)端末処理部23は、ドロップされたアイコンに対応する表ファイルを端末格納部21から取得する。次に、端末送信部24は、ステップS806で取得した表ファイルを表情報処理装置1に送信する。
【0176】
(ステップS807)端末受信部25は、表情報処理装置1から、送信した表ファイルに対応する表を受信したか否かを判断する。表を受信した場合はステップS808に行き、表を受信しなかった場合はステップS812に行く。なお、表ファイルに対応する表は、通常、ファイルを表形式の態様にした画面である。また、送信した表ファイルに対応する表を受信する場合は、ユーザによる対応付けが必要である場合である。
【0177】
(ステップS808)端末処理部23は、受信された表から表ウィンドウを構成する。端末出力部26は、当該表ウィンドウを出力する。
【0178】
(ステップS809)端末受付部22は、対応付けを受け付けたか否かを判断する。対応付けを受け付けた場合はステップS810に行き、対応付けを受け付けなかった場合はステップS809に戻る。
【0179】
(ステップS810)端末処理部23は、送信する対応付けを構成する。端末送信部24は、当該対応付けを表情報処理装置1に送信する。なお、送信する対応付けは、例えば、対応情報である。
【0180】
(ステップS811)端末処理部23は、対応付けが完了したか否かを判断する。対応付けが完了した場合はステップS812に行き、対応付けが完了しなかった場合はステップS809に戻る。ここで、端末処理部23は、例えば、予め決められた関係を有さない1以上の列のうちのすべての列の対応付けが完了したか否かを判断する。
【0181】
(ステップS812)端末受信部25は、表情報処理装置1から、表に追記するレコードまたは表を更新するレコードを受信したか否かを判断する。レコードを受信した場合はステップS813に行き、レコードを受信しなかった場合はステップS801に行く。
【0182】
(ステップS813)端末処理部23は、受信されたレコードを用いて表を更新する。端末出力部26は、更新された表を出力する。ステップS801に戻る。なお、出力されている表は、通常、ビューである。
【0183】
(ステップS814)端末受付部22は、蓄積指示を受け付けたか否かを判断する。蓄積指示を受け付けた場合はステップS815に行き、蓄積指示を受け付けなかった場合はステップS816に行く。
【0184】
(ステップS815)端末処理部23は、出力されている表を用いて、蓄積指示を構成する。端末送信部24は、当該蓄積指示を表情報処理装置1に送信する。ステップS801に戻る。なお、蓄積指示は、例えば、出力されている表全体、または出力されている表のうち追記されたレコード、更新されたレコードを有する。
【0185】
(ステップS816)端末受付部22は、その他の指示を受け付けたか否かを判断する。その他の指示を受け付けた場合はステップS817に行き、その他の指示を受け付けなかった場合はステップS801に戻る。
【0186】
(ステップS817)端末処理部23は、送信する指示を構成する。端末送信部24は、当該指示を表情報処理装置1に送信する。ステップS801に戻る。
【0187】
なお、図8のフローチャートにおいて、指示を送信した後に、当該指示の結果を受信し、出力しても良い。
【0188】
また、図8のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0189】
以下、本実施の形態における情報システムAの具体的な動作について説明する。情報システムAの概念図は、図1である。
【0190】
かかる状況において、以下の4つの具体例について説明する。具体例1は、ユーザの対応付けの操作無しに、レコードが存在しない表に自動的にレコードが追記される場合である。具体例2は、ユーザの対応付けの操作により、レコードが存在しない表にレコードが追記される場合である。具体例3は、レコードが存在する表にレコードが自動的に追記される場合である。具体例4は、ユーザの対応付けの操作により、表のレコードが更新される場合である。また、具体例4は、表定義情報を有さない場合である。
【0191】
(具体例1)
今、表情報処理装置1の表定義情報格納部111には、図9に示す表定義情報管理表が格納されている。表定義情報管理表は、一の表の表定義情報を管理する表である。表定義情報管理表は、「属性識別子」「属性名」「キーフラグ」「データタイプ」「データ長」を有するレコードを、属性の数だけ有する。「キーフラグ=1」は、その属性がキー属性であることを示す。「キーフラグ=0」は、その属性がキー属性でないことを示す。また、図9に示す表定義情報管理表は、一の表に対応する表定義情報である。なお、キー属性とは、レコードの識別子として利用できる属性値の属性である。
【0192】
また、表格納部112には、例えば、図9に示す表定義情報管理表に対応付けて、表Aが格納されている、とする。なお、表Aは、現段階では、レコードを有さない、とする。
【0193】
また、端末装置2の端末格納部21には、図10(a)に示すように、表形式のファイル「摘要.xlsx」(1001)が格納されている、とする。このファイル「摘要.xlsx」をオープンした時の表示が図10(b)である。
【0194】
そして、ユーザは、端末装置2に表Aを出力するための指示を入力した、とする。すると、端末受付部22は、出力指示「出力 表A」を受け付ける。次に、端末処理部23は、送信する出力指示を構成する。端末送信部24は、構成された出力指示「出力 表A」を表情報処理装置1に送信する。
【0195】
次に、表情報処理装置1の出力指示受付部121は、出力指示「出力 表A」を端末装置2から受信する。次に、処理部13は、出力指示に対応する表Aを表格納部112から取得する。次に、表出力部141は、表Aを端末装置2に送信する。なお、表Aは、図9の表定義情報の構造を有する表であり、レコードを有さない表である。
【0196】
次に、端末装置2の端末受信部25は、表情報処理装置1から表Aを受信する。端末処理部23は、受信された表Aから出力する表Aを構成する。端末出力部26は、表Aを出力する。表Aの出力例は、図11である。図11において、3つの属性名「コード」「摘要内容」「インデックス」が表示されているが、レコードは存在しないことが分かる。
【0197】
次に、ユーザは、図10(a)の端末装置2の画面から、ファイル「摘要.xlsx」のアイコンをドラッグし、図11の表Aの領域まで当該アイコンを移動させ、ドロップした、とする。かかるファイルのドロップの操作のイメージを図12に示す。
【0198】
すると、端末装置2の端末受付部22は、ファイル「摘要.xlsx」のアイコンのドロップを受け付ける。次に、端末処理部23は、ドロップされたアイコンに対応するファイル「摘要.xlsx」を端末格納部21から取得する。次に、端末送信部24は取得したファイル「摘要.xlsx」を表情報処理装置1に送信する。なお、ファイルのドロップ後の端末装置2の画面例は、図13である。
【0199】
次に、表情報処理装置1のファイル受付部122は、ファイル「摘要.xlsx」を端末装置2から受信する。
【0200】
次に、関係判断部131は、図4のフローチャートの動作に従った関係判断処理を行う。つまり、関係判断部131は、ファイル「摘要.xlsx」の1行目、1列目のデータ「コード」を取得する。また、関係判断部131は、図9の表定義情報から1つ目の属性名「コード」を取得する。そして、関係判断部131は、1列目のデータ「コード」と表Aの1つ目の属性名「コード」とが一致し、予め決められた関係にある、と判断し、対応情報(1,1)を取得し、図示しないバッファに一時蓄積する。なお、対応情報は、(列識別子,属性識別子)の構造を有する。ここで、対応情報が取得できたデータを有する行がタイトル行であるので、関係判断部131は、タイトル行の行識別子「1」を取得する。また、関係判断部131は、開始行=「タイトル行の行識別子+1」=2を取得する。
【0201】
また、関係判断部131は、ファイル「摘要.xlsx」の1行目、2列目のデータ「摘要内容」を取得する。また、関係判断部131は、当該データ「摘要内容」と表Aの属性名「摘要内容」とが一致し、予め決められた関係にある、と判断し、対応情報(2,2)を取得し、図示しないバッファに一時蓄積する。以上より、図示しないバッファには、対応情報(1,1)(2,2)が蓄積された。以上の処理の概念を、図14に示す。
【0202】
また、関係判断部131は、ファイル「摘要.xlsx」のすべての列が対応付けられたので、変数「関係」に値「確定」を代入する。
【0203】
次に、処理部13は、変数「関係=確定」から、判断結果が「予め決められた関係にある」と判断する。
【0204】
次に、表Aにレコードが存在しないので、一致判断部135は、図7のフローチャートの動作に従い、ファイル「摘要.xlsx」のデータには、キー属性の属性値と一致するデータが存在しない、と判断する。
【0205】
次に、レコード取得部134は、バッファ内の対応情報(1,1)(2,2)を用いて、ファイル「摘要.xlsx」の開始行である2行目から、NULLでないデータを含む行である4行目までの各行から、「コード=001,摘要内容=毎度ありがとうございます。」「コード=002,摘要内容=いつもお世話になっております。」「コード=003,摘要内容=XX様ご注文分」の3つのレコードを構成する。次に、表出力部141は、構成した3レコードを表Aに追記し、当該3レコードを端末装置2に送信する。
【0206】
次に、端末受信部25は、表情報処理装置1から、表に追記する3レコードを受信する。端末処理部23は、受信されたレコードを用いて表を更新する。端末出力部26は、更新された表を出力する。かかる出力例は、図15である。
【0207】
次に、ユーザは、蓄積指示を端末装置2に入力した、とする。すると、端末装置2は、蓄積指示を受け付け、追記された3レコードを少なくとも有する蓄積指示を表情報処理装置1に送信する。
【0208】
次に、表情報処理装置1は、蓄積指示を受信し、3レコードを表Aに追記する。かかる追記により、不揮発性の記録媒体に存在する表Aが更新された。
【0209】
(具体例2)
表情報処理装置1の表定義情報格納部111には、図9に示す表定義情報管理表が格納されている。
【0210】
また、端末装置2の端末格納部21には、図16の1601のアイコン、1602の表示ファイルに示すように、表形式のファイル「摘要.xlsx」が格納されている、とする。なお、このファイル「摘要.xlsx」は、1行目から表Aに挿入したいデータが記載されており、いわゆるタイトル行を有さない。なお、タイトル行は、表ファイルの行であり、下位の行のデータの意味を示す文字列の集合の行である。
【0211】
また、端末装置2には、1603に示す表Aのウィンドウ1603が表示されている。この段階では、表Aには、レコードが存在しない。
【0212】
かかる状況において、ユーザは、図16の1601のアイコン(ファイル「摘要.xlsx」のアイコン)をドラッグし、図16の1603の表Aの領域まで当該アイコンを移動させ、ドロップした、とする。
【0213】
すると、端末装置2の端末受付部22は、ファイル「摘要.xlsx」のアイコンのドロップを受け付ける。次に、端末処理部23は、ドロップされたアイコンに対応するファイル「摘要.xlsx」を端末格納部21から取得する。次に、端末送信部24は取得したファイル「摘要.xlsx」を表情報処理装置1に送信する。なお、ファイルのドロップ後の端末装置2の画面例は、図13である。また、端末送信部24は、ファイル「摘要.xlsx」に加えて、表Aを識別する情報を送信することは好適である。
【0214】
次に、表情報処理装置1のファイル受付部122は、ファイル「摘要.xlsx」を端末装置2から受信する。なお、ファイル受付部122は、表Aを識別する情報をも受信することは好適である。
【0215】
次に、関係判断部131は、図4のフローチャートの動作に従った関係判断処理を行う。つまり、関係判断部131は、ファイル「摘要.xlsx」の1行目、2行目、3行目の各データを検査し、いずれのデータも、表定義情報(図9)に格納されているいずれの属性名とも一致しない、と判断する。そして、関係判断部131は、予め決められた関係にない、と判断する。
【0216】
次に、対応促進部132は、以下のように、図5のフローチャートの動作に従った対応促進処理を行う。つまり、対応促進部132は、ファイル受付部122が受信したファイル「摘要.xlsx」を取得する。次に、対応促進部132は、取得したファイル「摘要.xlsx」から表を構成し、当該表を端末装置2に送信する。なお、関係判断部131の判断の結果、タイトル行が存在しなかったので、対応促進部132は、仮のタイトル行(「A」「B」等を有する)表を構成し、当該表を含む表ウィンドウを端末装置2に送信する。また、端末装置2に送信される表ウィンドウは、表Aの属性名との対応を採るための領域を含んでも良い。
【0217】
次に、端末装置2の端末受信部25は、表情報処理装置1から、送信した表ファイルに対応する表を受信する。次に、端末処理部23は、受信された表から表ウィンドウを構成する。端末出力部26は、当該表ウィンドウを出力する。かかる出力例は、図17の1701である。また、1702の行が、仮のタイトル行である。また、1703(「項目名」の行)は、表Aの属性名との対応を採るための領域である。
【0218】
次に、ユーザは、図17の画面において、1702の行のうちのいずれかのデータ、または1703の行のうちのいずれかのデータ、または表のいずれかのデータを指示した、とする。なお、ここで、ユーザは、図17の画面において、1列目の「A」を指示した、とする。
【0219】
すると、端末受付部22は、かかる指示を受け付ける。そして、端末出力部26は、図18の1801のメニューを出力する。なお、かかるメニューの情報は、1701の表と一緒に、表情報処理装置1から送信されても良いし、1列目の「A」の指示が表情報処理装置1に送信されたことに応じて、表情報処理装置1から送信されても良い。つまり、1801のメニューが出力されるまでの処理は問わない。また、1801のメニューにおいて、「未設定」に対応する属性名は、ファイルの列と対応付いていないことを示す。また、ファイルの列と対応付いている属性名の横には、「設定」が表示される、とする。
【0220】
次に、ユーザは、1801のメニューから「コード」を指示した、とする。すると、端末受付部22は、かかる対応付けを受け付ける。次に、端末処理部23は、かかる対応付けに従って、送信する対応情報(1,1)を構成する。対応情報(1,1)は、ファイルの1列目と、表の1番目の属性名「コード」とを対応付ける情報である。
【0221】
また、ユーザは、図17の画面において、2列目の「B」を指示した、とする。すると、端末受付部22は、かかる指示を受け付ける。そして、端末出力部26は、図18の1801のようなメニュー(但し、「コード」に対応する状態は「設定」となっている)を出力する。次に、ユーザは、1801のメニューから「摘要内容」を指示した、とする。すると、端末受付部22は、かかる対応付けを受け付ける。次に、端末処理部23は、かかる対応付けに従って、送信する対応情報(2,2)を構成する。対応情報(2,2)は、ファイルの2列目と、表の2番目の属性名「摘要内容」とを対応付ける情報である。
【0222】
次に、端末送信部24は、当該対応情報(1,1)(2,2)を表情報処理装置1に送信する。なお、ユーザの対応付けの操作により、図19の1901に示すように、項目名のデータとして、列に対応付けられた属性名が入り、ユーザにとって、対応付けができたことを認識できる。なお、対応受付部123が表ウィンドウに対する対応付けの操作を受け付け場合に、対応促進部132が、属性名「コード」「摘要内容」を、対応する列の領域に表示する表ウィンドウを端末装置2に送信することは好適である。
【0223】
次に、表情報処理装置1の対応受付部123は、対応情報(1,1)(2,2)を端末装置2から受信する。そして、処理部13は、対応情報(1,1)(2,2)を図示しないバッファに蓄積する。以上により、ファイルが有するすべての列と属性名との対応付けが完了した。
【0224】
次に、ユーザは、1802の受入開始行「1」を代入する。すると、「開始行=1」となる。そして、ユーザは、1803の受入開始ボタンを指示した、とする。
【0225】
次に、受付部12は、「開始行=1」を有する受入開始ボタンの指示を受信する。そして、レコード取得部134は、バッファ内の対応情報(1,1)(2,2)を用いて、ファイル「摘要.xlsx」の開始行である1行目から、NULLでないデータを含む3行目までの各行から、「コード=001,摘要内容=毎度ありがとうございます。」「コード=002,摘要内容=いつもお世話になっております。」「コード=003,摘要内容=XX様ご注文分」の3つのレコードを構成する。次に、表出力部141は、構成した3レコードを表Aに追記し、当該3レコードを端末装置2に送信する。
【0226】
次に、端末受信部25は、表情報処理装置1から、表に追記する3レコードを受信する。端末処理部23は、受信されたレコードを用いて表を更新する。端末出力部26は、更新された表を出力する。かかる出力例は、図15である。
【0227】
次に、ユーザは、蓄積指示を端末装置2に入力した、とする。すると、端末装置2は、蓄積指示を受け付け、追記された3レコードを少なくとも有する蓄積指示を表情報処理装置1に送信する。
【0228】
次に、表情報処理装置1は、蓄積指示を受信し、3レコードを表Aに追記する。
【0229】
(具体例3)
今、端末装置2に、図15に示す表が表示されている、とする。つまり、表には、既に3つのレコードが存在する。また、端末装置2の端末格納部21には、図20の2001のファイル「摘要.xlsx」が格納されている、また、ファイル「摘要.xlsx」のデータは、図20の2002であり、2つのレコードを有する。ファイル「摘要.xlsx」は、タイトル行を有さない。
【0230】
かかる状況において、具体例2の同様の処理が行われた場合、図21の画面に示すように、ユーザはファイルの列と表の属性名との対応付けを行い、図22に示すように、図15の表の3つのレコードに加えて、2つのレコード(2002参照)が表に追記された。なお、図22において、追記された2レコードが、元々、存在するレコードと視覚的に区別できる態様で表示されている。
【0231】
次に、ユーザは、蓄積指示を端末装置2に入力した、とする。すると、端末装置2は、蓄積指示を受け付け、追記された2レコードを少なくとも有する蓄積指示を表情報処理装置1に送信する。
【0232】
次に、表情報処理装置1は、蓄積指示を受信し、2レコードを表に追記する。
【0233】
(具体例4)
今、端末装置2には、図23に示す表Bが出力されている。なお、図23の表Bは、表情報処理装置1の表格納部112の表である。また、端末装置2には、図24に示すファイルC(「1.項目名あり.xlxs」)が格納されている。また、表定義情報格納部111には、表定義情報が存在しない、とする。
【0234】
かかる状況において、ユーザは、出力されている表Bと図24のファイルCを指示した、とする。なお、かかる指示は、ファイルCのドラッグでも良いが、例えば、表Bの識別子と図24のファイルCの識別子「1.項目名あり.xlxs」の入力でも良い。
【0235】
次に、端末装置2の端末受付部22は、表Bの識別子とファイルCとを受け付ける。そして、端末送信部24は、表Bの識別子とファイルCとを表情報処理装置1に送信する。
【0236】
次に、表情報処理装置1のファイル受付部122は、表Bの識別子とファイルCとを受信する。そして、関係判断部131は、ファイルCのタイトル行の列識別子「コード」と表Bの属性名「コード」とが一致するので、列識別子「コード」と属性名「コード」とを対応付ける。同様に、関係判断部131は、列識別子「名称」と属性名「名称」、列識別子「メモ1」と属性名「メモ1」を対応付ける。
【0237】
次に、一致判断部135は、ファイルCの2行目のコード「100001」と表の1番目のレコードのコード「100001」とが一致する、と判断する。また、一致判断部135は、ファイルCの2行目の名称「山田 一郎」と表の1番目のレコードの名称「山田 一郎」とが一致する、と判断する。
【0238】
そして、レコード取得部134は、ファイルCの2行目のメモ1「ヤマダ」を表の1番目のレコードの属性「メモ1」の属性値として追加するためのレコードを構成する。そして、表出力部141は、属性「メモ1」の属性値「ヤマダ」を、表の1番目のレコードに追記する。また、表出力部141は、追記した1番目のレコードに更新フラグを付す。
【0239】
同様に、一致判断部135は、ファイルCの3行目のコード「100002」と表の2番目のレコードのコード「100002」とが一致する、と判断する。また、一致判断部135は、ファイルCの3行目の名称「川谷 しげる」と表の2番目のレコードの名称「川谷 しげる」とが一致する、と判断する。
【0240】
そして、レコード取得部134は、ファイルCの3行目のメモ1「カワタニ」を表の2番目のレコードの属性「メモ1」の属性値として追加するためのレコードを構成する。そして、表出力部141は、属性「メモ1」の属性値「カワタニ」を、表の2番目のレコードに追記する。また、表出力部141は、追記した2番目のレコードに更新フラグを付す。
【0241】
次に、一致判断部135は、ファイルCの4行目のコード「110003」に一致するコードが表Bには存在しない、と判断する。
【0242】
次に、レコード取得部134は、ファイルCの4行目のデータを用いて、表Bに追記するレコード「コード:110003,名称:小川 いずみ,メモ1:オガワ」を構成する。そして、表出力部141は、当該レコードを表Bに追記する。また、表出力部141は、追記した3番目のレコードに更新フラグを付す。
【0243】
なお、ここでは、表出力部141は、レコードに更新フラグを付すだけではなく、更新された属性値にも更新フラグを付す、とする。
【0244】
そして、表出力部141は、修正したレコードを端末装置2に送信する。なお、表出力部141は、3レコードを一度に送信しても良いし、レコードを取得する毎に、当該レコードを送信しても良い。なお、表出力部141は、更新フラグも送信することは好適である。また、表出力部141は、変更された属性値を明示できる更新フラグ(属性値ごとに付された更新フラグ)を送信することは好適である。
【0245】
次に、端末装置2の端末受信部25は、表情報処理装置1から、表Bの3レコードを受信する。端末処理部23は、受信されたレコードから出力する表を構成する。端末出力部26は、当該表を出力する。かかる出力例は、図25である。図25において、追記および更新されたレコード、追加または更新された属性値に更新フラグに対応する図柄が表示されている。
【0246】
以上、本実施の形態によれば、表にデータを容易に追加できる。
【0247】
また、本実施の形態によれば、簡単な操作により、表にデータを追加できる。
【0248】
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における表情報処理装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、1以上の行および2以上の列を有するファイル、または2以上の行および1以上の列を有するファイルを受け付けるファイル受付部と、前記1以上の行のうちの一の行が有する1以上の各文字列が、前記ファイルにより更新される表の属性名と予め決められた関係にあるか否かを判断する関係判断部と、前記関係判断部が、予め決められた関係にないと判断された文字列に対応する列と、前記表の属性名との対応付けを促すための出力を行う対応促進部と、前記対応促進部における出力に応じて、前記文字列に対応する列と前記属性名との対応付けを受け付ける対応受付部と、前記対応受付部が受け付けた対応付けに従って、前記文字列に対応する列の1以上のデータを、前記対応付けられた属性名に対応する属性値として有するレコードを取得するレコード取得部と、前記レコード取得部が取得したレコードを、前記表に出力する表出力部として機能させるためのプログラムである。
【0249】
また、図26は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の表情報処理装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図26は、このコンピュータシステム300の概観図であり、図27は、システム300のブロック図である。
【0250】
図26において、コンピュータシステム300は、CD-ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
【0251】
図27において、コンピュータ301は、CD-ROMドライブ3012に加えて、MPU3013と、CD-ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
【0252】
コンピュータシステム300に、上述した実施の形態の表情報処理装置1等の機能を実行させるプログラムは、CD-ROM3101に記憶されて、CD-ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD-ROM3101またはネットワークから直接、ロードされても良い。
【0253】
プログラムは、コンピュータ301に、上述した実施の形態の表情報処理装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
【0254】
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
【0255】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0256】
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
【0257】
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。つまり、表情報処理装置1は、スタントアロンの装置でも良い。かかる場合、表情報処理装置1の受付部12、出力指示受付部121、ファイル受付部122、および対応受付部123は、ユーザからの指示やデータ等を受け付ける。また、出力部14、表出力部141は、例えば、ディスプレイ等に表示する。
【0258】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【0259】
以上のように、本発明にかかる表情報処理装置は、表にデータを容易かつ適切に追加できるという効果を有し、表情報処理装置等として有用である。
【符号の説明】
【0260】
1 表情報処理装置
2 端末装置
11 格納部
12 受付部
13 処理部
14 出力部
21 端末格納部
22 端末受付部
23 端末処理部
24 端末送信部
25 端末受信部
26 端末出力部
111 表定義情報格納部
112 表格納部
121 出力指示受付部
122 ファイル受付部
123 対応受付部
131 関係判断部
132 対応促進部
133 開始行決定部
134 レコード取得部
135 一致判断部
141 表出力部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27