みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
体重と食事を管理する「ダイエット」テーブルを作っています(上の画像)。
このテーブルに「食べ物データ」(下の画像)テーブルをリレーションして
食品名と分量を入力していくと、その日のカロリーが自動で集計されるようにしたいです。
上の下半分が集計用なのですが、最初の1段目は「食べ物データ」の内容が表示されるのですが、
2段目から計算してくれません。
(1段目をブロッコリーにしてグラム数を入れるとうまくいきますが、2段目をゆでたまごにすると0kalになります)
この表は
左から
食品名 個数かグラムか選択 分量(個もしくはg) カロリー
として繰り返しを15回ずつ30回にしています。
赤く囲ったところに総カロリーを
Sum(食品カロリー)
としています。
どこを訂正すればうまくいくでしょうか。
どうかご教示ください。
※「ダイエット」テーブルの食品名と「食べ物データ」の名称をリレーションしています。
最初は「食べ物データ」で計算したものを転記していましたが、手間を省きたいです。
Offline
画像を見ることができませんので、推定ですが。
おそらく、繰り返しフィールドを使っているのでしょう。その元データも、繰り返しフィールドにして置くことが必要です。
レイアウトを見せてもらうより、フィールド定義とリレーション定義を見せてもらう方が早いです。
Last edited by Shin (2018-10-26 17:10:19)
Offline
ダイエットテーブル
ダイエットフィールド
食べ物データテーブル
食べ物データフィールド
リレーション
Shin様
前回は大変お世話になり、また今回もありがとうございます!
画像と定義をリンクで再度上げてみました。(いらない情報も入っていると思いますが)
繰り返しフィールドを食べ物データの方にも作るということでしょうか?
情報の過不足があればお教えください。
どうぞよろしくお願いいたします。
Offline
ダイエット::テーブルの食品カロリー[30]計算フィールドの式を
Lookup式に変更して試して?
Case( 個数重量選択="個"
; 分量*Lookup(食べ物データ::単体カロリー配列; "")
; 分量*Lookup(食べ物データ::カロリー@グラム配列; "")
)
ここで、
式中の 単体カロリー配列 と カロリー@グラム配列 は、
新規の繰り返し[30]計算フィールドで、それぞれ式は、
単体カロリー[1] と カロリー@グラム[1]
とします。
なお、
ダイエット::の単位名[30]はダブル表示で敢えて不要です。
また、
食べ物データ::テーブルの固定基礎データ項目以外の
一過性の変動項目フィールドも不要です。
Last edited by Hiro (2018-10-29 14:43:37)
Offline
ダイエットテーブル側に、単位カロリーを自動入力でルックアップする繰り返しフィールドを作り、カロリーは、そのフィールドから計算させるといいでしょう。
Offline
諸々設定が面倒なら、ExecuteSQL計算式 単独一本で解決することもできます。
(リレーションを含め他一切の設定などが不要です)
●「食品カロリー」繰り返し[30]計算フィールドの式:(動作検証はしてません)
ExecuteSQL(
"
SELECT ? * """ & Case( 個数重量選択="個"; "単体カロリー"; "カロリー@グラム") & """
FROM ""食べ物データ""
WHERE ""名称""=?
"
; ""
; ""
; 分量
; 食品名
)
Offline
Shin様
Hiro様
ご返信ありがとうございます!
ルックアップ……また新しい言葉を知りました。
ご指示通り頑張ってみます。
ありがとうございます。
また経過を報告させていただきます。
Offline
Shin様
Hiro様
できました!
いただいた式をアレンジして
他の栄養素も計算できるようになりました。
理想のものになりました。
感謝いたします。
またバージョンアップをする時は
どうぞよろしくお願いいたします。
Offline
Pages: 1
[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 563.21 KiB (Peak: 582.45 KiB) ]