ID,固定,変動費1,変動費2

01,100,200,300
01,100,300,400
02,100,400,500
02,100,500,600
02,100,500,600
....

上記のようなデータがテーブルに入っているとします。IDは複数件あります。ID毎に固定、変動費1合計、変動費2合計を出力したいです。例えば、ID:01は固定100なので、これはこのまま出力します。01の変動費1の合計は500なので500を出力、変動費2の合計は700なので700を出力したいです。つまり固定費は合計しません。

これを実現するにはどのようにコードを書けばいいでしょうか?sum関数を使うのが便利なのでしょうか?ちなみにVBAとAccessでコードを書こうとしています。Kotei=固定、Hendo1=変動費1、Hendo2=変動費2と変数に入れて、ループ時に固定は足し込みをせずに、変動費1,2をHendo1=変動費1+Hendo1にしてデータを足していけば実現できるとは思うのですが、他に何か上手なやり方があればお教えください。

回答の条件
  • 1人2回まで
  • 登録:2009/06/28 09:22:55
  • 終了:2009/07/05 09:25:02

回答(4件)

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912009/06/28 10:33:00

ポイント23pt

データベースにあるならわざわざ VBS で集計しなくとも、SQL でできるケースだと思います。


下記で希望のようにならないでしょうか。

SELECT id, kotei, SUM( hendohi1 ), SUM( hendohi2 ) FROM data_table GROUP BY id, kotei
id:MotherGoose No.2

MotherGoose回答回数16ベストアンサー獲得回数02009/06/28 13:00:44

ポイント23pt

SQLで取得できると思いますがいかがでしょうか?

(「ID」と「固定」は1:1であることを前提で考えています。)

SELECT

ID,

固定,

SUM(変動費1) AS 変動費1合計,

SUM(変動費2) AS 変動費2合計

FROM テーブル1

GROUP BY ID, 固定

id:frkw2004 No.3

ふるるP回答回数192ベストアンサー獲得回数212009/06/28 21:46:05

ポイント22pt

VBAとACCESSということはACCESSのVBAで処理をする、ということでしょうか。

SQLをAccessで実行させるなら、CurrentProject.Connectionを使いましょう。

Dim SQL As String

SQL = " Select ID,固定,Sum(変動費1) AS 変動費1合計,Sum(変動費2) AS 変動費2合計"

Dim oRS As Recordset

Set oRS = CurrentProject.Connection.Execute(SQL)

Do until oRS.EOF

Debug.Print oRS.Fields(ID) & " :" & oRS.Fields("変動費1合計") & "," & oRS.Fields("変動費2合計")

oRS.MoveNext

Loop

Set oRS = Nothing

id:ken3memo No.4

ken3memo回答回数246ベストアンサー獲得回数772009/06/29 00:48:35

ポイント22pt

Accessクエリーの作成画面で

表示・集計を選択する。

次に グループ化の場所で、

先頭や合計などを選択する。。。

で、

クエリーができたら、それを元にしてレポートや確認用のフォームを作るとか?


f:id:ken3memo:20090629004541j:image

  • id:frkw2004
    SQL文の作成で、Group By を忘れていました。

    SQL = " Select ID,固定,Sum(変動費1) AS 変動費1合計,Sum(変動費2) AS 変動費2合計"

    となっていますが、
    SQL = " Select ID,固定,Sum(変動費1) AS 変動費1合計,Sum(変動費2) AS 変動費2合計 Group By ID,固定"

    としてGroup By 句を追加してください。エラーになります。


この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません