みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FileMaker v16でExecuteSQL関数で別テーブルの合計値をSUMしたいのですが...
以下式の時、リレーションキーとなる「rKey」のタイプが「数字」では、うまくSUM出来るのですが、
「テキスト」だと「?」となります。
「rKey」は、複数の結合体なのでテキストとして使用したいのですが...何が悪いのでしょうか?
ExecuteSQL ( "SELECT SUM(\"金額\") FROM \"会員F\" WHERE " & 履歴F::rKey & "=\"rKey\"";"";"" )
Offline
TEXTの場合は、「'」シングルクォーテーションで括ります。
ExecuteSQL ( "SELECT SUM(\"金額\") FROM \"会員F\" WHERE \"rKey\"='" & 履歴F::rKey & "'";"";"" )
「?」を使えば、フィールドタイプをきにしなくてもOK。
ExecuteSQL ( "SELECT SUM(\"金額\") FROM \"会員F\" WHERE \"rKey\"=?";"";""; 履歴F::rKey )
Offline
参考まで。
以下のようにすると、式がスッキリして見やすくなり、デバッグもしやすくなります。
変数を設定 [$query;値:
Let(¢query="
SELECT SUM(`金額`)
FROM `会員`
WHERE `rKey`='{rKey}'
"
;
Substitute ( ¢query ;
["`" ; "\""]
; ["{rKey}" ; 履歴F::rKey]
)
)
]
変数を設定 [$Result;値:ExecuteSQL ( $query ; "" ; "" )]
Last edited by qb_dp (2017-06-29 15:13:56)
Offline
返信が遅れ、申し訳ありませんでした。
ありがとうございます。
早速、試してみます。
御礼まで。
Offline
教えて頂いた方法でSUMすることが出来ました。
もう一点お教え頂きたいのですが...
上記式に「種別」の条件を加えるにはどうすればいいのでしょうか?
「rKey」+「種別」といった具合に2つのキーをみてSUMしたいのですが...
よろしくお願いします。
Offline
2つの条件式を、希望する論理演算子(ANDかOR)で連結して指定します。
Offline
Pages: 1
[ Generated in 0.034 seconds, 9 queries executed - Memory usage: 551.89 KiB (Peak: 579.66 KiB) ]