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

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

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

You are not logged in.

Announcement

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


#1 2019-09-26 21:53:36

nao
Guest

フィールド内容の全置換

昨日、Shinさんよりアドバイス頂き無事解決しました。
https://fm-aid.com/bbs2/viewtopic.php?id=9644

例)
AテーブルのID:001
Bポータル内でフィールド1.担当者選び 2.日付 3.予約内容(商談)としています。

OnObjectSave トリガーを使って、スクリプトを
関連レコードへ移動(新規ウィンドウ)で B へ移動。
レコードを対象外。
フィールドを全置換( "-" )。
ウインドウを閉じる。
で、予約内容を商談から確定へ変更すると確定者以外は3.予約内容( "-" )と全置換できるようになりました。

今回、商談者が間違えて商談をした場合に元に戻すためにスクリプトを
関連レコードへ移動(新規ウィンドウ)で B へ移動。関連レコードのみ・現在のレコードのみ。
フィールドを全置換(商談)。
ウインドウを閉じる。

これで、関連のレコードのBテーブルの3.予約内容を商談へ戻すことはできているのですが。

新たにAテーブルで新規レコード追加(ID:003)でB(ポータル)のレコードがない状態で実行してみると、
AテーブルのID:001・ID002までが(商談)と書き換わってしまいます。

AテーブルのID:003のみ、(Bテーブルポータル)3.予約内容の( 確定 )と( - )がある場合は商談へ戻し、
フィールドが無記入の状態は実行させない様にできるのでしょうか。
どなた様か宜しくお願い致します。

#2 2019-09-27 02:57:49

Shin
Member

Re: フィールド内容の全置換

関連レコードへ移動 でエラーになります。エラー処理を行っておけばいいです。

Offline

#3 2019-09-27 09:21:27

チポ
Member

Re: フィールド内容の全置換

スクリプトの最初に、
関連レコードの有無を見て、なければスクリプト終了
とした方がいいのでは。

また、
> 3.予約内容の( 確定 )と( - )がある場合は商談へ戻し、
フィールドが無記入の状態は実行させない

List関数で、
予約内容の一覧を得られます。
その内容を判定することでご希望の動きができますよね。


フィールド内容の全置換
は元へ戻せません。
実行するときはバックアップを取るなり、慎重に行うべきですよ。

Offline

#4 2019-09-27 10:04:07

Shin
Member

Re: フィールド内容の全置換

変数を設定[$st ; List( テーブルB::予約内容 )]
If ( valuecount ( $st ) )
関連レコードへ移動
フィールドを全置換(予約内容 ; ###)
ウィンドウを閉じる
end if

### には
Case (
ValueCount ( FilterValues ( $st ; "確定" ) ) ; Case ( 予約内容 = "確定" ; "確定" ; IsEmpty ( 予約内容 ) ; "" ; "-" ) ;
Case ( IsEmpty ( 予約内容 ) ; "" ; "商談" )
)
という計算式にするといいでしょう。

"-" が含まれるかどうかは、関連レコードが 複数のときのみの判断になり、1個だけの時には判断材料にはなりませんので、条件としては不適格です。

Offline

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.45 KiB (Peak: 516.64 KiB) ]