みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
初めまして。
ダイエットのために体重を記録し始めました。
当日の体重を入力すると、その横に、自動で前のレコードの体重との差が出るようにしています。
例えば、50.0kgと入力するとその横に -0.3kgと自動で表示されます。
これは前回比というフィールドを作り
(体重) - GetNthRecord ( 体重 ; Get ( レコード番号 ) - 1 )
で、うまくいきました。
できれば、1週間前(2週間前、3週間前……)との比較も自動で表示させたいのですが
うまくいきません。
1日1度しか体重は入力しないため、同じ日付が複数のレコードにまたがることはありません。
特定の日付のあるレコードから特定のフィールドの内容を返す方法ということになるのでしょうか?
どうかご教示よろしくお願いいたします。
Offline
必ず、1日一レコード作られているのでしたら、
GetNthRecord ( 体重 ; Get ( レコード番号 ) - 1 )
の最後の数字を7にすれば7日前、14にすれば14日前の計算ができます。
Offline
日付を元に、繰り返し計算フィールドに「5週次比較推移表」を計算式だけで
算出するとてもシンプルな作例サンプルです。
※こちらは、『必ず、1日1レコード作る』必要はありません。サボリもOKです。
また、
比較週数の変更も、フィールド設定で繰り返し回数を変えるだけで、非常に簡単です。
●サンプル「体重表.fmp12」 → https://yahoo.jp/box/DL0g65
「週次比較表」繰り返し計算フィールドの式は、
===========================
ExecuteSQL(
"
SELECT ? - ""体重""
FROM ""マスタテーブル""
WHERE ""日付""=?
"
; ""
; ""
; 体重[1]
; 日付[1] - 7*Get(計算式繰り返し位置番号)
)
===========================
【サンプル・スクリーンショット】
Last edited by Hiro (2018-10-18 00:45:37)
Offline
Shinさま
ご返信ありがとうございます。
測り忘れや不在時などに対応したいため、
レコード番号以外の方法がないかと思っておりました。
付記し忘れており、すみませんでした。
ありがとうございました。
またわからないことがあった時は
どうぞよろしくお願いいたします。
Offline
Hiroさま
ご返信ありがとうございます。
また、サンプルをありがとうございます!
ダウンロードさせていただきました。
こういう方法があるのですね。
今使っているものに組み込みたいと思います。
その際にわからないことがあれば
また質問させていただくかもしれません。
どうぞよろしくお願いいたします。
うまくいった場合もご報告いたします。
ありがとうございました。
Offline
Hiroさま
昨日はサンプルをありがとうございました。
早速いただいたものを使い
===========================
ExecuteSQL(
"
SELECT ? - \"体重\"
FROM \"ダイエット\"
WHERE \"日付\"=?
"
; ""
; ""
; 体重[1]
; 日付[1] - 7*Get(計算式繰り返し位置番号)
)
===========================
にしたのですが、フィールドに何も表示されません。
ExecuteSQLの関数を理解できていないので
(クエリとは何?というレベルです)
テーブル名のダイエットだけ置き換えてみたのですが……
フィールド定義等が、Hiroさんのものと違っているのかもしれません。
一応比較してみたのですが、体重は数字、日付は日付にしています。
可能性があることがあればご指摘いただければ幸いです。
Offline
設定は合っているとしても、
表示には、
最低でも1週間前のデータレコードが必要!
この点は?
Offline
Hiroさま
ご返信ありがとうございます。
ご指摘の通り、
ちょうど今日が計量8日目でした。
入力した途端に表示されました!お騒がせしてすみませんでした。
-7のところを-90 -180などとすると
3ヶ月前や半年前との差もわかるのですね。
本当にありがとうございました。
ダイエット頑張ります。
Offline
Pages: 1
[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 563.17 KiB (Peak: 582.41 KiB) ]