|
できました。ありがとうございました。
おかげさまで、希望どおりになってきて、ほんとうに助かります。
もうひとつご質問させて頂いてもよろしいでしょうか?
下記のようなSQLを書きました。
Set Kiten = Range("b1")
SQLCode = "TRANSFORM Count(品名) AS 品名のカウント " _
& "SELECT 店名,担当者名,契約者名 FROM 累積 " _
& "GROUP BY 店名, 担当者名, 契約者名 " _
& "PIVOT 週;"
以前教えて頂いた下記の部分を応用して、
Set rst = New Recordset
rst.Open SQLCode, cnn
Range("A1").CopyFromRecordset rst
rst.Close
店ごとの合計件数を表示させるように下記のコードを作りました。
s1,s2,s3には週ごとの値を合計させているつもりなのですが、合計数値がでません。
クロス集計の値は1件ずつ合計できないのでしょうか?
後、週によってはS4、S5と続く場合にあらかじめS4、S5をコードに入れておくと値が
ないときにエラーが出てしまいます。
rst.Open SQLCode, cnn
r = 1
s1 = 0
s2 = 0
s3 = 0
Do Until rst.EOF = True
c = 0
If tenmei <> rst.Fields(1).Value Then
r = r + 1
Cells(r, 4).Value = s1
Cells(r, 5).Value = s2
Cells(r, 6).Value = s3
s1 = 0
s2 = 0
s3 = 0
End If
r = r + 1
For Each fld In rst.Fields
If Not IsNull(fld.Value) Then
c = c + 1
Cells(r, c).Value = fld.Value
End If
Next
s1 = s1 + rst.Fields(3).Value
s2 = s2 + rst.Fields(4).Value
s3 = s3 + rst.Fields(5).Value
tenmei = rst.Fields(1).Value
rst.MoveNext
Loop
rst.Close
どうぞよろしくお願いいたします。
|
|