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

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

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

You are not logged in.

Announcement

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


#1 2019-03-23 12:20:50

akkunn
Member

スクリプト

いつもお世話になっております

Win10 FM16です

繰り返しフィールド
(A「50」、B「50」、C「50」、D「50」・・・・Z「50」)まで
あるとします

フィールドの中を削除するスクリプトを作成したいのですが
なかなかうまくできません

エラー処理オン
カスタムログを表示
If「Get(最終最終メッセージ=1)」
フィールド全置換A「50」;””



Ifend

全置換で全てクリアする式を作ろうとしたのですが
繰り返しの最初の1番目しか削除されずこまっています。
どのようにしたらいいでしょうか?
あと1個ずつ選択していくのが大変なのですが簡単にする方法はないでしょうか?

Offline

#2 2019-03-23 12:47:00

Shin
Member

Re: スクリプト

繰り返し毎に処理していく必要があります。loop で処理すればできるでしょう。
データ書き出しておいて、全レコードを削除して、新たに作った方が早いかも。

繰り返しフィールドは、色々と処理が面倒ですので、どうしても必要な計算フィールド以外は使われない方がいいですよ。

Last edited by Shin (2019-03-23 12:50:57)

Offline

#3 2019-03-23 12:48:05

Hiro
Member

Re: スクリプト

・   // エラー処理オン (本当に必要?)
・   カスタムログを表示
・If[Get(最終メッセージ)=1]
・   変数を設定[$i; 0]
・   Loop
・      Exit Loop If[Let([$i=$i+1]; $i>50)]
・      フィールド内容の全置換[A[$i];値:""]
・      フィールド内容の全置換[B[$i];値:""]
・         ・・・・・・
・      フィールド内容の全置換[Z[$i];値:""]
・   End Loop
・End If

あるいは、

・   // エラー処理オン (本当に必要?)
・   カスタムログを表示
・If[Get(最終メッセージ)=1]
・   レコードへ移動[最初の]
・   Loop
・      変数を設定[$i; 0]
・      Loop
・         Exit Loop If[Let([$i=$i+1]; $i>50)]
・         フィールド設定[A[$i];値:""]
・         フィールド設定[B[$i];値:""]
・            ・・・・・・
・         フィールド設定[Z[$i];値:""]
・      End Loop
・      レコードへ移動[次の;最後まで来たら終了]
・   End Loop
・End If

Last edited by Hiro (2019-03-23 13:10:33)

Offline

#4 2019-03-23 15:29:02

akkunn
Member

Re: スクリプト

ありがとうございます

エラー処理オン
つけたほうがいいのかなと思ってつけていました

繰り返しフィールドを使用したらかなりめんどくさい
スクリプトになってしまうのですね

出来る限り使用しない方法を検討したいと思います
今回はもうすでに作ってしまっているので
Hiroさんの参考にさせてもらいます

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: 510.83 KiB (Peak: 517.92 KiB) ]