|
▼小僧 さん:
こんにちは。
ほかの仕事に追われなかなか手がつけられず返信できませんでした。
申し訳ありません・・・
時間があいてしまったのですが
> (20日締めなので21日〜20日)
>
>という事なので存在してはいけないという事で大丈夫でしょうか?
はい。記入ミスですので21日〜20日のフィールドでお願いします。
>
>Sub MakeCrossQuery()
>Dim strSQL As String
>Dim DB As DAO.Database
>Dim RS As DAO.Recordset
>Dim QD As DAO.QueryDef
>
> Set DB = CurrentDb
>
> 'クエリ Q_Cross の存在チェック
> 'なかった場合には作成
> 'あった場合には使いまわし
>
> strSQL = " SELECT * FROM MsysObjects WHERE NAME ='Q_Cross'"
>
> Set RS = DB.OpenRecordset(strSQL, dbOpenSnapshot)
> If RS.EOF Then
> Set QD = DB.CreateQueryDef("Q_Cross")
> Else
> Set QD = DB.QueryDefs("Q_Cross")
> End If
> RS.Close
>
> 'クロス集計クエリの作成
>
> strSQL = ""
> strSQL = strSQL & " TRANSFORM Count(売上テーブル.伝票番号) AS 伝票番号のカウント "
> strSQL = strSQL & " SELECT 売上テーブル.支店コード "
> strSQL = strSQL & " FROM 売上テーブル "
> strSQL = strSQL & " GROUP BY 売上テーブル.支店コード "
> strSQL = strSQL & " PIVOT Right([売上計上日],2);"
>
> QD.SQL = strSQL
> QD.Close
>
> MsgBox "クロス集計クエリ作成終了"
>
>End Sub
>
>
>上記をコピーし、標準モジュールに貼り付け実行させた後
>クエリ「Q_Cross」が出来る事を確認してみて下さい。
>
>
これで実行してみました。
支店は全部ちゃんと表示されました。
休日でデータのない日以外クロス集計で表示されるようにでてきました。
この状態でよろしいでしょうか?
また自分でもわからないなりにVBAを解読してみたのですが
どういった仕様になっているのか、よければ教えてください。
|
|