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

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

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

You are not logged in.

Announcement

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


#1 2020-03-31 16:30:51

POB
Guest

比較して、更新された部分を別のテーブルに表示させる

Filemaker初心者です。

まず、テーブルAに、1ヶ月前の約100点の商品データ(部品や場所、シリアルナンバーなど)をCSVファイルで、インポートします。そして、現時点での商品データをテーブルBにインポートします。そうすると、必然的に、「Before」と「After」の状態ができます。ここで、これらを比較し、なくなったデータや追加されたデータ、場所が変更されたデータ等の、データが更新された商品のみを抽出し、テーブルCに「変更された商品」といった一覧を作成したいです。

現状としては、スクリプトを使ったインポート方法はクリアしたのですが、比較方法や抽出方法をスクリプト上でどう書いたら良いのかで、困っています。

ご教授のほど、よろしくお願いいたします。

#2 2020-04-18 22:59:17

POB2
Guest

Re: 比較して、更新された部分を別のテーブルに表示させる

インポートしたファイルの名前をフィールドに残す事はできますか。

Excelファイルをインポートするスクリプトを書きました。インポートしてテーブルに一覧として表示させます。その際の、ファイルの名前をテーブルのフィールドに保存し、レイアウト上に表示させたいです。可能でしょうか。現在は、テーブルは一つしか用意していません。この場合、もう一つデータを格納したりするようのテーブルを用意する必要はありますか。ファイルについては、ファイルとその名前は保存しておくつもりはありません。新しいファイルを読み込む際に全てレコード削除を行なっています。読み込んでいる間だけ、表示できれば問題ないです。

以下、書いたスクリプトです。ここに追加する形で何かいい方法はありますか。ご教授お願いいたします。(2〜4行目はほとんど関係ないと思います。)

レコードのインポート[ダイアログ: テーブル: 追加]
検索実行する[記憶する]
対象レコード[ダイアログ]
全レコード表示

FileMaker Pro 18 Advanced、Macです。
よろしくお願いいたします。

#3 2020-04-19 08:49:58

Shin
Member

Re: 比較して、更新された部分を別のテーブルに表示させる

なくなったデータや追加されたデータ、は、簡単に求められます。商品ごとの状態を示すフラグフィールドを、インポート元、インポート先に追加しておき、デフォルトを0にしておきます。
インポート元がどこで作成されているかわかりませんが、そちらで変更された場合には、そのflagを1にしておきます。削除予定のものは9にしておきます。インポートの際に、インポート先の0のflagを9に置換して、照合インポートします。インポートされなかったレコード(削除されたレコード)はflagが9のままで、それ以外は、インポート元のデータに書き換わります。作成日付を見てその時に作成されたレコードが新規作成レコードです。

場所が変更されたデータは、ちょっと難しいです。元のファイルが FIleMaker で作られているのでしたら、場所を触ったタイムスタンプを記録していき、同時にflagを5などに設定するようにしておけば、インポート後に判別可能でしょう。
または、場所も照合条件にいれたインポートを最初に追加して、インポート関係ない別のflagを立てておき、インポート処理後にflagへ反映させてもいいかもしれませんね。

Last edited by Shin (2020-04-19 08:50:11)

Offline

#4 2020-04-19 10:57:03

チポ
Member

Re: 比較して、更新された部分を別のテーブルに表示させる

リレーションを二つ
  商品
  商品 and 場所

商品の関連レコードで
商品 and 場所
で照合しないレコードが、場所が異なるレコードです。

他の要素も同様に考えればいいでしょう。

「異なる」
だけが分かればいいのなら、そのフィールドを全部 and
で照合させればいいですね。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 509.03 KiB (Peak: 515.95 KiB) ]