あるフィールドのグループが変わるごとに、そのグループの演算を行い、結果をレコードセットに書き出します。
まず、集計する順番にレコードを並べます。それは、並び順を指定したクエリで作成。もちろん、SQLでもok.
次にそのクエリからレコードセットをセットします。
まず、1レコード目の値を変数に代入
前のレコードと異なるグループ名だったら、演算結果を書き出します。
同じグループ名だったら演算します。そして次のレコードを読み込みます。
Private Sub ()
Dim Db As DAO.Database
Dim rst1 As DAO.Recordset
Dim gr As Single
Set Db = CurrentDb()
Set rst1 = Db.OpenRecordset("Query", dbOpenDynaset)
Set rst2 = Db.OpenRecordset("table", dbOpenDynaset)
If rst1.BOF = False Then
rst1.MoveFirst
End If
rst2.AddNew
gr = rst1!field
Do Until rst1.EOF
If gr <> rst1!field Then
rst2.AddNew
rst2!gr = gr
rst2.Update
gr = rst1!gr
rst1.MoveNext
Else
rst2.AddNew
rst1.MoveNext
End If
Loop
Set rst1 = Nothing
Set rst2 = Nothing
Set Db = Nothing
End Sub