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

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

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

You are not logged in.

Announcement

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


#1 2021-01-15 23:21:29

evifive
Member

繰返フィールドの入力値をソートして別の繰返フィールドに値を反映させられるでしょうか

こんばんは。いつも助けられております。ありがとうございます。
質問は2つあります。そもそもそんな事が可能か否か、というかなり初歩的な質問ですが
もし可能であれば、方法をぜひ知りたいです。
------------------
[繰り返し[14回]フィールドA]
で「部屋番号」の値を選択できるようにしています。

「部屋番号」の値は
ROOM1
ROOM2
ROOM3
.
.
.
ROOM14
という感じです
--------------------
以下2つの質問です。
質問①
繰返フィールドA[1]で「ROOM1」を選ぶと、
繰返フィールドA[2]以降の値にROOM1が出現しないようにできるのか。
(値の選択は1ページ内では1度だけにしたい)

質問②
繰返フィールドAで選ばれた全ルーム番号を
繰返フィールドBにソートして反映することはできるのか。
例:
繰返フィールドA[1]=ROOM5
繰返フィールドA[2]=値なし
繰返フィールドA[3]=ROOM6
.
.
.
という入力があった場合

フィールドB[14]にソートして
上から
繰返フィールドB[1]=0
繰返フィールドB[2]=0
繰返フィールドB[3]=0
繰返フィールドB[4]=0
繰返フィールドB[5]=1
繰返フィールドB[6]=1
繰返フィールドB[7]=0
.
.
.
.
のように
繰返フィールドAの入力情報を繰返フィールドBにソートして入力判定を反映できたりするものなのか、そういう処理ができるのであれば教えていただきたいですし、繰り返しフィールドでは無理であれば、大元から作り直さなければならいので、だめかどうかだけでも知りたいです。
説明が長くてすいません。どうぞよろしくお願いいたします。

Offline

#2 2021-01-16 00:45:14

Shin
Member

Re: 繰返フィールドの入力値をソートして別の繰返フィールドに値を反映させられるでしょうか

重複させないためには、
Let (
   t = SortValues ( List ( フィールドA ) ) ;
   t = UniqueValues ( t )
)
という制限の計算式を設定すればいいでしょう。

フィールドBは、
ValueCount ( FilterValues ( List ( フィールドA ) ; "ROOM" & Get ( 計算式繰り返し位置番号 ) ) )
という式にすればいいです。

ただ、フィールドAは、繰り返しフィールドを使わず、別テーブルのポータルで作る事をお勧めします。
また、入力も、ドロップダウンなどではなく、フィールドBのクリックで入力するようにされたほうが、格段に楽です。
もうひとつ、ROOM14まであるのですから、ROOM01,ROOM02....ROOM14と命名されたほうが、処理は単純です。

Last edited by Shin (2021-01-16 10:25:39)

Offline

#3 2021-01-16 08:39:42

himadanee
Guest

Re: 繰返フィールドの入力値をソートして別の繰返フィールドに値を反映させられるでしょうか

Aの方に空欄があって、Bには選択肢のすべてについてAに入力されてるかどうかを入れるんで、ソートとは関係ない案件ですね...

#4 2021-01-16 12:20:10

evifive
Member

Re: 繰返フィールドの入力値をソートして別の繰返フィールドに値を反映させられるでしょうか

Shin wrote:

重複させないためには、
Let (
   t = SortValues ( List ( フィールドA ) ) ;
   t = UniqueValues ( t )
)
という制限の計算式を設定すればいいでしょう。

フィールドBは、
ValueCount ( FilterValues ( List ( フィールドA ) ; "ROOM" & Get ( 計算式繰り返し位置番号 ) ) )
という式にすればいいです。

ただ、フィールドAは、繰り返しフィールドを使わず、別テーブルのポータルで作る事をお勧めします。
また、入力も、ドロップダウンなどではなく、フィールドBのクリックで入力するようにされたほうが、格段に楽です。
もうひとつ、ROOM14まであるのですから、ROOM01,ROOM02....ROOM14と命名されたほうが、処理は単純です。

Shin様 ご返信ありがとうございます。

重複させないための let( t=...という式をフィールドAに入れてみましたが、一度選ばれている部屋が別の列でも選べてしまいました。
ポータルの使い方があまり理解できてないので、もう少し勉強してみます。

フィールドBには、ValueCount~の式を入れてみましたが、先頭のフィールドに「0」と入るだけで、連動させることができなかったです。
私のやり方が違うんだとは思うのですが、ちなみに、ROOM1~14というのは例として書いただけで、実際は部屋の名前(日本語も混じる場所もあり「101号」「201号」「食事部屋」等です。)数字で管理されてるわけではないのですが、こちらの"ROOM"の設定は応用が利きますでしょうか?
(テストの段階では、101号とかの値を全部ROOM01などに置き換えて試してみました)

Offline

#5 2021-01-16 13:26:11

Shin
Member

Re: 繰返フィールドの入力値をソートして別の繰返フィールドに値を反映させられるでしょうか

https://www.dropbox.com/s/jnpe5jdt2xxfp … 2.zip?dl=0
で、実際の動きをみてください。

Offline

#6 2021-01-16 19:24:36

evifive
Member

Re: 繰返フィールドの入力値をソートして別の繰返フィールドに値を反映させられるでしょうか

Shin wrote:

https://www.dropbox.com/s/jnpe5jdt2xxfp … 2.zip?dl=0
で、実際の動きをみてください。

Shin様
ファイルありがとうございました。大変よく理解できました。
フィールドAは、同じ値を入れるとFileMakerのエラーがでるようになるのですね。
印象だと値が選択できない(リストから選べない)感じだったので、
最初、このエラーの意味が分かってなかったのですが、ようやく理解できました。ありがとうございます。

フィールドBはまったくその通りにうごいていて感激しておりました。
私はフィールドオプションの最初の「入力値の自動化」タブの「計算値」にチェックを入れて、式を入れてました。
フィールドタイプの計算、から式を入れるのが正解だったのですね。
式を入れる場所、に関係があることに気づかされて大変勉強になりました。
あとひとつ、
よくばりな追加になりますが、
フィールドBの
-----------------------
ValueCount (
    FilterValues (
        List ( フィールドA ) ;
        GetValue ( ValueListItems ( Get ( ファイル名 ) ; "部屋一覧" ) ; Get ( 計算式繰り返し位置番号 ) )

    )
)
------------------------
この結果を0か1ではなく
0の場合は ""
1の場合は "入室"
のように、ゼロを0表示せず、空欄に、1を日本語に入れ替えるようにすることはできるでしょうか?
いろいろすいません。

Offline

#7 2021-01-17 08:46:52

Shin
Member

Re: 繰返フィールドの入力値をソートして別の繰返フィールドに値を反映させられるでしょうか

ややこしいことをすると、すでに入力されているものを省くような値一覧も作れますが。

フィールドB の書式で表現するのが簡単だと思います。
インスペクタの書式で、論理表示を選び、偽は ""、真は "入室" にするといいでしょう。

Offline

#8 2021-01-17 09:24:47

evifive
Member

Re: 繰返フィールドの入力値をソートして別の繰返フィールドに値を反映させられるでしょうか

Shin wrote:

ややこしいことをすると、すでに入力されているものを省くような値一覧も作れますが。

フィールドB の書式で表現するのが簡単だと思います。
インスペクタの書式で、論理表示を選び、偽は ""、真は "入室" にするといいでしょう。

Shin様
ありがとうございます。
インスペクタの書式設定の倫理表示の使い方を初めて学びました。
感激中です。
うまくできました。ありがとうございます。

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, 7 queries executed - Memory usage: 529.12 KiB (Peak: 550.02 KiB) ]