みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
テーブルtable1にA1,B1,C1,D1のフィールドがあり、それぞれのフィールドにボタン設定をして
ボタンクリックごとに値が空なら○を、○なら空にしたくて、A1からD1までのスクリプトを以
下のように五つ設定しました。
・A1用スクリプト
If [table1::A1 = "○"]
フィールド設定 [table1::A1; ""]
Else If [table1::A1 = ""]
フィールド設定 [table1::A1; "○"]
End If
これを変数を使って一つのスクリプトで済ませたいのですが、やり方がさっぱりわかりません。
そこで質問なのですが、ボタンをクリックして起動したスクリプトの実行中は現在カーソルがいる
フィールドはそのボタンを設定をしてるフィールドという認識であっていますか?
仮にあっているとして、その場合のフィールド名の取得方法は、
変数を設定 [$変数A1; GetFieldName ( Evaluate (Get(アクティブフィールド名)))]
とかではダメなようで途方に暮れています。
また、あっていない場合はこれを実現するにはどうすればいいのでしょう?
よろしくご教示ください。
フィールドのボタンをクリックしてもそのフィールドに入れません。
ボタンの設定で、
スクリプト実行
とすると、
そのスクリプト指定窓の
オプションのスクリプトパラメータ
で指定した値は、
それで実行されるスクリプトの中で
Get(スクリプト引数)
で取り出すことが出来ます。
パラメータにフィールド名を入力しておいて、
スクリプトステップ
フィールドを名前で設定
でそのフィールド名を指定できますね。
Offline
チポ様、さっそくのご教示ありがとうございます。
以下の通り設定してみましたが思うように動作してくれません。
ボタン設定(B)→指定(C)→オプションのスクリプト引数(O)に、
"A1"
あるいは
"table1::A1"
を入力してスクリプトを指定。
・そのスクリプトの内容
変数を設定 [$button; 値:Get(スクリプト引数)]
If [$button = "○"]
フィールドを名前で設定 [$button; ""]
Else If [$button = ""]
フィールドを名前で設定 [$button; "○"]
End If
これで実行してもtable1のフィールドA1には変化がありません。
変数を使わずに$buttonを直接Get(スクリプト引数)にしても状況は変わりません。
すみませんがもう少しお付き合いください。
タブ順設定を外せるのならトリガの方が楽かも知れない。
Offline
スクリプト
フィールドを名前で設定
のターゲットフィールドは
Get ( スクリプト引数 )
として、
計算結果は
Case ( GetField ( Get ( スクリプト引数 ) ) = "◯" ; "" ; "◯" )
でいいでしょう。
1行で出来ちゃいますよ。
パラメータのフィールド名は
テーブル::フィールド名
の完全修飾にしなければなりませんね。
Offline
チポ様
本当に一行でできてしまうのですね。
ありがとうございました。
Pages: 1
[ Generated in 0.010 seconds, 10 queries executed - Memory usage: 513.04 KiB (Peak: 517.58 KiB) ]