Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5941 / 9994 ←次へ | 前へ→

【7263】データが違うとなってしまうのはなぜ?
質問  わん  - 06/2/13(月) 16:55 -

引用なし
パスワード
   いつもお世話になっています。

今回は累計計算をさせようとして
発生したことについてご質問です。

以下に例を挙げて説明します。

●テーブル1
 クラスID:オートナンバー、主キー
 クラス:テキスト

●テーブル2
 ID:オートナンバー、主キー
 年月日:日付型
 クラス:ルックアップ
 得点:数値型

※クエリ1
SQL
SELECT テーブル2.ID, テーブル2.クラス, テーブル2.得点, テーブル2.年月
FROM テーブル2 INNER JOIN テーブル1 ON テーブル2.クラス = テーブル1.クラスID;

※クエリ2
SQL
SELECT T.ID, T.得点, T.年月日, T.クラス, (select sum(S.得点) from クエリ as S where val(S.年月) <= val(T.年月日) and S.ID <= T.ID) AS 累計
FROM クエリ AS T
ORDER BY T.ID;

※クエリ3
SQL
SELECT クエリ2.年月日, クエリ2.ID, クエリ2.クラス, クエリ2.得点, クエリ2.累計, IIf(Format(クエリ2.年月日,"mmdd")="0229",Null,DateAdd("yyyy",-1,クエリ2.年月日)) AS 前年度年月日, P.得点 AS 前年得点, P.累計 AS 前年累計, P.クラス AS 前年クラス
FROM クエリ2 LEFT JOIN [SELECT IIf(Format(クエリ2.年月日,"mmdd")="0229",Null,DateAdd("yyyy",1,クエリ6新.年月日)) AS 来年年月日, クエリ2.クラス, クエリ2.得点, クエリ2.累計
FROM クエリ2]. AS P ON (クエリ2.クラス = P.クラス) AND (クエリ2.年月日 = P.来年年月)
ORDER BY クエリ2.年月日;

テーブル2をクエリ1に置き換えてからクエリ2で累計計算をして
クエリ3で前年度表示としているのですがデータ型が違うと表示されて
しまいます。
クエリ1に置き換えずにクエリ2の処理を直接テーブルから行えば
実行されるのですがクエリ1で別に計算をさせたいので必要なのです。

データが違うとなってしまうのは何故なんでしょうか?
また、これを上手く実行させるにはどうすれば良いのでしょうか?
同じ動作ができれば異なる方法でも構いません。

宜しくご教授をお願いします。

339 hits

【7263】データが違うとなってしまうのはなぜ? わん 06/2/13(月) 16:55 質問
【7266】Re:データが違うとなってしまうのはなぜ? わん 06/2/14(火) 0:36 発言
【7268】Re:データが違うとなってしまうのはなぜ? 小僧 06/2/14(火) 10:45 発言
【7269】Re:データが違うとなってしまうのはなぜ? わん 06/2/14(火) 11:53 発言

5941 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078229
(SS)C-BOARD v3.8 is Free