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

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

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

You are not logged in.

Announcement

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


#1 2014-07-29 07:46:32

アンラック
Guest

スクリプトでのカーソル位置フィールド名の取得方法

テーブル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(アクティブフィールド名)))]
とかではダメなようで途方に暮れています。
また、あっていない場合はこれを実現するにはどうすればいいのでしょう?
よろしくご教示ください。

#2 2014-07-29 08:45:20

チポ
Member

Re: スクリプトでのカーソル位置フィールド名の取得方法

フィールドのボタンをクリックしてもそのフィールドに入れません。

ボタンの設定で、
  スクリプト実行
とすると、
そのスクリプト指定窓の
  オプションのスクリプトパラメータ
で指定した値は、
それで実行されるスクリプトの中で
  Get(スクリプト引数)
で取り出すことが出来ます。


パラメータにフィールド名を入力しておいて、
スクリプトステップ
  フィールドを名前で設定
でそのフィールド名を指定できますね。

Offline

#3 2014-07-29 09:59:47

アンラック
Guest

Re: スクリプトでのカーソル位置フィールド名の取得方法

チポ様、さっそくのご教示ありがとうございます。
以下の通り設定してみましたが思うように動作してくれません。

ボタン設定(B)→指定(C)→オプションのスクリプト引数(O)に、
    "A1"
あるいは
    "table1::A1"
を入力してスクリプトを指定。

・そのスクリプトの内容
    変数を設定 [$button; 値:Get(スクリプト引数)]
    If [$button = "○"]
        フィールドを名前で設定 [$button; ""]
    Else If [$button = ""]
        フィールドを名前で設定 [$button; "○"]
End If

これで実行してもtable1のフィールドA1には変化がありません。
変数を使わずに$buttonを直接Get(スクリプト引数)にしても状況は変わりません。
すみませんがもう少しお付き合いください。

#4 2014-07-29 10:35:46

旅人
Member

Re: スクリプトでのカーソル位置フィールド名の取得方法

タブ順設定を外せるのならトリガの方が楽かも知れない。

Offline

#5 2014-07-29 10:58:57

チポ
Member

Re: スクリプトでのカーソル位置フィールド名の取得方法

スクリプト
  フィールドを名前で設定
のターゲットフィールドは
  Get ( スクリプト引数 )
として、

計算結果は
  Case ( GetField ( Get ( スクリプト引数 ) ) = "◯" ; "" ; "◯" )
でいいでしょう。

1行で出来ちゃいますよ。


パラメータのフィールド名は
  テーブル::フィールド名
の完全修飾にしなければなりませんね。

Offline

#6 2014-07-29 11:08:41

アンラック
Guest

Re: スクリプトでのカーソル位置フィールド名の取得方法

チポ様
本当に一行でできてしまうのですね。
ありがとうございました。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 511.94 KiB (Peak: 516.48 KiB) ]