|    | 
     お疲れ様です。 
 
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))  
 
の部分が引っかかっているようです。 
 
説明不足かもしれませんがどうぞ知恵を貸していただけたらと思います。 
 
よろしくお願いいたします。 
 | 
     
    
   |