|
こんにちは、YU-TANG です。
> 出来るでしょうが、私はそちらの方法に興味が無いので、パスします。
> 申し訳ありませんが、他の方のレスをお待ちください。
…と書いてから 48 時間経過しましたが、レスが付かないようですね。
こういうのは犯罪捜査と同じで、経験則的には 48 時間以内に被疑者を
検挙…じゃなくて、レスが付かないと、解決率が急激に低下する傾向が
あります。
オチの付かないツリーほど見苦しいものもないので、再レスを。
SELECT
*,
IIf(IsNull([再出荷日]), [出荷日], [再出荷日]) AS 開始日,
IIf(IsNull([故障日]),Date(),[故障日]) AS 最終日,
Format$([開始日], "mm\.dd") > Format$([最終日], "mm\.dd") AS 補正,
DateDiff("m", [開始日], [最終日]) + [補正] AS 月,
(DateDiff("yyyy", [開始日], [最終日]) + [補正])
& "年" & ([月] Mod 12) & "ヶ月"
& ([最終日] - DateAdd("m", [月], [開始日])) & "日" AS 寿命
FROM
[電化製品]
WHERE
[電化製品の寿命]
= IIf(IsNull([故障日]), Date(), [故障日])
- IIf(IsNull([再出荷日]), [出荷日], [再出荷日]);
上記 SQL 文をクエリの SQL ビューに貼り付けて保存してください。
簡易ロジックで、閏年対応を省いています。
2/29 が絡むと寿命が 1 日くらいズレるかもしれませんが、ご容赦を。
これを使うなら、SQL 文の意味を把握するようにしてください。
でないとメンテ不能になります。
クエリの SQL ビューとデザインビューを見比べるとか、関数ごとに
分割して解析するなどしてください。
その上で、不明点は質問してください。
それでは。
|
|