- 締切済み
ACCESSで前日比を行う方法で最も効率のいいと思われる方法は・・・??
ACCESSに詳しい方の知恵を拝借できたらと思います。 宜しくお願い致します。 早速ですが、休日を挟みデータの存在しない日付を無視し前日比を 計算させる方法で最も効率の良い方法はどのようなものになるでしょうか?? 現在クエリ上では日付フィールドの抽出条件に例えばですが・・・“(select max(日付) from ○○ <(select max(日付) from ○日前))” といった感じで前日比の計算を行うことができるようにしておりますが・・・この方法ですと多くの日数分のクエリを作成したとしても、14日か15日程度で構造が複雑すぎるということで算出することができなくなってしまいます。 何らかの方法で簡略化および日数を増やすことができたらと考えておりますので、アドバイスをお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- deecyan
- ベストアンサー率38% (89/233)
クエリーを使うのであれば 15こも作らないで 2つでいけます 前の日の値を出すクエリを作って それを結合させ 前日比を出すクエリです テーブル TBL1 項目 day1 SU1 SU2 SU3 10/14 13 25 36 10/13 12 23 35 10/11 11 22 33 10/10 10 20 30 があると 前の日値を出すのクエリは day2 ysu1 ysu2 ysu3 13 25 36 10/14 12 23 35 10/13 11 22 33 10/11 10 20 30 ですね クエリーの式は day2: (select min(x.day1) from tbl1 as x where x.day1 > [tbl1].[day1]) ysu1:SU1 ysu2:su2 ysu3:su3 あとは結合して計算するクエリを作ってください。
- deecyan
- ベストアンサー率38% (89/233)
前日比はクエリーを作ってやるものではないのでは? レコードを更新したときに計算させたほうがよいと思います フォームを作って Sub Form_BeforeUpdate(Cancel As Integer) に書いて 計算したほうが 後の処理が早いです