みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になります。
繰り返しフィールドの指定した繰り返し位置の値の合計を出すに当たって、以下の様にLet関数でフィールド名を変数で設定する事は出来ないでしょうか?
Let ([
$X = B
] ;
Sum ($X[4] ; $X[5] )
)
多くの異なった繰り返しフィールドの合計算出が有り、フィールド名を変数で扱えないかと考えています。
可否も含めて何か方法はないでしょうか?
宜しくご教授をお願い致します。
フィールド名というか、指定したフィールド内容を変数にするには
$X = GetField("B") と思いますけど、どんな利点があるのかよくわからない。
計算式側もGetRepetitionになるかも?
Offline
旅人様
早速のご返信、有難うございます。
質問の内容を補足させて頂きます。
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] )
:
:
:
等の場合、計算式のフィールド名の部分を変数処理出来れば同じ計算式がつかえるのではないかと思ったのですが。。。
宜しくお願い致します。
Sumしたい部分が多くて、式を個別に作るのが面倒ということですか。
Let (変数=GetField ( "A" );GetRepetition ( 変数 ; 1 ) +GetRepetition ( 変数 ; 2) ・・・・)
でいいのでは?行番号部分は何ともならないですけど。
Offline
文字列で評価する計算式を作って、Evaluate() 関数を使えば良いでしょう。最初の例なら
Let ([
$X = B
] ;
Evaluate ( "Sum (" & $X & "[4] ; " & $X & "[5]" )
)
ただ、Let() 関数内で使うローカル変数は、その変数をそれ外で使う目的が無い限りは、$ は使わない事をお勧めします。
Last edited by Shin (2015-12-09 16:04:50)
Offline
旅人様、
お陰様で、頂いた方法でうまくいきました。
実は繰り返しフィールド内を同じ計算式で算出するフィールドが沢山あり、おっしゃる通り面倒だったのですが、変数処理でかなり楽になりました。
誠に、有難うございました。
Shin様、
丁寧な回答を頂き、有難うございました。
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 509.28 KiB (Peak: 516.09 KiB) ]