初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2020-05-23 18:44:01

初心者AAA
Guest

2つのテーブルを比較して、片方のテーブルから削除したIDの一覧を作成したいです。

こんにちは、FM初心者です。

2つのテーブルを比較して、片方のテーブルで削除されたレコードのIDの一覧を取得したいと思っています。
どのような方法があるのでしょうか。
====================

====================
【Aテーブル】
ID
作成者
作成タイムスタンプ
修正者
修正タイムスタンプ
会社名

【Bテーブル】
ID
作成者
作成タイムスタンプ
修正者
修正タイムスタンプ
会社名

※IDは同じ会社名だと同じIDです。
※IDはUUIDにしています。
※イメージとしては同期処理です。
※FM17で利用可能なスクリプトでお願いします。
※このままのフィールド構成でも、別途フィールドを追加してもOKです。

※参考URLなどありましたらそちらでも大丈夫です。

よろしくお願いいたします。

#2 2020-05-23 22:05:03

koeda
Member

Re: 2つのテーブルを比較して、片方のテーブルから削除したIDの一覧を作成したいです。

最終的に実現したい機能が漠然としているので、どのようなスクリプトを組めば良いのかイメージが湧きませんが…

AテーブルとBテーブル、それぞれ独立にレコード削除される可能性があるのですか?
一覧を取得したいとのことですが、その一覧はどういう形式で取得したいのですか?値一覧?最終的にはどのように表示?

Offline

#3 2020-05-24 06:00:41

Shin
Member

Re: 2つのテーブルを比較して、片方のテーブルから削除したIDの一覧を作成したいです。

ID でリレーションしておき、
全レコードを表示
関連レコードへ移動[関連レコードのみを表示;現在の対象レコード内のすべてのレコードを照合]
対象外のみを表示

Offline

#4 2020-05-24 08:42:47

koedaさん
Guest

Re: 2つのテーブルを比較して、片方のテーブルから削除したIDの一覧を作成したいです。

koeda wrote:

最終的に実現したい機能が漠然としているので、どのようなスクリプトを組めば良いのかイメージが湧きませんが…
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を起点にビジネスルールにしたがって処理をして同期を図りたいと思っています。

#5 2020-05-24 08:44:41

Shinさん
Guest

Re: 2つのテーブルを比較して、片方のテーブルから削除したIDの一覧を作成したいです。

Shin wrote:

ID でリレーションしておき、
全レコードを表示
関連レコードへ移動[関連レコードのみを表示;現在の対象レコード内のすべてのレコードを照合]
対象外のみを表示

コメントありがとうございます。
試してみます。

#6 2020-05-24 08:57:01

Shinさん
Guest

Re: 2つのテーブルを比較して、片方のテーブルから削除したIDの一覧を作成したいです。

Shinさん wrote:
Shin wrote:

ID でリレーションしておき、
全レコードを表示
関連レコードへ移動[関連レコードのみを表示;現在の対象レコード内のすべてのレコードを照合]
対象外のみを表示

コメントありがとうございます。
試してみます。

早速テストしてみました。
数個のデータですが上手くできました。
ありがとうございます。

#7 2020-05-24 15:07:21

Shin
Member

Re: 2つのテーブルを比較して、片方のテーブルから削除したIDの一覧を作成したいです。

具体的な運用がわかりませんが、レコードを削除させるような運用は避けるべきでしょう。
私でしたら、削除というフラグを作っておき、ユーザーにはアクセス不許可にします。

Offline

#8 2020-05-25 19:06:49

Shinさん
Guest

Re: 2つのテーブルを比較して、片方のテーブルから削除したIDの一覧を作成したいです。

Shin wrote:

具体的な運用がわかりませんが、レコードを削除させるような運用は避けるべきでしょう。
私でしたら、削除というフラグを作っておき、ユーザーにはアクセス不許可にします。

コメントありがとうございます。
たしかにそうですね。作成途中でそういう方法もあるだと知りました。

「会社」「報告書_親」「報告書_子」のテーブルがあり。
「報告書_子」のポータルで「会社」のデータを利用していて。

ここで「会社」テーブルのあるレコードの削除フラグをONにした場合
「報告書_子」の処理はどのようにすればよいのかが浮かばす、今の所見送っています。

>削除というフラグを作っておき、ユーザーにはアクセス不許可にします
こういった処理は、削除フラグ立てたあと、どのように不許可にするのでしょうか?

#9 2020-05-25 19:23:41

Shin
Member

Re: 2つのテーブルを比較して、片方のテーブルから削除したIDの一覧を作成したいです。

リレーションを張ってあるのですよね。
リレーション先のフィールドを参照すればいいです。

Offline

#10 2020-05-25 21:32:57

Hiro
Member

Re: 2つのテーブルを比較して、片方のテーブルから削除したIDの一覧を作成したいです。

この場に至って、そもそも論で恐縮ですが、

「常時同期の全く同じ2つのテーブル」というのは、
リレーショナルデータベースの「正規化」の考え方から言って、
そもそも発想間違ですネ。

Offline

#11 2020-05-26 19:27:29

Shinさん
Guest

Re: 2つのテーブルを比較して、片方のテーブルから削除したIDの一覧を作成したいです。

Shin wrote:

リレーションを張ってあるのですよね。
リレーション先のフィールドを参照すればいいです。

コメントありがとうございます。これは日報_子での参照についてでしょうか。

#12 2020-05-26 19:36:05

Hiroさん
Guest

Re: 2つのテーブルを比較して、片方のテーブルから削除したIDの一覧を作成したいです。

Hiro wrote:

この場に至って、そもそも論で恐縮ですが、

「常時同期の全く同じ2つのテーブル」というのは、
リレーショナルデータベースの「正規化」の考え方から言って、
そもそも発想間違ですネ。

コメントありがとうございます。

【Aテーブル】と【Bテーブル】はそれぞで別ファイルで、
常にお互いは接続状態でなく、【Bテーブル】は外出先で利用します。
【Aテーブル】と【Bテーブル】は違う担当者がそれぞれ違うデータを入力します。

提供情報が少ないのであれですが、
このような状況で正規化のアイデアをいただけたら幸いです。

#13 2020-05-26 20:03:33

Shin
Member

Re: 2つのテーブルを比較して、片方のテーブルから削除したIDの一覧を作成したいです。

たんなる参照ではなく、アクセス権設定上のものです。

Offline

#14 2020-05-27 06:06:59

shinさん
Guest

Re: 2つのテーブルを比較して、片方のテーブルから削除したIDの一覧を作成したいです。

Shin wrote:

たんなる参照ではなく、アクセス権設定上のものです。

コメントありがとうございます。

アクセス権とからめるのですね。
勉強不足なので勉強してみます。

Registered users online in this topic: 0, guests: 1
[Bot] claudebot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 549.96 KiB (Peak: 570.5 KiB) ]