○久しぶりに桐の話題です。文書作りは一般にワープロソフトで行われていますが、ワープロソフトによる文書は原則として,一文書一ファイルとなり、文書の数が増える毎にファイルが増えて、後で検索するのが大変で,且つ、増えたファイルが煩わしくて仕方なく、これを何とかしたいと思って始めたので、一文書1レコードで作成するデータベースソフト桐での文書作りでした。平成5,6年頃ですから、最初にデータベースソフト桐による文書作りを始めてから10数年になります。全て桐に切り(桐)変え、事務所で作成する文書の99%を桐で作成するようになり、正に、もう、これっ桐になってしまいました(^^)。○一文書1ファイルから一文書1レコードへの切り替えで便利なことは、単に検索・複写等が簡単なだけではなく、文書作りでの大幅省力実現であり、そのキーポイントは、複数ファイルのリレーショナル化にあります。データベースソフトでのリレーショナル化の正しい使い方は、「リレーショナルデータベースの正規化」であり、「表(テーブル)の関連性を失う事なく、中にあるデータの冗長性やムダを少なくし、項目同士の更新が効率よく行えるよう、表(テーブル)を分解する事」で、桐では、結合表で実現するのが普通です。○しかし、この結合表、私にはなかなか難しくて、実務利用は殆どしておらず、簡単に複数ファイルのリレーショナル化を実現する方法として、表引き関数を利用しています。この表引き関数でのリレーショナル化は、一時作成した桐ファイルに入力したデータを簡単に取り出して、別な桐ファイルのデータとして入力するもので、「データの冗長性やムダを少なくし、項目同士の更新が効率よく行える」との厳密な意味でのリレーショナル化ではありません。MLに久しぶりの質問投稿がありました。依頼者ファイルと、実費事件ファイルの2つのファイルがあるところ、依頼者ファイルに、新たに「事件終了」の項目を作り、ここに「1」を入れるかどうかで終了か否かを区別し、同様に「実費管理」ファイルにも「事件終了」の項目を作り、この項目は「依頼者」ファイルの「事件終了」項目の値を表引き機能を利用して,自動入力したいが、うまくいかないというものです。○これも理想的には、実費事件ファイルと依頼者ファイルを結合表で結合して、必要なデータを取り出す方法が宜しかろうと思いますが、私自身結合表を利用していないので説明できません。)と言う表引き関数を利用しています。○実費事件ファイルにも、依頼者ファイルにも「事件終了」と言う項目を作ります。依頼者ファイルの「事件終了」項目に終了事件レコードでは”1”を入力します。次に実費事件ファイルにも「事件終了」項目を作り、項目計算式として、#表引き([依頼者名],=,"依頼者.tbl",[依頼者名],[事件終了])と入力します。これは”実費管理.tbl”の項目[依頼者名]と"依頼者.tbl"の項目[依頼者名]のデータが、一致する即ち「=」のレコードの"依頼者.tbl"の項目[事件終了]のデータを取り出して”実費管理.tbl”の項目[事件終了]に入れると言う関数式です。○これによって、実費事件ファイルの「事件終了」項目には自動的に依頼者ファイルの「事件終了」項目データが、新規挿入データは計算式結果が自動的に入力され、既存レコードについては、置換→再計算で全レコード一括入力されます。上記は比較するデータを「依頼者名」で行っていますが、この比較は余り好ましくありません。依頼者には同姓同名の方が居ますし、また、依頼者が顧問会社の場合、複数の事件を依頼されることもあり、この場合、最初のレコードだけが入力され正確性が保てません。比較するデータは、重複値がない、例えば依頼者ファイルの事件ID、実費事件ファイルの事件IDというような項目を作り、重複値が出ないようにして、比較する方が正確です。上記内容で送信する(要チェック)※大変恐縮ながら具体的事件のメール相談は実施しておりません。複数ファイルのリレーショナル化-表引き関数で。