|
お疲れ様です。
ACCESS初心者で勉強中なのですが、1週間考え続けて完全に詰んだんので
質問させてください
現場の方が使うための集計ツールを作成中なのですが
伝票テーブル
出荷部門 売上部門 発行日 伝票番号
**** *** 20110310 ********
という形式で伝票テーブルがあり
【行見出し】出荷部門(グループ化)、売上部門(グループ化)
【列見出し】発行日(グループ化)
【値】伝票番号(カウント)
集計の際は21日始まりで20日終わりとし
表示は日2桁だけのようにしています。
月度はフォームに日付を入力して、それを取得
し判断できるようVBAを組んでいます
Option Compare Datebase
Option Explicit
sub伝票集計作成()
Dim strSEN As String
Dim strIn As String
Dim DB As DAO.Datebase
Dim RS As DAO.Recodset
Dim QD As DAO.queryDef
Dim SDate As Date
Dim S As Long
SDate = #1/21/2011#
Set DB ~ CurrentDb
strSEN = "SELECT * FROM MsysObjects WHERE NAME = 'S_Cross'"
Set RS = DB.OpenRecordset(strSEN, dbOpenSnapshot)
If RS.EOF Then
Set QD = DB.CreateQueryDef("S_Cross")
Else
Set QD = DB.QueryDefs("S_Cross")
End If
RS.Close
strSEN = ""
strSEN = strSEN &" TRANSFORM Count(伝票テーブル。伝票番号) AS 伝票番号のカウント "
strSEN = strSEN &" SELECT 伝票テーブル.売上部門,伝票テーブル.出荷部門 "
strSEN = strSEN &" FROM 伝票テーブル "
strSEN = strSEN &" GROUP BY 伝票テーブル.売上部門,伝票テーブル.出荷部門"
strSEN = strSEN &" PIVOT Val(Right([発行日],2)) "
Do Until Day(SDate) = 20
strIn = strIn & "'" & Day(SDate) & "'"
SDate = DateAdd("d", 1, SDate)
Loop
strSEN = strSEN & "In (" & Mid(strIn, 2) & ",20);"
QD.SQL = strSEN
QD.Close
End Sub
という状態で走らせているのですが
strSEN = strSEN &" PIVOT Val(Right([発行日],2))
の部分が引っかかっているようです。
説明不足かもしれませんがどうぞ知恵を貸していただけたらと思います。
よろしくお願いいたします。
|
|