特定条件の時のみ特定フィールドにデータを表示させる設定がどうやら出来たようです。
三人寄れば文殊の知恵と言いますが、自分では思いつかない事などを人の助けを借りての完成です。
以前では希望の動作が概ね出来たものの、操作中データが意図せず消えると言う問題がありました。
それを振り替えてみるとリンクが正しい意味で「自己参照」になっていないのが原因でした。
この「自己参照」という意味をわかっていなかった事に今回の問題が出でしまった事になります。
今でも理解不足な部分が多々ありますが、泥縄方式(オンジョブトレーニング)でやっています。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
目的の動作は、一行レイアウトブラウズモードでフィールド1とフィールド2が一致した場合の
フィールド3データを書き替えた場合、検索せずに(自動的に)全置換したいと言うものです。
さらに、このフィールド3をボディーでなくフッターに置きたい。と言う事で悩んでいました。
自己リレーションシップ(と思い込んでいた)自体はファイルをコピーして、リレーションすれば
出来ます。同じデータを作るのもリレーションの設定で可能ですが自己リレーションでは有りません。
そのため、該当のレコードのひとつを消してしまうと該当すべてが消えてしまうらしかったのです。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
自分が常に正しいと思い込んでいますから、ひとは自分のミスにはなかなか気がつきません。
そこで新人君に見直しを依頼したところ、自分では気がつかなかった以下のことがわかりました。
データベースウインドウで「新規リレーション」ボタンを押すとリレーションシップウインドウ内で
新規テーブルがコピーされ「ファイル名2」というテーブルが作成されます。
このときのテーブル名は「イタリック」ではありません。イタリックですと他ファイルです。
そこで、同一ファイルの(コピーされた)別テーブルのリレーションシップ設定をします。
これで自己参照リレーションシップが完成したと思います。さらに次の問題があります。
自己参照リレーションはいいのですが、フィールド3をボディーでなくフッタに置く必要があります。
なぜなら、表のように見える一行レイアウトですとスクロールしないで見るには表示領域が狭く、
広い部分が必要ですからです。後部総計パートですと表示が上手くできませんので困りました。
フッタを新たに追加してそちらを入力表示領域にすると希望の動作が出来ますが、印刷空白がでます。
そこで入力用と印刷用と二つのレイアウトを用意し、使い分けをすると印刷時空白がでませんでした。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
自己参照リレーションシップを使ってデータを表示させたい部分
自己参照リレーションシップの作成
自己参照リレーションシップでテーブルの指定
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー