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

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

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

You are not logged in.

Announcement

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


#1 2014-04-20 08:56:28

yukiyuki
Guest

出勤者を入力したら、別フィールドに休みの人を表示

Win7 FM11です。
全職員 - 出勤者 = 休み人 みたいなこと考えています。

職員名テーブルがあり20レコード登録されています。
(コードで 1 2 3 4 5 6 7 8...19 20)

出勤者テーブルには以下のフィールドがあります。
  日付
  この日の出勤者(繰り返し15)
  この日の休み

今、以下のように入力します。
     2014/4/20
     1 3 4 5 6 7 8 10 11 13 20  ..( 11人、職員コードです)

このように入力したら,4/20に休みの9人を「この日の休み」フィールドに自動的に
  2 9 12 14 15 16 17 18 19

と表示させるにはどのようにすればよいでしょうか。
「この日の休み」フィールドは繰り返しであればいいのですが、それにはこだわりません。

よろしくお願いします。

#2 2014-04-20 12:38:30

Hiro
Member

Re: 出勤者を入力したら、別フィールドに休みの人を表示

逆FilterValues関数を作り利用、「休み」繰り返し計算フィールドの計算式で、
全職員一覧リストから出勤者一覧リストを含まない休み一覧リストを算出、
その結果リストを各繰り返しコマに配分します。

Let([
 $lst_a=ValueListItems(Get(ファイル名);"全職員一覧");  //職員名テーブルのコードで値一覧「全職員一覧」を作っておく
 $lst_b=List(出勤者[1];出勤者[2];出勤者[3];出勤者[4];出勤者[5];出勤者[6];出勤者[7];出勤者[8];出勤者[9];出勤者[10];出勤者[11];出勤者[12];出勤者[13];出勤者[14];出勤者[15];出勤者[16];出勤者[17];出勤者[18];出勤者[19];出勤者[20]);
 $i=0;
 $res="";
 $fnc="Case(
   $i=ValueCount($lst_a); $res;
   Let([
    $i=$i+1;
    $stg=GetValue($lst_a;$i);
     $stg=Case(IsEmpty(FilterValues($stg;$lst_b)); $stg);
    $res=List($res;$stg)
   ]; Evaluate($fnc))
  )"
];
 GetValue(Evaluate($fnc); Get(計算式繰り返し位置番号))
)

Offline

#3 2014-04-20 16:46:21

旅人
Member

Re: 出勤者を入力したら、別フィールドに休みの人を表示

分かりやすいかも知れないサンプル

http://yahoo.jp/box/Zsp-7n
休みの人.fp7

Offline

#4 2014-04-20 22:18:13

yukiyuki2
Guest

Re: 出勤者を入力したら、別フィールドに休みの人を表示

Hiroさま 旅人様 ありがとうございます。
どうなっているのか、じっくり分解、理解してみます。

#5 2014-04-21 15:43:42

チポ
Member

Re: 出勤者を入力したら、別フィールドに休みの人を表示

職員ごとの出勤日数の集計等無いのかな?

有るのなら別テーブルですね。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 552.31 KiB (Peak: 579.2 KiB) ]