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

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

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

You are not logged in.

Announcement

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


#1 2021-03-11 19:15:22

浜風
Member

繰り返しフィールド1行目と2行目の計算式を変えたい

こんにちは、12Proを使用しております。

月単位の在庫表を作成していてどうしても計算がうまく行きません。

1.前月の残数
2.使用予定数(繰り返し:数字)
3.使用予定日(繰り返し:日付)
4.実際に使用した数(繰り返し:数字)
5.残数(繰り返し:計算)

とそれぞれのフィールドを作りました。

                               前月の残数 100
使用予定数 使用日   実際の使用数  残数
-50            3/1              -20      80
-30            3/2                         50

一番初めの行は
使用予定数を入れると、前月の残数から
使用予定数を引いて、仮の残数として計算し、

その後、実際に使用した数が入力されると
最終残数として残数が更新される

2行目以降は、
一行前の残数から、予定数を引いて 仮の残数を算出し、
使用した数が入力されたら、一行前の残数から、使用数を引いて正確な残数として表示される

そんな表にしたいのですが、試しに

If ( IsEmpty ( 使用枚数 ) ;

前月残数 + (GetRepetition ( 残数 ; -1 )+ Sum ( 使用枚数_予定 ));

前月残数 + (GetRepetition ( 残数 ; -1 )+ Sum ( 使用枚数 )))

だと結果が「?」になってしまいました。

If ( IsEmpty ( 使用枚数 ) ;

前月残数 + 前月残数 +  Sum ( 使用枚数 );

前月残数 +  Sum ( 使用枚数 ))

だと、計算はされますが、おかしな計算結果になっています

                                          前月の残数 500
使用予定数      使用日   実際の使用数       残数
追加 10000      3/1       10000           10300 → 10500になっていない
          -200       3/2         -100             9800
          -200       3/3         -100             9800
                                                          9600 → 9800になっていない
                                                          9600


                                        前月の残数 500
使用予定数        使用日   実際の使用数  残数
追加 10000       3/1       10000        10300 → 10500になっていない
           -200       3/2        -100           9800
           -200       3/3        -100           9800
           -500                                      9100 → 9300になっていない
                                                        9100


そもそもの計算式の使いた方が間違っているのだろうとは思っているのですが・・・
色々試していくうちにどんどんわからなくなってしまいました。

ご指導宜しくお願いいたします。

Last edited by 浜風 (2021-03-11 19:19:12)

Offline

#2 2021-03-11 19:23:59

himadanee
Guest

Re: 繰り返しフィールド1行目と2行目の計算式を変えたい

繰り返しを使わないようにするのが第一ですが...

「使用数」がマイナスというのは、そういう慣習なんですか?「在庫増減数」とかでプラスマイナス両方1つのフィールドへ入れるなら、わからなくもないですが...

これは趣味の問題ですが、GetRepetition()という長ったらしい関数を使わなくても、フィールド名[繰り返し数]と書けるようになってます。

#3 2021-03-11 20:25:18

浜風
Member

Re: 繰り返しフィールド1行目と2行目の計算式を変えたい

himadanee様 早々にご回答ありがとうございました。

使用数1,使用数2・・・という感じでフィールドを増やすということでしょうか?
フィールドが増えてしまうのを躊躇しておりました。

繰り返しをやめてしまえば、1行目の計算式だけ特別なものにして、
2行目以降は、作ったものを複製して、指定したい数字を打ちかれば、良いですか。

余計に式を難しくしていたのですね・・・。
繰り返さないフィールドで作ってみます。

使用数には、入荷数もいれるため、プラスとマイナスが存在します。なので、使用数をマイナスにしているのです。
もともとはExcelの表だったものを、データベース化したいので作っていました。

まず、チャレンジしてみます。

Offline

#4 2021-03-11 21:02:11

Shin
Member

Re: 繰り返しフィールド1行目と2行目の計算式を変えたい

1回の入出庫ごとに1レコードを作る、というのが普通の考え方でしょうね。

どうしても繰り返しフィールド、というのでしたら、
Case (
    Get ( 計算式繰り返し位置番号 ) = 1 ; 前月残数 - 使用数 ;
    在庫数[Get ( 計算式繰り返し位置番号 ) -1] - 使用数
)
でいけるかも。

Offline

#5 2021-03-12 08:49:40

チポ
Member

Re: 繰り返しフィールド1行目と2行目の計算式を変えたい

既に回答がありますが、、

> 使用数1,使用数2・・・という感じでフィールドを増やすということでしょうか
これは最悪です。

別テーブルを作り、
1使用ごとに1レコードとします。

これから、どのような形にも展開できますよ。

Offline

#6 2021-03-12 17:32:35

浜風
Member

Re: 繰り返しフィールド1行目と2行目の計算式を変えたい

Shin様 いつもありがとございます。
数式を入れてみました。おおお!無事に計算されました。ありがとうございます。

1レコードにするのも考えたのですが、現在在庫している品物一覧表示や月単位での検索など
私以外の人でも使いやすくするための細かいシステムづくりが難しそうだったので・・・

取り急ぎで作ってしまいました。
これで運用してみて、支障がでてくるようでしたら、1レコードにチャレンジしたいと思います。
ありがとうございました。 また一つ勉強になりました。

Offline

#7 2021-03-12 17:35:11

浜風
Member

Re: 繰り返しフィールド1行目と2行目の計算式を変えたい

チポ様 回答ありがとうございました。
皆様から同じご指摘・・・。
その後どんな形でも運用可能にするには1レコードなんですね・・・。
時間があるときに作り直してみます。

どのようなシステムを組むのか悩んでいたので、
1レコードで作る方法が良いことがわかり、大変勉強になりました。
ありがとうございます。

Offline

#8 2021-03-12 18:02:38

Shin
Member

Re: 繰り返しフィールド1行目と2行目の計算式を変えたい

間違いなく支障がでます。早めに対処しておいたほうがいいですよ。

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: 569.61 KiB (Peak: 586.15 KiB) ]