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

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

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

You are not logged in.

Announcement

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


#1 2014-03-03 09:52:51

める
Guest

商品IDと日付が同じであれば最新のレコードのみを残して後は削除

よろしくお願いします。FileMaker13です。
https://fm-aid.com/bbs2/viewtopic.php?id=1064

今は処理を改善できたのですが、以前は不要なレコードが残ってしまう仕様で、
蓄積した不要なレコードを削除する方法を探しています。
以前の仕様は下記のようなものです。

保証書のようなものを社内で発行していて、その記録です。
印刷ボタンを押すと保証書記録テーブルに新規レコードを作って
任意のフィールドに書き込む単純なスクリプトです。
よく保証書を訂正することがあり、その都度誤った古いレコードがそのまま残っていました。

●保証書記録
商品ID
日付
保証書番号
お客様名
記録日時


このテーブルから商品IDと日付が同じであれば最新のレコードのみを残して
後は削除したいのですが、そのようなことは可能でしょうか。

#2 2014-03-03 12:41:31

tim
Guest

Re: 商品IDと日付が同じであれば最新のレコードのみを残して後は削除

商品ID=商品ID
日付=日付
記録日時>記録日時
でリレーションを設定して、
全レコードを表示
対象レコードの関連レコードへ移動
表示されたレコードを削除

あるいは
記録日時<記録日時
にしてCount(右側::日付)が1以上のを削除

#3 2014-03-03 16:03:08

める
Guest

Re: 商品IDと日付が同じであれば最新のレコードのみを残して後は削除

tim様ありがとうございます。

しかしどうもうまくいきません。
テーブルオカレンス「保証書記録削除用」を作成し、

商品ID=商品ID
日付=日付
記録日時>記録日時
で自己リレーションを設定しました。

スクリプトで関連レコードへ移動
関連レコードの取得元「保証書記録」
レコードの表示に使用するレイアウト「保証書記録削除用」
関連レコードのみを表示にチェック(現在の対象レコード内のすべてのレコードを照合)

OKを押しても全てのレコードが表示される状態になってしまいます。

#4 2014-03-03 16:36:00

チポ
Member

Re: 商品IDと日付が同じであれば最新のレコードのみを残して後は削除

関連レコードの取得元「保証書記録」

これはリレーション先のテーブルを指定します。

リレーションシップグラフでのテーブル名が
  保証書記録 --- 保証書記録 2
なら、
  保証書記録 2
がそのテーブルですね。

提示されたリレーションでは、
必ず最新のレコードを選択してからスクリプトを実行する必要がありますね。


しかし、
レコードを作って削除
とするより、
重複レコードを作らせないようにするべきでは。

Offline

#5 2014-03-03 17:01:51

めろ
Guest

Re: 商品IDと日付が同じであれば最新のレコードのみを残して後は削除

うまくいきました!tim様、チポ様ありがとうございます。

重複レコードを作らせない仕様は↓で実現できたのですが、
それ以前に作られたレコードを削除したかったのです。
ありがとうございました。
https://fm-aid.com/bbs2/viewtopic.php?id=1064

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 510.95 KiB (Peak: 516.99 KiB) ]