まだSQLの勉強が追いつかず、もういちど質問させてください。
あるアクセスファイル内に、
店舗マスターテーブル 「店舗ID(主)」「店舗名」「店舗電話番号」....
売上記録テーブル 「オートナンバー(主)」「店舗ID」「売上金額」「日付」
という2つのテーブルがあります。
外部からVBAで、「3月15日から3月31日までの、店舗毎の、売上合計一覧表」を取得したいです。
「店舗ID」「店舗名」「売上合計」という3フィールドだけの表ですが、ACCESSファイル内にクエリを用意しておくことをせずに、いきなり、外部のVBAでこのアクセスファイルから取得したいのですが、SQLをいろいろ書き試しているのですが、ダメです。
conStr = "Provider =Microsoft.ACE.OLEDB.12.0;Data Source = " & アクセスファイルのフルパス con.Open (conStr) strQ = "SELECT 売上記録.店舗ID,店舗マスター.店舗名,SUM(売上金額) FROM 売上記録 _ INNER JOIN 店舗マスター ON 売上記録.店舗ID = 店舗マスター.店舗ID GROUP BY 売上記録.店舗ID _ WHERE 売上記録.日付>=#2018/3/1# AND 売上記録.日付<=#2018/3/15# ORDER BY 売上記録.店舗ID" rs.Open strQ, con, adopenkeyset, adLockOptimistic
↑
この、strQの中をいろいろ書き直してはうまくいかないことばかりです。
「売上記録テーブルのレコードの中の、日付が3/1-3/15の範囲のレコードだけを対象にした、店舗IDごとに売上金額の合計」の表に、店舗IDだけでは見にくいから店舗マスターから店舗名だけを紐つけして併記したい、というだけのことなんですが、うまく書けません。
ズバリ教えてください。
また、SQLの勉強におすすめの書籍もあれば併せて教えてください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/06 15:55
2018/04/06 16:03 編集
2018/04/06 16:15