みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
よろしくお願いします。FileMaker13です。
https://fm-aid.com/bbs2/viewtopic.php?id=1064
今は処理を改善できたのですが、以前は不要なレコードが残ってしまう仕様で、
蓄積した不要なレコードを削除する方法を探しています。
以前の仕様は下記のようなものです。
保証書のようなものを社内で発行していて、その記録です。
印刷ボタンを押すと保証書記録テーブルに新規レコードを作って
任意のフィールドに書き込む単純なスクリプトです。
よく保証書を訂正することがあり、その都度誤った古いレコードがそのまま残っていました。
●保証書記録
商品ID
日付
保証書番号
お客様名
記録日時
このテーブルから商品IDと日付が同じであれば最新のレコードのみを残して
後は削除したいのですが、そのようなことは可能でしょうか。
商品ID=商品ID
日付=日付
記録日時>記録日時
でリレーションを設定して、
全レコードを表示
対象レコードの関連レコードへ移動
表示されたレコードを削除
あるいは
記録日時<記録日時
にしてCount(右側::日付)が1以上のを削除
tim様ありがとうございます。
しかしどうもうまくいきません。
テーブルオカレンス「保証書記録削除用」を作成し、
商品ID=商品ID
日付=日付
記録日時>記録日時
で自己リレーションを設定しました。
スクリプトで関連レコードへ移動
関連レコードの取得元「保証書記録」
レコードの表示に使用するレイアウト「保証書記録削除用」
関連レコードのみを表示にチェック(現在の対象レコード内のすべてのレコードを照合)
OKを押しても全てのレコードが表示される状態になってしまいます。
関連レコードの取得元「保証書記録」
これはリレーション先のテーブルを指定します。
リレーションシップグラフでのテーブル名が
保証書記録 --- 保証書記録 2
なら、
保証書記録 2
がそのテーブルですね。
提示されたリレーションでは、
必ず最新のレコードを選択してからスクリプトを実行する必要がありますね。
しかし、
レコードを作って削除
とするより、
重複レコードを作らせないようにするべきでは。
Offline
うまくいきました!tim様、チポ様ありがとうございます。
重複レコードを作らせない仕様は↓で実現できたのですが、
それ以前に作られたレコードを削除したかったのです。
ありがとうございました。
https://fm-aid.com/bbs2/viewtopic.php?id=1064
Pages: 1
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 510.95 KiB (Peak: 516.99 KiB) ]