
excel VBから直接ODBCにSQLを実行した時にエラーが出ます。
ソースコードは下記のようになっています。
strSQL = strSQL & "SELECT"
strSQL = strSQL & " 店舗別売上明細_22.売上年月日"
strSQL = strSQL & ",店舗別売上明細_22.抽出用屋号"
strSQL = strSQL & ",店舗別売上明細_22.抽出用商品ブランド名"
strSQL = strSQL & ",店舗別売上明細_22.出荷取引分類区分名"
strSQL = strSQL & ",SUM(店舗別売上明細_22.売上金額) as 合計"
strSQL = strSQL & ",店舗別売上明細_22.取引先コード"
strSQL = strSQL & " FROM"
strSQL = strSQL & " 店舗別売上明細_22"
strSQL = strSQL & " GROUP BY"
strSQL = strSQL & " 店舗別売上明細_22.売上年月日"
strSQL = strSQL & ",店舗別売上明細_22.抽出用屋号"
strSQL = strSQL & ",店舗別売上明細_22.抽出用商品ブランド名"
strSQL = strSQL & ",店舗別売上明細_22.出荷取引分類区分名"
strSQL = strSQL & ",店舗別売上明細_22.抽出用取引先名"
strSQL = strSQL & ",店舗別売上明細_22.商品区分"
strSQL = strSQL & ",店舗別売上明細_22.取引先コード"
strSQL = strSQL & " HAVING"
strSQL = strSQL & " 店舗別売上明細_22.売上年月日"
strSQL = strSQL & " Between 2010/01/01 And 2010/01/31"
strSQL = strSQL & " AND"
strSQL = strSQL & " 店舗別売上明細_22.抽出用商品ブランド名 = '****'"
strSQL = strSQL & " AND"
strSQL = strSQL & " 店舗別売上明細_22.商品区分 <> '05ノベルティ'"
GROUP BYを使わずにWHEREで実行するとうまくいきます。
原因がわかりますでしょうか?
No.2ベストアンサー
- 回答日時:
厳密に言うと、HAVING句は集計した結果を条件に
する場合に使います。対して、WHERE句は最初から
分かっているレコード固有の値を条件にする場合に
使います。例えば、SUM(売上金額)>1000000という
条件は合計して始めて値が分かるので、HAVING句で
しか指定できません。しかし、売上年月日の範囲指定、
ブランド名等は最初からレコードにある値が条件なので、
WHERE句を使います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) SQLで抽出 4 2022/12/04 13:55
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- 世界情勢 コロナ禍の会社命令について。近所の商店街の老舗百貨店の40代女性店員が2020年の春先に新宿シアター 2 2022/11/06 13:50
- 中古パソコン どこで売ったら一番高く売れるでしょう? 5 2022/10/01 10:01
- その他(お金・保険・資産運用) 至急!【Wolt】各メニューの価格設定の簡単な計算方法 3 2023/03/05 11:58
- Amazon Amazonさん 価格の違い...について 4 2022/07/01 21:12
- ネットスーパー 他人の閲覧履歴消せますか? 2 2022/09/19 04:26
- Excel(エクセル) Excelの計算式についてお教えください 8 2023/06/05 10:01
- 営業・販売・サービス 外での販売について。 2 2022/05/26 14:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコードの選択の仕方
-
GROUP BY 又は HAVING句?
-
nullなどの不正なデータが存在...
-
小規模なデータベース
-
DISTINCTについて
-
ODBC SQL構文 VBA
-
BLOB型項目をSQLの検索条件に指...
-
【SQL】違うフィールド同士の集...
-
フラグがたっているデータがあ...
-
引数によってwhere句を切り替え...
-
ユニークレコードの定義
-
MySQLからフィールド名のリスト...
-
UPDATE時にundefinedがセットさ...
-
付録CDなどの動画をWMPで...
-
時間の判定条件
-
チェックボックスから得る値を...
-
エクセルでのソートについて
-
オープンオフィス
-
SQLだけでselect結果に定数を加...
-
myadminのインポートについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
単一グループのグループ関数で...
-
group byの並び順を変えるだけ...
-
where句中のtrim関数について
-
【PL/SQL】FROM区に変数を使う方法
-
トランザクションログを出力せ...
-
SELECT FOR UPDATE で該当レコ...
-
引数によってwhere句を切り替え...
-
データ
-
SQL*Loader Append
-
AccessのSQL文で1件のみヒット...
-
updateで複数行更新したい
-
アクセスのレポートでレコード...
-
「数字で始まらない」ものを抽...
-
SQLで条件にヒットしたレコード...
-
デフォルトでデータが表示され...
-
osqleditについて
-
PL/SQL内の共通関数の引数にフ...
-
1レコード全てを改行なしで表...
-
トリガからプロシージャのコー...
-
BLOB型項目をSQLの検索条件に指...
おすすめ情報