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

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

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

You are not logged in.

Announcement

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


#1 2016-12-19 10:28:09

kamsr27
Guest

フィールド内テキストのLoop処理について

Ver 15を使用しています。

画面上でチェックボックスセットを利用し複数選択したものを
テーブルのテキスト形式のフィールドに保存しております。
そのテキストフィールドの文字列を整形してチェックボックス数分の計算フィールドにフラグ(0 or 1)
として分解しています。
しかしながら、チェックボックスの選択が無い場合に該当計算フィールドに何も表示されない状態になっております。

例)
  材料:「木」、「鉄」、「コンクリート」、「その他金属」のチェックボックスセット

   (テーブルの材料 テキストフィールド値)
  ---------------------------------------------
    行1)木¶コンクリート
      行2)鉄¶コンクリート 
      行3)         ←選択なし 
  ---------------------------------------------
  ※現状
  行1の「計算_木」:1
      行2の「計算_木」:0
      行3の「計算_木」:  ←なにも出力されない

  ※理想
  行1の「計算_木」:1
      行2の「計算_木」:0
      行3の「計算_木」:0
     
「計算_木」の内容)
Let (
[
   $num = 1;
   $max = ValueCount ( 材料 );
   $val = "";
   $retFlg = 0;
   $GetFlg= "Case( $max > 0;
                   Let ([
                         $val = GetValue( 材料; $num);
                         $retFlg= If( $val = \"木\"; 1; $retFlg);
                         $num = $num + 1;
                         $max = $max - 1
                         ];
                         Evaluate($GetFlg)
                        );
                         $retFlg
               )"
];
Evaluate ( $GetFlg ))

Case文やEvaluate等々いろいろ編集したのですが、理想になりません。
解決方法がありましたら、ご教示ください。

#2 2016-12-19 10:43:31

チポ
Member

Re: フィールド内テキストのLoop処理について

計算式の指定窓の下にある
「式内の全フィールドの値が空欄のとき、計算しない」
のチェックを外せばいいのでは。


FIlterValue関数でもっと簡単な式になりますよ。

Offline

#3 2016-12-19 11:17:11

kamsr27
Guest

Re: フィールド内テキストのLoop処理について

チポ様

回答ありがとうございました。
解決しました。

FilterValueも試してみます。

#4 2016-12-19 16:08:25

Hiro
Member

Re: フィールド内テキストのLoop処理について

解決済みで、しかもチポさんもアドバイス済ですが、

わざわざループ計算で複雑にしなくとも、
単に論理式で論理値(0 or 1)を得れば良いのでは、

      FilterValues(材料;"木")=FilterValues("木";"木")

※なお、右辺のFilterValues処理は、左辺の計算結果の末尾に
   空行が強制付加されるのに対応する等価措置。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.276 seconds, 10 queries executed - Memory usage: 509.11 KiB (Peak: 513.65 KiB) ]