FC2ブログ

FileMakerあれこれブログ

FileMakerに関する、あれやこれやの解決策や小技など、思い付いたものをどんどん書き込んでいきます。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

チェックマークを入れる

一覧表示されたレコードにチェックマークを付けて行きたい場合のスクリプトです。
下記の方法でしたら、ネットワーク共有しているデータベースに対して、複数の人が同時にチェックマークを入れても対処できます。

理屈は、チェックした行のシリアルNoを変数に取得し、改行区切りされたシリアルNoのリストを作ります。
そのリストの中に、シリアルNoが含まれているレコードだけが、計算フィールドに「1」を返すようにします。
そのフィールドのデータ書式を「論理値」とすることで「1」の場合には「✓」が表示されます。
グローバル変数と計算フィールドで表現していますので、ネットワーク共有から複数の人が同時にチェックマークを入れても、別々に処理することができます。

理屈が分かった?ところで、早速作ってみましょう。
まず、チェックマークを表示したいテーブルに、桁数が固定されたシリアルNoのフィールドと、計算フィールドを作ります。

シリアルNoフィールド
CheckMark04.jpg

計算フィールド
計算式は下記画像の通りですが、索引オプションの「計算結果を保存せず必要時に再計算する」にチェックを入れてください。

CheckMark02.jpg
CheckMark03.jpg

次にスクリプトを作成します。
-----------------------------------------------------------------
変数を設定 [ $$List; 値:If (
PatternCount ( $$List ; "¶" & 商品マスタ::SN ) ;
Substitute ( $$List ; "¶" & 商品マスタ::SN ; "" ) ;
$$List & "¶" & 商品マスタ::SN
) ]
ウィンドウ内容の再表示
-----------------------------------------------------------------
次に一覧レイアウトにフィールドとボタンを配置します。
まずは矩形オブジェクトを配置します。

CheckMark05.jpg

次に先ほど作成したチェックマークを表示する計算フィールドを配置します。
このフィールドは入力できないように、インスペクタのフィールド入力のチェックを外しておきます。
また、フィールドの枠も表示しないようにしておきます。
そしてこれを矩形の上に重ねます。

CheckMark06.jpg

CheckMark09.jpg


このフィールドのデータ書式設定を、インスペクタの画面から「論理値」に設定し、値が「0」以外の場合は「✓」、値が「0」の場合は空欄にします。
CheckMark07.jpg

このフィールドオブジェクトにボタンを設定します。
先ほど作成したスクリプトを割り当てます。
CheckMark08.jpg

これでOKです。
表の右端に配置した矩形をクリックすると、クリックした行にだけチェックマークが入り、もう一度クリックするとチェックマークを消すことが出来ます!
チェックマークを全て消去する場合は、スクリプトでこの変数の値をクリアすれば良いです。
CheckMark10.jpg
スポンサーサイト

テーマ:ソフトウェア - ジャンル:コンピュータ

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://trprojectfm.blog.fc2.com/tb.php/12-943aab1d
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。