IT仕事

FileMaker Pro 12 での汎用トグルボタンの作り方

投稿日:

Accessではとっても簡単なトグルボタンだが、FileMakerでそれを作るのは簡単ではない。むしろとっても面倒。

それなのに、画面いっぱいにいくつものトグルボタンを作る仕事が出てきた。
一つ一つのトグルボタンそれぞれに、専用のスクリプトを作っていたのだが、20個近くなったときに、これではダメだと思い、汎用のスクリプトが作れないか、探ってみた。
6時間かかったが・・・。

最初に作った、汎用性のないトグルボタンのスクリプトは、こんな感じ。

「計算結果を挿入」[選択; iResearchサンプル::Q4自然や景勝地; not iResearchサンプル::Q4自然や景勝地]

見ての通り、フィールド名を明示的に指定している。これでは汎用的に使えない。
明示部分を「 Get ( スクリプト引数 )」に置き換えればいいのかと思ったが、うまくいかない。

6時間かかってうまくいったのは、以下。

  1. ボタンのスクリプト実行の際の、オプションのパラメータは、「”iResearchサンプル::Q4自然や景勝地”」のようにする。ダブルクォーテーションは必要。このオプションは、ボタン毎に変える。
  2. 新規スクリプトを作る。「フィールドを名前で設定」とし、「ターゲットフィールドの名前」を「Get ( スクリプト引数 )」とし、「計算結果」を「not GetField(Get ( スクリプト引数 ))」とする。

疲れた。

GetField()という関数が、ググっても、なかなか出てこなかった。スクリプトパラメータをダブルクォーテーションで囲んでいるので、その中の値を取り出すのに使う。

これにたどりつくまで、
Middle(Get ( スクリプト引数 );2;Length (Get ( スクリプト引数 ))-1)
やら、
GetFieldName()
やら、
カスタムダイアログで値を表示させて、デバッグしてみたり。
何か他の方法で動的にセットできないものかと、調べに調べ、やっとたどり着いたのが上の結果。

!う!れ!し!い!

あ、あと、最後に「フィールドへ移動(引数はなし)」の行を加えておくことで、セットされた数値が確定されるようなので、ボタンに条件付き書式を付けている場合、必要だった。参考までに。

-IT仕事

執筆者:

関連記事

no image

ファイルサーバにコンピュータ名で接続できない

入れ替えをした会社NAS(ファイルサーバ)に、自分のPCと同僚のPCの2台について、コンピュータ名で接続できない。 一方、IPアドレスでは、接続できる。 他の数十台のPCでは問題なくこれまで通り接続で …

no image

OneDribeアプリのせいでAndrodiスマホに容量不足のメッセージが

ココ最近、Androidスマホに容量不足のメッセージが頻繁に出るようになっていたので、さて原因は何だろと。 スマホの設定画面で、アプリをサイズ順に並べてみた。 すると、OneDriveが飛び抜けて多く …

no image

Photoshopで画像半分をぼかす(グラデーションで半透明に)する

よく忘れる(というか覚えられない)ので、備忘録。 1.画像を開く。またはレイヤーを選択。 2.レイヤー下の「ベクトルマスクを追加」ボタンをクリック 3.半身をグラデーションにしたい範囲をドラッグで選択 …

Amazonへ出品している商品の、商品名だけを一括で変更したいときの手順

1.以下のページを参考に、出品レポートをダウンロード。商品名を一括で変更・編集する方法 – Amazon出品サービス / 出品に関する一般的な質問 – Amazonセラーフォー …

Excel2013 セル入力直後から確定までが遅い

オプション-詳細設定-表示の、「ハードウェア グラフィック アクセラレータを無効にする」のチェックで、すごく改善した。 自分の周りで相当悩んでいる人がいたので、一緒に調べた結果、わかった。 他にも悩ん …