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

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

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

You are not logged in.

Announcement

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


#1 2023-01-20 05:47:26

tfm
Guest

変更フラグがチェックボックスセットのフィールドの場合に変更されません

いつも大変お世話になっております。

バージョン19.6.1.45になります。

案件書の中に、いくつかフィールドがあり、変更したら変更フラグが0→1に変わり、変更を伝えるボタンを配置しています。

例えば、場所フィールドが変更された場合は、OnObjectKeystrokeで、
変数を設定$場所;値案件テーブル::場所
フィールド設定[案件テーブル::場所チェック;$場所]
フィールド設定[案件テーブル::変更フラグ;1]

としているのですが、上記の場所フィールドは問題なく、問題なのが、チェックボックスセットを使用している対応部署というフィールドなのです。
これに同様のスクリプト設定をしても、変更フラグが0から1に変更されません。

何かおかしいところはございますでしょうか?

ご教授のほどよろしくお願いいたします。

#2 2023-01-20 08:48:44

qb_dp
Member

Re: 変更フラグがチェックボックスセットのフィールドの場合に変更されません

チェックボックスは、マウスでクリックしてますよね。
OnObjectKeystroke は、キーボード入力の検出なので、クリックは反応しません。
OnObjectModify にすれば良いかと。

以下の様な方法で修正ログを残すこともできます。
https://fm-aid.com/bbs2/viewtopic.php?pid=22613#p22613

Offline

#3 2023-01-20 08:51:34

qb_dp
Member

Re: 変更フラグがチェックボックスセットのフィールドの場合に変更されません

他のフィールドも OnObjectKeystroke だと、TABでも反応するので、OnObjectModify の方が良い様な。

Offline

#4 2023-01-20 11:21:18

チポ
Member

Re: 変更フラグがチェックボックスセットのフィールドの場合に変更されません

> 変数を設定$場所;値案件テーブル::場所
> フィールド設定[案件テーブル::場所チェック;$場所]

これは変数不要で、直接フィールド設定できますよね。

すでに回答がある通り
OnObjectModify
のほうがいいと思いますが、、

書かれたスクリプトだと、
一度変更したけれど、やっぱり変更しない。
この場合でも、スクリプトが動きますよ。

Offline

#5 2023-01-20 12:05:12

tfm
Guest

Re: 変更フラグがチェックボックスセットのフィールドの場合に変更されません

ありがとうございます。

基本的なところでした。

実は、チェックボックスセットが

部署A B C D

のような感じで
変更前がABCDとしまして

Dを外すとABCとなります。

ABCDが 対応部署チェックフィールド
ABCが  対応部部署フィールドになり、

ここが異なっていると、対応部署フィールドの色が変わって、かつ変更フラグが1になる。という動作にしたいのです。

他のテキスト入力ののフィールドは問題ないのですが、チェックボックスの変更前の状態を変数で取得する。というのに手こずっております・・・

わかりづらいかもしれませんが、ご教授願えますでしょうか?

#6 2023-01-20 13:38:52

チポ
Member

Re: 変更フラグがチェックボックスセットのフィールドの場合に変更されません

よく理解できていませんが、
ここだけ
> 変更前の状態を変数で取得する

スクリプト
元に戻す/再実行 [元に戻す]
変数を設定
元に戻す/再実行 [再実行]

ただし、
チェックボックスはチェックされた順に改行で入力されますから、
同じチェックでも、チェック順の違いで値が異なります。
ご注意を。

Offline

#7 2023-01-20 15:27:28

tfm
Guest

Re: 変更フラグがチェックボックスセットのフィールドの場合に変更されません

チポさん

説明不足で申し訳ありません。
元に戻すの設定、知りませんでした。
ありがとうございます。
この方法で試してみます。

#8 2023-01-20 16:01:54

Shin
Member

Re: 変更フラグがチェックボックスセットのフィールドの場合に変更されません

チポさんの指摘されている通り、チェック順で内容が 並びますので、それを値一覧の順で並び替えるように、自動入力の計算式(上書き許可)で次の式を設定しておきます。
FilterValues ( ValueListItems ( Get ( ファイル名 ) ; "新規値一覧" ) ; Self )

次に、そのフィールドにトリガーを仕掛けて、次のスクリプトを動かします。(スクリプト引数を使って、OnObjectEnter と OnObjectSave それぞれにしかけます)。まず。変数にクリック前の値が保存され、save された後でクリック後の値と比較できますので、そこで必要な処理を入れます。

If [ Get ( スクリプト引数 ) = "enter" ]
    変数を設定 [ $$check ; 値: 名称未設定::text000 ]
Else If [ Get ( スクリプト引数 ) = "save" ]
    カスタムダイアログを表示 [ Substitute ( $$check ; ¶ ; " " )  & ¶ & Substitute ( 名称未設定::text000 ; ¶ ; " " ) ]
End If
現在のスクリプト終了 [ テキスト結果: 0 ]

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 560.81 KiB (Peak: 579.63 KiB) ]