みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
いつも教えていただき、有難うございます。
環境:Win7、Pro12
タブコントロールの特定タブから離れる時に、スクリプトを動かしたいです。うまく出来ません。
OnTabAwitch
If(Get ( トリガ現在のタブパネル ) = 特定タブの番号 and Get ( トリガターゲットタブパネル )<>特定タブの番号)
スクリプト実行(実行したいスクリプト)
End If
この様に設定しましたが、実行したいスクリプトが起動しません。
教えていただきたいです。
これ、私も以前悩んだことがあるのですが、意外な落とし穴があります。
一度カスタムダイアログに Get ( トリガ現在のタブパネル ) & "あ" とかで表示してみて下さい。
Get ( トリガ現在のタブパネル )の後には何故か改行が入るんです。
改行が入っていてタブ番号とイコールにならないのが上手くいかない原因ですね。
Ifの式ではSubstitute関数で改行を取り除いたり、GetValue関数で1行目の値を指定したりしてタブ番号だけを取り出す必要があります。
ちなみに、同じタブをクリックしてもトリガは反応しないようなので、Get ( トリガターゲットタブパネル )の条件はなくて大丈夫ですよ。
何故か「改行」ではなく、タブのパネル番号とタブのオブジェクト名が改行区切りで取得されます。
タブにオブジェクト名を付けて取得してみて下さい。
タブのパネル番号で評価するなら 1行目、タブのオブジェクト名で評価するなら2行目を使うという感じです。
http://www.filemaker.com/help/13/fmp/ja … html#59896
Last edited by Moz (2014-06-17 15:07:58)
Offline
素晴らしい回答です。
うまく出来ました。
有難うございます。
Mozさん、説明ありがとうございます。
本当なら「タブ番号(改行)タブの名前」になるところ、タブに名前を付けていないので「タブ番号(改行)」になっていたんですね。
ヘルプを読んでもいまいちわからなくて、名前を付けていたら番号&名前で出てくるのかと勘違いしていました(汗)
よく考えたら番号&名前なんて使い辛いからやるはずないですね。
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 509.89 KiB (Peak: 515.81 KiB) ]