みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になります。
表題の件で、レイアウト上に置いてあるフィールドを複数変更後に保存した際に、変更されたフィールド名を一覧で取得したいです。
Get ( 変更されたフィールド ) で取得できると思い試しましたが、同じレイアウトに置いてある リレーション先のフィールドが取れませんでした。
リファレンスを見る限り、違うテーブルなので取れないということですよね。
レコードの読み込み時にフィールドの値を保持して比較すれば取れるとは思いますが、
Get ( 変更されたフィールド ) みたいなスマートな方法があればと思い質問させて頂きました。
よろしくお願いします。
Offline
https://www.cnsplug-ins.com/Plug-ins/CNS_Audit
のプラグインを使うのが、一番簡単でしょうね。
Offline
リレーションが 1対1 であれば、
ポータル表示のテーブルに以下の計算フィールドを追加
フィールド名:c変更されたフィールド|タイプ:計算|非保存、=Get (変更されたフィールド)
親テーブル側で以下のようにすれば、子テーブルの変更されたフィールド名も取得出来ます。
Let([
¢変更されたフィールド=Get ( 変更されたフィールド )
;¢r=If ( IsEmpty ( ¢変更されたフィールド ) ; "" ; ¶ )
];
¢変更されたフィールド & ¢r & Table2::c変更されたフィールド
)
リレーションが 1対多 の場合は、他の方法を考えないと.....。
Offline
>Shinさん
リンク先拝見しました。
これは使いやすそうなプラグインですね!
なかなかのお値段なので、ちょっと相談してみようと思います。
ありがとうございました。
>qb_dpさん
なるほど違うテーブルのデータが取れないなら、そのテーブルで取っちゃおうってことですね。
今のところ1:1でのリレーションを想定していますが、今後1:多が出てくるかもしれません。
検討してみます。
ありがとうございました。
Offline
対多になっても
List関数
で全ての関連レコードのフィールド値をリストで得られますよ。
それより、、
リレーションが単純にレコード数で見て
1対1
なら、テーブルを二つにする意味がありません。
同期等考えたら一つにするべきでしょう。
Offline
>チポさん
List関数を失念していました。
なるほど、それなら一覧で取得できますね。
確かに一つにすべきかもしれません。
1テーブル辺りのフィールド数がかなり多くなるため、グループごとに別テーブルにしてしまっています。
そちらも検討してみます。
ありがとうございました。
Offline
Pages: 1
[ Generated in 0.038 seconds, 8 queries executed - Memory usage: 510.06 KiB (Peak: 514.97 KiB) ]