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

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

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

You are not logged in.

Announcement

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


#1 2018-11-22 20:03:21

きっさん
Member

ポータル内で一行のみにチェックを入れる

いつもご教示ありがとうございます。

表題の件で、ご教示下さい。

ポータル内には、チェック・区分・住所を配置し、3行表示で制作しています。
この3行の内の1行のチェックフィールドに●が入っていたらほかの2行には●が入力出来ないように制御は可能でしょうか?

FileMaker Pro 17
Windows 10 Pro

Offline

#2 2018-11-22 22:48:13

fumu
Guest

Re: ポータル内で一行のみにチェックを入れる

未実装なんで、テスト必要。
check値は1と想定。

↓リレーション
ポータルのテーブルオカレンス(A)をコピー(B)。
AとBをID同士≠でリレーション。

↓ポータルのテーブルフィールド
checkフィールド(数字タイプ)
check確認フィールド(計算フィールド非保存):計算結果は数字:計算式はCount ( B::check )

↓レイアウト
checkフィールドにインスペクタ:オブジェクトを隠す:A::Check_確認 > 0


チェックの値によって計算式等が変わりますが、考え方は同じかと。
ようするに、自己リレ先から値を取得して、それを判定してポータル上で隠す、隠さない。

#3 2018-11-22 22:53:42

Shin
Member

Re: ポータル内で一行のみにチェックを入れる

1行目以外にチェックしてあれば、どのような動きに?

Offline

#4 2018-11-23 10:38:29

きっさん
Member

Re: ポータル内で一行のみにチェックを入れる

Shin wrote:

1行目以外にチェックしてあれば、どのような動きに?

チェックフィールド値でソートしていますので、チェックされたレコードが先頭になるようにしています。
---------------------------------------------------
    チェック  ・・・その他のフィールド
1行目  ●       データA
2行目          データB
3行目          データC
---------------------------------------------------
1行目から2行目にチェックを入れ直す
    チェック  ・・・その他のフィールド
1行目          データA
2行目  ●       データB
3行目          データC
---------------------------------------------------
    チェック  ・・・その他のフィールド
1行目  ●       データB
2行目          データA
3行目          データC
確定した時点で、ソートが実行されてデータBレコードが先頭になります。
問題点として、1レコードにしかチェックが入らないようにしようとした時、既にチェックが入っていたら、まず先にチェックを外してからでないと、他のレコードにはチェック出来ないのではないか?とも考えます。
確定していなければ大丈夫なのか?とも思うのですが、表題の方法が分からないのでその先に進めません。

Offline

#5 2018-11-23 11:44:41

Shin
Member

Re: ポータル内で一行のみにチェックを入れる

関連レコードへ移動 で、チェックを空白で全置換、フィールド設定でチェック、元の表示へ戻る、
という手順しかないのでは。新規ウィンドウで作業すると簡単です。

Offline

#6 2018-11-23 13:49:15

Hiro
Member

Re: ポータル内で一行のみにチェックを入れる

ポータル内のポータル::チェックフィールドをボタンにして下記スクリプトを実行。
※ "●"入力済の行の場合は、チェックを消去します。

【チェックボタンスクリプト】
・   関連レコードへ移動 [関連レコードだけ; テーブル: 「ポータル」; レイアウト: 「ポータル」]
・If [IsEmpty(ポータル::チェック)]   
・   フィールド設定 [ポータル::チェック; "●"]
・   レコードを対象外に   
・End If
・   フィールド内容の全置換 [ダイアログなし; ポータル::チェック; ""]   
・   全レコードを表示
・   レイアウト切り替え [元のレイアウト]

Offline

#7 2018-11-23 18:18:30

きっさん
Member

Re: ポータル内で一行のみにチェックを入れる

Shinさん、Hiroさん
ご教示、ありがとうございます。
チェックフィールドには"●"が表示されるようにしたまま(視覚的に選択されている事をアピールする意味もあり)近くにセットボタンを配置して、ここを押していただくようにしました。
"●"でソートされるように設定していますので、常に"●"が表示されたレコードが最上段にくるようになり、考えていた通りの動作を実現出来ました。
ありがとうございました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 561.91 KiB (Peak: 581.98 KiB) ]