みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
Ver19を使ってます。
スクリプトトリガーであるフィールドにプルダウンメニューから「受注」という文字を含む文字列が
入力された場合にメール配信をするスクリプトを組みたいと思っています。
1.If[案件DB::案件状況 = "受注"]
2.メールを送信(スクリプト)
とすると、「受注」(完全一致)が入力された場合はメールが配信されますが、「受注(大口)」が入力されると
メールは配信されません。
そこで
1.If[案件DB::案件状況 = "受注*"]
2.メールを送信(スクリプト)
として受注の後に*(アスタリスク)を入れてみましたが、
「受注(大口)」のような受注を含む文字列が入力された場合でもメールが配信されませんでした。
そのようにすれば、メール配信すされるようになりますでしょうか?
*は検索演算子なので計算式には使えません。部分一致の判定にはPatternCount()などを使います。
コメントありがとうございます。
1.PatternCount (案件DB::案件状況"; "受注" )
2.メールを送信(スクリプト)
でやってみましたが、メールが配信されませんでした。
正しいPatternCountの使い方につきましてご教示頂けませんでしょうか?
1.PatternCount (案件DB::案件状況"; "受注" )
本当にこの通りに入力しているなら計算式はエラーになってダイアログが閉じられないでしょう。
PatternCount ( 案件DB::案件状況 ; "受注" )
このように書かれているなら「案件状況」フィールドに "受注" が含まれれば、If に進みます。
FileMaker Pro 19 を利用しているならスクリプトデバッガが利用できますから、
いきなり動作させるのではなく、まずはデバッグして正しく動いているか確認しましょう。
スクリプトデバッガは[環境設定]から「高度なツールを使用する」を有効にしてFileMaker Pro を再起動すれば[ツール]メニューから起動できます。
Last edited by Moz (2021-02-23 22:07:26)
Offline
失礼しました。内容に誤りがありました。
下記のようにしたところ、エラーにはなりませんが、メールは配信されませんでした。
1.If[PatternCount ("案件DB::案件状況" ; "受注" ) ]
2. メールを送信(スクリプト)
可能性としては
・現在のレコードの「案件状況」に "受注" が含まれていない
・メール送信に失敗している
メールを送信(スクリプト)
この意味がよく分かりませんが、スクリプト全体を書けませんか?
スクリプトトリガに何を使っているか不明ですが、現在のフィールドの内容を取得するなら
[レコード/検索条件の確定]を入れるか、Get ( アクティブフィールド内容 ) を使ったほうが良いかな、と。
また、上で書きましたがスクリプトデバッガを使えば
意図したとおりに動作しているか、エラーが発生していないか確認できますよ。
使わない理由があるのですか?
Last edited by Moz (2021-02-23 22:17:50)
Offline
メールが送信できない事とは直接関係なさそうですが、
案件状況に入力させる文字列は、その後の色々な処理で参照されていると思います。
これを、値一覧で簡単に入力できて、そこに定義されている値だけに制限してしまったほうが、のちのちいいかもしれませんよ。
Offline
>下記のようにしたところ
間違いが増えてますが...
あっ!orz。見逃していました。失敬。
If[PatternCount ("案件DB::案件状況" ; "受注" ) ]
↓
If[PatternCount ( 案件DB::案件状況 ; "受注" ) ]
フィールド名はダブルクォート「"」で囲みません。囲むと文字列になります。
つまり "案件DB::案件状況" に "受注" が含まれるかという式になり、100%不成立です。
→フィールド名は手打ちせずに計算式ダイアログのフィールドパネルから選択しましょう。
Last edited by Moz (2021-02-24 06:51:56)
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 518.06 KiB (Peak: 522.6 KiB) ]