dポイントプレゼントキャンペーン実施中!

いつもお世話になっております。
下記のコードの間違えているところを
おしえてくれませんでしょうか
エクセルの標準モジュールに記載しております。
また、添付ファイル有

strSQL =strSQL "SELECT"

strSQL =strSQL "MAX(T1.社員名) AS 社員名 , " _
& " SUM(CASE T2.状態区分 WHEN 0 THEN T2.売上金額 ELSE 0 END) AS 未確定売上金額 , " _
& " SUM(CASE T2.状態区分 WHEN 1 THEN T2.売上金額 ELSE 0 END) AS 確定売上金額"

strSQL =strSQL "FROM"
strSQL =strSQL "社員マスタ AS T1 LEFT JOIN 売上明細 AS T2"
strSQL =strSQL "ON T1.社員コード = T2.社員コード"

strSQL =strSQL "GROUP BY T1.社員コード"

「SQL」の質問画像

質問者からの補足コメント

  • どう思う?

    お忙しいところありがとうございます。
    WHENを認識できませんとメッセージがでます。
    対処方法おしえてくれませんでしょうか

    No.2の回答に寄せられた補足コメントです。 補足日時:2020/01/14 11:36

A 回答 (5件)

こっちもスペースを追加。



strSQL =strSQL " MAX(T1.社員名) AS 社員名 , " _
& " SUM(CASE T2.状態区分 WHEN 0 THEN T2.売上金額 ELSE 0 END) AS 未確定売上金額 , " _
& " SUM(CASE T2.状態区分 WHEN 1 THEN T2.売上金額 ELSE 0 END) AS 確定売上金額"
    • good
    • 0
この回答へのお礼

WHEN が使用できないのではないかとおもいます。

お礼日時:2020/01/14 13:07

スペースを追加。



strSQL =strSQL " FROM"
strSQL =strSQL " 社員マスタ AS T1 LEFT JOIN 売上明細 AS T2"
strSQL =strSQL " ON T1.社員コード = T2.社員コード"
strSQL =strSQL " GROUP BY T1.社員コード"
    • good
    • 0
この回答へのお礼

WHEN が使用できないのではないかとおもいます。

お礼日時:2020/01/14 13:07

今の状態を提示してください。


そういったクエリ絡みのエラーは、VBAなんて関係なく、DBサーバで実行して動作を確認できるSQLを組み立てれば済むはずですが。
    • good
    • 0
この回答へのお礼

ありがとうございます。
わたしの考えですがWHEN は
使用できないのではないかとおもいます。

お礼日時:2020/01/14 12:42

SQL文を生成しているすべての行の先頭に、半角スペースを入れるように変えた方がいいです。


すべての文字が繋がっているからSQLとして誤りになるかと思います。
デバッグ実行で生成されたSQL文を確認するといいですよ。
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございます

お礼日時:2020/01/14 12:41

連結の&が無い。



strSQL =strSQL "SELECT"

strSQL =strSQL & "SELECT"

以下全て同じ。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2020/01/14 12:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています