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

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

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

You are not logged in.

Announcement

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


#1 2015-12-09 10:07:14

okamoto
Guest

繰り返しフィールドの計算

お世話になります。

繰り返しフィールドの指定した繰り返し位置の値の合計を出すに当たって、以下の様にLet関数でフィールド名を変数で設定する事は出来ないでしょうか?

Let ([
$X = B
] ;
Sum ($X[4] ; $X[5] )
)

多くの異なった繰り返しフィールドの合計算出が有り、フィールド名を変数で扱えないかと考えています。

可否も含めて何か方法はないでしょうか?
宜しくご教授をお願い致します。

#2 2015-12-09 11:16:03

旅人
Member

Re: 繰り返しフィールドの計算

フィールド名というか、指定したフィールド内容を変数にするには
$X = GetField("B") と思いますけど、どんな利点があるのかよくわからない。
計算式側もGetRepetitionになるかも?

Offline

#3 2015-12-09 13:03:27

okamoto
Guest

Re: 繰り返しフィールドの計算

旅人様

早速のご返信、有難うございます。
質問の内容を補足させて頂きます。

DBフィールドに

A        数字[5]
A合計   計算=Sum (A[1] ; A[2] ; A[3])
B      数字[5]
B合計   Sum (B[4] ; B[5])
C      数字[5]
C合計   Sum (C[1] ; C[3] ; C[5] )



等の場合、計算式のフィールド名の部分を変数処理出来れば同じ計算式がつかえるのではないかと思ったのですが。。。
宜しくお願い致します。

#4 2015-12-09 13:26:57

旅人
Member

Re: 繰り返しフィールドの計算

Sumしたい部分が多くて、式を個別に作るのが面倒ということですか。
Let (変数=GetField ( "A" );GetRepetition ( 変数 ; 1 ) +GetRepetition ( 変数 ; 2)  ・・・・)
でいいのでは?行番号部分は何ともならないですけど。

Offline

#5 2015-12-09 15:17:36

Shin
Member

Re: 繰り返しフィールドの計算

文字列で評価する計算式を作って、Evaluate() 関数を使えば良いでしょう。最初の例なら
Let ([
$X = B
] ;
Evaluate ( "Sum (" & $X & "[4] ; " & $X & "[5]" )
)
ただ、Let() 関数内で使うローカル変数は、その変数をそれ外で使う目的が無い限りは、$ は使わない事をお勧めします。

Last edited by Shin (2015-12-09 16:04:50)

Offline

#6 2015-12-09 17:35:33

okamoto
Guest

Re: 繰り返しフィールドの計算

旅人様、

お陰様で、頂いた方法でうまくいきました。
実は繰り返しフィールド内を同じ計算式で算出するフィールドが沢山あり、おっしゃる通り面倒だったのですが、変数処理でかなり楽になりました。

誠に、有難うございました。

Shin様、

丁寧な回答を頂き、有難うございました。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 509.28 KiB (Peak: 516.09 KiB) ]