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

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

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

You are not logged in.

Announcement

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


#1 2016-07-20 10:21:54

sora
Guest

値一覧の入力条件でスクリプト中止

V12を使っています。
検査Aと検査Bのフィールドがあります。
現在、検査Bのスクリプトトリガ設定OnObjectModifyで下記スクリプトを利用中です。
新たに検査Bの●廃棄の際は[入力済みなので取り消します。]と表示させてスクリプトを実行させない事が必要になりました。
色々試しているのですが解決できず困っています。

検査A 〇合格 〇不良
検査B 〇廃棄

If[ 検査A=/””
元に戻す/再実行[元に戻す]
カスタムダイアログを表示 [入力済みなので取り消します。]
フィールド設定[検査B;””]
全スクリプト終了
End If
カスタムダイアログを表示 [廃棄しますが間違いないですか?デフォルトボタン「OK」],確定「はい」;ボタン2「キャンセル」,確定;「はい」]
If[ Get(最終メッセージ選択)=2]
フィールド設定[検査2;””]
End If

#2 2016-07-20 13:02:25

scripter
Guest

Re: 値一覧の入力条件でスクリプト中止

利用中のスクリプトにすでにこれから表示したいメッセージがあるのは何ですか?
元に戻してるのは検査Bのはずですが、そのあとでフィールド設定しているのは?
最初のIFで検査Aを調べているのは?

#3 2016-07-20 14:39:54

boo_7100
Member

Re: 値一覧の入力条件でスクリプト中止

>色々試しているのですが解決できず困っています。
現在のスクリプトで何を解決したいのかが見えて来ないです。

まずフィールド設定[検査B;””]で処理をするのであればOnObjectSaveでも良いと思います。
また、現在のスクリプトだと検査Aに入力がある場合に廃棄が出来ないように見えますが、
それなら検査Aの値一覧に廃棄をいれても良いのではないでしょうか?

Last edited by boo_7100 (2016-07-20 14:48:30)

Offline

#4 2016-07-20 14:49:51

sora
Guest

Re: 値一覧の入力条件でスクリプト中止

boo_7100 wrote:

>色々試しているのですが解決できず困っています。
現在のスクリプトで何を解決したいのかが見えて来ないです。

フィールド設定[検査B;””]で処理をするのであればOnObjectSaveでも良いような気がします。
現在のスクリプトだと検査Aに入力がある場合に廃棄が出来ないように見えますが、それなら
検査Aに廃棄をいれた方が早いような気がします。

当初は検査のみでしたが、事情がありA, Bの二つに分けました。
検査Bの●廃棄に入力しているにも関わらず、クリックすることがあるので、スクリプトを実行させない事が必要になりました。

#5 2016-07-20 15:10:18

boo_7100
Member

Re: 値一覧の入力条件でスクリプト中止

了解しました
それであれば今のスクリプトと並行して検査BのOnObjectEnterに下記のスクリプトを組んで、検査Bに"廃棄"が入っていたら次のフィールドに移動させては如何でしょうか?
If(レコード名::検査B = "廃棄")
次のフィールドに移動
全スクリプト終了
End If

Last edited by boo_7100 (2016-07-20 15:21:36)

Offline

#6 2016-07-20 15:24:55

boo_7100
Member

Re: 値一覧の入力条件でスクリプト中止

↑ただ、この方法だと誤って「廃棄」を選んだら修正出来なくなりますね...
回避方法としては別の場所にボタンを追加して「フィールド設定[検査B;””]」の処理を追加したり
フラグを立てて編集できるようにした方がいいです

Offline

#7 2016-07-20 15:25:00

チポ
Member

Re: 値一覧の入力条件でスクリプト中止

> 検査Bの●廃棄に入力しているにも関わらず、クリックすることがあるので
検査Bの選択肢が一つで、すでにそれが選択されていたら、
通常のクリックでは何もおこりませんよね。


条件とその結果がどうしたいのか分かりません。。

Offline

#8 2016-07-21 09:08:05

sora
Guest

Re: 値一覧の入力条件でスクリプト中止

チポ wrote:

> 検査Bの●廃棄に入力しているにも関わらず、クリックすることがあるので
検査Bの選択肢が一つで、すでにそれが選択されていたら、
通常のクリックでは何もおこりませんよね。


条件とその結果がどうしたいのか分かりません。。

●廃棄の状態でクリックした際にキャンセルすると○廃棄になります。

   カスタムダイアログを表示 [廃棄しますが間違いないですか?デフォルトボタン「OK」],確定「はい」;ボタン2「キャンセル」,    確定;「はい」]
   If[ Get(最終メッセージ選択)=2]
   フィールド設定[検査B;””] (検査2は間違いです)
   End If

間違ってクリックしても●のままにしたいのと、記載しておりませんが、これ以降のスクリプトを実行させたくないためです。
宜しくお願い致します。

#9 2016-07-21 09:26:31

scripter
Guest

Re: 値一覧の入力条件でスクリプト中止

フィールド設定[検査B;””]
で消去してるから「○廃棄になります」

だけど値が変わらない時はOnObjectModifyが発生しないはずですよね?

#10 2016-07-21 10:05:16

チポ
Member

Re: 値一覧の入力条件でスクリプト中止

ラジオボタンですから、クリックすればフィールドに入ります。

ですから、
OnObjectEnter
でいいのでは。


検査Bの選択肢が
「廃棄」
だけではなく、
未廃棄とか、廃棄せずとかの選択が有った方が、
ユーザには分りやすいのではないかな。

Offline

#11 2016-07-22 16:44:41

sora
Guest

Re: 値一覧の入力条件でスクリプト中止

チポ wrote:

ラジオボタンですから、クリックすればフィールドに入ります。

ですから、
OnObjectEnter
でいいのでは。


検査Bの選択肢が
「廃棄」
だけではなく、
未廃棄とか、廃棄せずとかの選択が有った方が、
ユーザには分りやすいのではないかな。

OnObjectEnterにしました。
有難うございました。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 520.83 KiB (Peak: 525.37 KiB) ]