No67997.連結データシートでのレコード間の計算について
| タイトル | : 連結データシートでのレコード間の計算について |
| 記事No | : 67997 |
| 投稿日 | : 2006/01/03(Tue) 15:17 |
| 投稿者 | : ささ |
OS:XP Access Version:2003
実現できるかどうか分からないのですが、 連結データシートでのレコード間の計算 について教えて下さい。 例えば、テーブルの内容が ID 金額 1 100 2 200 3 300 であったとした場合、 連結データシートで表示させたいのは、 ID 金額 累計金額 1 100 100 2 200 300 3 300 600 と言った通りです。 累計金額欄は前レコードの金額の累計を 計算し表示させたいのですが可能でしょ うか?
よろしくお願いします。
|
| タイトル | : Re: 連結データシートでのレコード間の計算について |
| 記事No | : 67998 |
| 投稿日 | : 2006/01/03(Tue) 16:44 |
| 投稿者 | : 三田舞也 |
> 累計金額欄は前レコードの金額の累計を > 計算し表示させたいのですが可能でしょ > うか?
色々な方法があると思いますが。
テーブル名を TABLE1 とします。 以下のSQL文を使い、SQLビューでクエリを作成して、連結データシートのレコードソースとします。
SELECT T1.ID, T1.金額, DSum("金額","TABLE1","ID <=" & T1.ID) AS 累積金額 FROM TABLE1 AS T1;
|
| タイトル | : Re^2: 連結データシートでのレコード間の計算について |
| 記事No | : 68080 |
| 投稿日 | : 2006/01/05(Thu) 12:57 |
| 投稿者 | : ささ |
三田舞也様
ご回答ありがとうございました。 試したところ成功致しました。
当方の当初の質問が不足していたのですが、 最終的に実現させたいことは抽出条件を設定 しその条件に一致するレコードの累計金額を 連結データシートで表示させたいというもの です。 例えば、テーブルの内容が ID 金額 1 100 2 200 3 300 クエリの抽出条件が「ID=2or3」であった場合、 (実際にはID以外にも他の項目で抽出条件を設定したい) 連結データシートで表示させたいのは、 ID 金額 累計金額 2 200 200 3 300 500 と言った通りです。
三田舞也様ご回答のクエリで試したところ、 ID 金額 累計金額 2 200 300 3 300 600 と表示されてしまい、抽出対象外の「ID=1」の レコードの金額100も累計されてしまいます。
図々しいですが色々な方法があるとのことで 勉強のためにも他の方法もお教え頂けないで しょうか?
以上、お願い致します。
|
| タイトル | : Re^3: 連結データシートでのレコード間の計算について |
| 記事No | : 68085 |
| 投稿日 | : 2006/01/05(Thu) 13:45 |
| 投稿者 | : 三田舞也 |
> 三田舞也様ご回答のクエリで試したところ、 > ID 金額 累計金額 > 2 200 300 > 3 300 600 > と表示されてしまい、抽出対象外の「ID=1」の > レコードの金額100も累計されてしまいます。
先に明記した SELECT T1.ID, T1.金額, DSum("金額","TABLE1","ID <=" & T1.ID) AS 累積金額 FROM TABLE1 AS T1; の [TABLE1]のところを、抽出結果のクエリとすれば済む話だと思います。
もしくは、Dsumの条件に追加すればよいかと。 例) SELECT T1.ID, T1.金額, DSum("金額","TABLE1","ID IN (2,3) AND ID <=" & T1.ID) AS 累積金額 FROM TABLE1 AS T1 WHERE ID IN (2,3);
|
| タイトル | : Re^4: 連結データシートでのレコード間の計算について |
| 記事No | : 68176 |
| 投稿日 | : 2006/01/06(Fri) 19:28 |
| 投稿者 | : ささ |
三田舞也様
ご回答ありがとうございます。
> 先に明記した > SELECT T1.ID, T1.金額, DSum("金額","TABLE1","ID <=" & T1.ID) AS 累積金額 > FROM TABLE1 AS T1; > の > [TABLE1]のところを、抽出結果のクエリとすれば済む話だと思います。
上記方法で試したところ、抽出条件が固定の場合は成功致しました。 またまた質問不足で申し訳ないのですが、実現させたいのは抽出条件を パラメータで引き渡したいのです。 抽出条件をパラメータで引き渡した場合、累積金額は「#エラー」と表示 されてしまいます。 DSumのヘルプを参照したところ、第2引数の「domain」は「パラメータを 必要としないクエリには、テーブル名またはクエリ名が指定できます。」 と記述されていました。
抽出条件をパラメータで引渡すことは無理なのでしょうか? また、データシートの方に累積金額用のテキストを作り、コントロール ソースの設定で累積を表示することなどできないのでしょうか?
以上、ど素人の質問で申し訳ございません。
|
| タイトル | : Re^5: 連結データシートでのレコード間の計算について |
| 記事No | : 68191 |
| 投稿日 | : 2006/01/07(Sat) 01:17 |
| 投稿者 | : 三田舞也 |
> 抽出条件をパラメータで引渡すことは無理なのでしょうか? > また、データシートの方に累積金額用のテキストを作り、コントロール > ソースの設定で累積を表示することなどできないのでしょうか?
パラメータで入力するのではなく、 たとえばフォームのテキストボックスの値を使用して抽出を行えば可能です。
|
| タイトル | : Re^6: 連結データシートでのレコード間の計算について |
| 記事No | : 68325 |
| 投稿日 | : 2006/01/10(Tue) 13:39 |
| 投稿者 | : ささ |
三田舞也様
> パラメータで入力するのではなく、 > たとえばフォームのテキストボックスの値を使用して抽出を行えば可能です。
上記方法で成功しました。 ありがとうございました。
|
このAccessフォーラム過去ログ集は、Microsoft Access Club が運営しています

|