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

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

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

You are not logged in.

Announcement

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


#1 2019-12-27 11:44:45

ukki
Member

ボタンの色を押すたびに変えたい

いつもお世話になります。


月午前 火午前 水午前   日午前
月午後 火午後 水午後 〜 日午後
各フィールド(ボタン)を作成し、診察時間を色で表したいと考えています。

押すたびに色の変わるボタンを作るにはどうしたら良いでしょうか。
デフォルトが白、1回押すと薄いグレー、2回目押すと濃いグレー、3回目押すと白に戻る

以上のボタンの作るにはどうしたらいいでしょうか。
よろしくお願い申し上げます。

Offline

#2 2019-12-27 12:27:14

Rev
Guest

Re: ボタンの色を押すたびに変えたい

いつも質問してばかりなので、回答してみます。
(スマートな方法では無いので、もっと他のいい方法もあるかもしれません。)
まずスクリプトを作り内容は

スクリプト名【ボタン色変更】

If [ Get(スクリプト因数) = "月午前"]
If [ テーブル::月午前 ="0"]
フィールド設定 [ テーブル::月午前 ="1" ]
Else If [ テーブル::月午前 ="1"]
フィールド設定 [ テーブル::月午前 ="2" ]
Else If [ テーブル::月午前 ="2"]
フィールド設定 [ テーブル::月午前 ="0" ]
End If
End If

If [ Get(スクリプト因数) = "火午前"]
If [ テーブル::火午前 ="0"]
フィールド設定 [ テーブル::火午前 ="1" ]
Else If [ テーブル::火午前 ="1"]
フィールド設定 [ テーブル::火午前 ="2" ]
Else If [ テーブル::火午前 ="2"]


と月午前 火午前 水午前   日午前 月午後 火午後 水午後 〜 日午後
分スクリプト因数分作ります。

その後 月午前 フィールドをボタン化してスクリプト [ボタン色変更] とスクリプト因数を 月午前 とします。
火午前 水午前.....に同じようにスクリプト因数を各ボタンフィールドに設定します。

各ボタンに条件付き書式で
値が"0"を含む 塗りつぶし色=白 文字色=白
値が"1"を含む 塗りつぶし色=薄いグレー 文字色=薄いグレー
値が"2"を含む 塗りつぶし色=濃いグレー 文字色=濃いグレー

とすれば、仰ったようなことが出来ます。

#3 2019-12-27 12:43:36

素人
Guest

Re: ボタンの色を押すたびに変えたい

変数 $ボタン名:GetValue ( Get ( スクリプト引数 ) ; 1 )
変数 $現在の回数:GetValue ( Get ( スクリプト引数 ) ; 2 )
変数 $最小値:0
変数 $最大値:2

変数 $回数:$現在の回数+1
if[ $回数 > $最大値]
$回数 = $最小値
Endif

if[ $ボタン名 = "月午前"]
フィールド設定[テーブル::月午前;$回数]
elseif[ $ボタン名 = "火午前"]
フィールド設定[テーブル::火午前;$回数]
elseif[
・・・・
Endif
レコード確定

あとは、Revさんが書かれたように、条件付き書式で色変更の設定をする

#4 2019-12-27 13:24:43

チポ
Member

Re: ボタンの色を押すたびに変えたい

スクリプトは
  フィールドを名前で設定 [ "テーブル名::" & Get ( スクリプト引数 ) : Mod ( GetField ( Get ( スクリプト引数 ) ) + 1 ; 3 ) ]
この1行で。

各フィールドのボタンにそのフィールド名をスクリプトパラメータとして、
上記のスクリプトを指定します。

後は皆さんと同じ条件付き書式でできますね。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.024 seconds, 9 queries executed - Memory usage: 507.98 KiB (Peak: 514.65 KiB) ]