みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
こんにちは、FM初心者です。
2つのテーブルを比較して、片方のテーブルで削除されたレコードのIDの一覧を取得したいと思っています。
どのような方法があるのでしょうか。
====================
例
====================
【Aテーブル】
ID
作成者
作成タイムスタンプ
修正者
修正タイムスタンプ
会社名
【Bテーブル】
ID
作成者
作成タイムスタンプ
修正者
修正タイムスタンプ
会社名
※IDは同じ会社名だと同じIDです。
※IDはUUIDにしています。
※イメージとしては同期処理です。
※FM17で利用可能なスクリプトでお願いします。
※このままのフィールド構成でも、別途フィールドを追加してもOKです。
※参考URLなどありましたらそちらでも大丈夫です。
よろしくお願いいたします。
最終的に実現したい機能が漠然としているので、どのようなスクリプトを組めば良いのかイメージが湧きませんが…
AテーブルとBテーブル、それぞれ独立にレコード削除される可能性があるのですか?
一覧を取得したいとのことですが、その一覧はどういう形式で取得したいのですか?値一覧?最終的にはどのように表示?
Offline
ID でリレーションしておき、
全レコードを表示
関連レコードへ移動[関連レコードのみを表示;現在の対象レコード内のすべてのレコードを照合]
対象外のみを表示
Offline
最終的に実現したい機能が漠然としているので、どのようなスクリプトを組めば良いのかイメージが湧きませんが…
AテーブルとBテーブル、それぞれ独立にレコード削除される可能性があるのですか?
一覧を取得したいとのことですが、その一覧はどういう形式で取得したいのですか?値一覧?最終的にはどのように表示?
コメントありがとうございます。
具体性がかけていましたね。すみません。
-------------------------------------------
具体的には。
-------------------------------------------
・001ファイルにAテーブル、002ファイルにBテーブが存在しています。
・001ファイルはホスト、002ファイルはFielmakerGoです。
(※002ファイルと同等な003ファイルがありますが、話がややこしくなるので割愛です。)
・002ファイル(FielmakerGo)は出先で利用して、001ファイル(ホスト)には常時接続している状況ではありません。
・001ファイル(ホスト)のAテーブルも002ファイル(FielmakerGo)のBテーブルでもそれぞれ独立してレコードの削除があります。
・事務所にもどったときに同期をかけ、001ファイル(ホスト)のAテーブルも002ファイル(FielmakerGo)のBテーブルも同じデータをもつようにしたのです。
このような感じです。
取得したデータはとりあえず、ワークテーブルなどに保存して、削除されたIDを起点にビジネスルールにしたがって処理をして同期を図りたいと思っています。
ID でリレーションしておき、
全レコードを表示
関連レコードへ移動[関連レコードのみを表示;現在の対象レコード内のすべてのレコードを照合]
対象外のみを表示
コメントありがとうございます。
試してみます。
Shin wrote:ID でリレーションしておき、
全レコードを表示
関連レコードへ移動[関連レコードのみを表示;現在の対象レコード内のすべてのレコードを照合]
対象外のみを表示コメントありがとうございます。
試してみます。
早速テストしてみました。
数個のデータですが上手くできました。
ありがとうございます。
具体的な運用がわかりませんが、レコードを削除させるような運用は避けるべきでしょう。
私でしたら、削除というフラグを作っておき、ユーザーにはアクセス不許可にします。
Offline
具体的な運用がわかりませんが、レコードを削除させるような運用は避けるべきでしょう。
私でしたら、削除というフラグを作っておき、ユーザーにはアクセス不許可にします。
コメントありがとうございます。
たしかにそうですね。作成途中でそういう方法もあるだと知りました。
「会社」「報告書_親」「報告書_子」のテーブルがあり。
「報告書_子」のポータルで「会社」のデータを利用していて。
ここで「会社」テーブルのあるレコードの削除フラグをONにした場合
「報告書_子」の処理はどのようにすればよいのかが浮かばす、今の所見送っています。
>削除というフラグを作っておき、ユーザーにはアクセス不許可にします
こういった処理は、削除フラグ立てたあと、どのように不許可にするのでしょうか?
リレーションを張ってあるのですよね。
リレーション先のフィールドを参照すればいいです。
Offline
この場に至って、そもそも論で恐縮ですが、
「常時同期の全く同じ2つのテーブル」というのは、
リレーショナルデータベースの「正規化」の考え方から言って、
そもそも発想間違ですネ。
Offline
リレーションを張ってあるのですよね。
リレーション先のフィールドを参照すればいいです。
コメントありがとうございます。これは日報_子での参照についてでしょうか。
この場に至って、そもそも論で恐縮ですが、
「常時同期の全く同じ2つのテーブル」というのは、
リレーショナルデータベースの「正規化」の考え方から言って、
そもそも発想間違ですネ。
コメントありがとうございます。
【Aテーブル】と【Bテーブル】はそれぞで別ファイルで、
常にお互いは接続状態でなく、【Bテーブル】は外出先で利用します。
【Aテーブル】と【Bテーブル】は違う担当者がそれぞれ違うデータを入力します。
提供情報が少ないのであれですが、
このような状況で正規化のアイデアをいただけたら幸いです。
たんなる参照ではなく、アクセス権設定上のものです。
Offline
たんなる参照ではなく、アクセス権設定上のものです。
コメントありがとうございます。
アクセス権とからめるのですね。
勉強不足なので勉強してみます。
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 549.96 KiB (Peak: 570.5 KiB) ]