- ベストアンサー
アクセス2000 複数のテーブルに同じクエリの処理をかけたい
いつもお世話になります。 アクセスに"DB1"~"DB20"までの20コのテーブルがあり、レイアウトは全て同じです。 "店名" "アイテム数" "数量" "金額 "・・・ "グループ化" "カウント" "合計" "合計"・・・ それを上記のクエリで集計して、"集計1"~"集計20"のテーブルを作りたいのですが、現在はDB1が終わったらDB2を表示させて1項目ずつテーブル名を変えてDB1を消してクエリ実行・・・と行っています。 ミスも結構あります。 マクロか何かで出来るのならと思い、ご質問させていただきました。 以上宜しくお願い致します。
- 7-samurai
- お礼率70% (197/278)
- オフィス系ソフト
- 回答数2
- ありがとう数1
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
VBAでSQL文を順次書き換えての処理は、 大丈夫かどうか(回答に付いてこれるか)はやってみないと分かりません。 別案ですがクエリをそれぞれのテーブル専用で20個作るとか・・ エレガントでは有りませんけど・・
その他の回答 (1)
- nicotinism
- ベストアンサー率70% (1019/1452)
テーブルそれぞれから DB1 ~ DB20 ↓ ↓ 集計1~集計20のテーブルをクエリで 個々に作成するということでしょうか? クエリのデザインビューでSQLビューの方の SQL文が分かれば何とかなるかも? ※何か有れば補足欄でなくお礼欄で投稿願います。
関連するQ&A
- アクセス クエリ・集計・計算方法について
アクセスの集計機能を使用して、品名毎の数量の合計と金額の合計を算出しようとしていますが、 思うようにできません。どなたか教えてください。 クエリのフィールドを左から・・・ (1)年月: Format([日付],"yyyy/mm")(集計:グループ化) (2)品名(集計:グループ化) (3)品名のカウント(集計機能:カウント) (4)単価(集計:グループ化) (5)金額: [単価]*[品名のカウント](集計:グループ化) このような形でクエリを実行していますが、すべての注文が1つだけなら問題ないのですが、実際には品名には数量が掛けられている場合もあり、現在設定しているクエリ設定では正しい数量の合計と金額の合計を出すことができません。どうか集計方法をご教授いただけないでしょうか。よろしくお願いします。 ■現在のテーブルの設計とリレーションを明記します。 【A】顧客テーブル (1)顧客ID (2)発注コード (3)氏名 【B】商品テーブル (1)商品ID (2)品名 (3)単価 【C】注文テーブル (1)注文ID (2)日付 (3)顧客ID 【D】注文明細テーブル (1)注文明細ID (2)注文ID (3)商品ID (4)数量 リレーション 【A】(1)-【C】(3) 【B】(1)-【D】(3) 【C】(1)-【D】(2)
- ベストアンサー
- オフィス系ソフト
- Access 2000、ユニオンクエリーがどうしても出来ない!
初歩の質問ですが、ユニオンクエリーが出来ません。 やりたい事は非常に単純です↓↓ 1:テーブル1、テーブル2、テーブル3があります。 2:各テーブルのデータ内容は様々ですが、共通項目として「品番」を持っています。但しテーブル1は「製品名」、テーブル2と3は「品番」という項目名になっています。 3:各テーブル内に、品番が幾つ入っているか、集計クエリでカウントします。項目名が違うので以下のように処理しました。 <テーブル1の場合> フィールド|品番のカウント: 製品名|タイトル: "テーブル1" テーブル |テーブル1 集 計 |カウント <テーブル2(或いは3)の場合> フィールド|品番のカウント: 品番|タイトル: "テーブル2" テーブル |テーブル2 集 計 |カウント 4:3の集計クエリーを繋ぎ、テーブル1~3の品番件数を一気に表示させたい <ユニオンクエリの内容> SELECT * from Q0_カウント_テーブル1 UNION select * from Q0_カウント_テーブル2 UNION select * from Q0_カウント_テーブル3; 5:私の予想としてはこんな風↓↓出てくるはずだったのですが・・・ 品番のカウント| タイトル ------------------------------ 30 | テーブル1 20 | テーブル2 23 | テーブル3 6:結果は「From句の間違いです」と出ます。他の質問も見ましたが、自分のSQLのどこを直せば良いのかわかりません・・・教えてください!
- 締切済み
- オフィス系ソフト
- ACCESSのテーブル作成クエリについて
お世話になっております。 以下の点について教えてください。 1.テーブル作成クエリで作ったテーブルの書式固定 クエリ実行後、テーブルは作成されるのですが、クエリで設定した書式が 反映されません(例:数値→標準→小数点以下3)。 クエリで設定した書式をテーブルに反映させる方法を教えてください。 現在は、テーブル作成クエリ実行後、いちいち、テーブルの書式を変更しております。 2.ユーザー設定モードでのオブジェクト移動 ・ACCESSをユーザー設定 & グループでフィルターの状態で使っています。 ・この状態でテーブル作成クエリとテーブル作成クエリ実行後に作成されるテーブルを グループ分けして分類しておりますが、各グループにあるテーブル作成クエリを 実行すると、グループ内にあったテーブルが「割り当てられていないオブジェクト」に 移動してしまいます。 テーブルをグループ内に固定する方法を教えてください。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Access2003 一つのクエリで結果を出したい
お世話になります。 下記テーブルを紐付けてクエリを作成します(Access2003)。 受注テーブル ・ID ・コード ・数量 検品テーブル ・ID ・コード ・検品フラグ マスターテーブル ・ID ・コード ・印刷フラグ 検品テーブルのレコードは、受注テーブルの数量合計が展開されたレコード数となります。例えば、AAAというコードで数量合計が8の場合、検品テーブルではAAAのレコードが8レコード存在することになります。 但し、マスターテーブルの印刷フラグがYesとなっているものは、数量がいくつあっても受注テーブルは1レコード作成されます(数量合計で展開しない)。 受注テーブル ID コード 数量 1 AAA 5 2 AAA 3 3 BBB 100 検品テーブル ID コード 検品フラグ 1 AAA Yes 2 AAA Yes 3 AAA Yes 4 AAA Yes 5 AAA Yes 6 AAA Yes 7 AAA No 8 AAA Yes 9 BBB Yes マスターテーブル ID コード 印刷フラグ 1 AAA No 2 BBB Yes こんな感じです。 そこで各テーブルをコードで紐付けてグループ化し、検品フラグYesで抽出した状態で以下の結果を表示出来るようにしたいところです。 コード 数量合計 AAA 7 BBB 100 要するに印刷フラグがYesのものは受注テーブルの数量合計を表示し、それ以外は検品された数を表示させたいと考えています。 あらかじめ受注テーブルでコードでグループ化し、数量の合計を算出するクエリ(※1)を作成し、そのクエリと検品テーブル、マスターテーブルを紐付けたらうまく表示出来ました。 ※数量合計はIIFで印刷フラグ=Yesの場合は※1の数量合計を、Yesではない場合は検品テーブルのレコードカウント数を表示。 しかし、できれば一つのクエリで上記の結果を表示させたいのですが、可能なのでしょうか。 ご教授お願い致します。
- 締切済み
- その他(データベース)
- Accessの更新クエリについて質問です。
よろしくお願いします。 集計したクエリを元に更新クエリを実行すると、更新できません。 やりたい作業としては、売上データテーブルのレコード数を得意先ごとにカウントして、得意先マスタテーブルのレコード件数フィールドを更新する作業です。 追加クエリで一度テーブルに追加してから、テーブル同士で更新も考えたんですが、レコード数が多いためにDBのサイズが爆発的に増えて廃案になりました。 何か良い方法があれば教えてください。
- 締切済み
- オフィス系ソフト
- accessテーブル作成クエリについて
テストで6個のテーブルから必要なテーブルを作成するクエリを作りました。 本日新しい本番データができたのでこのDBにテストでOKだったクエリを「ファイル」-「外部データ。。。」-「インポート」しました。 クエリを実行したところレコードがゼロという結果になりました。 テストでOKだったクエリを「コピー」-「貼り付け」しても同じ結果でした。 クエリを別のDBで使用するにはどうしたらよいのでしょうか? 毎月データが更新されるためDBの名前は、「工場0906」「工場1003」のように工場+月日となります。 よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- Access クエリ、計算について
クエリで計算、集計した結果をもう一度計算する場合 一度テーブル作成クエリでテーブルを作成してから そのテーブルをクエリに変換しないといけない、と考えていましたが 集計したクエリを別のクエリで集計できるのですかね? テーブル作成クエリは、クエリを実行するたびに計算、集計すると 時間がかかってしまうので完成したデータをテーブルとして作成する という考え方であっているでしょうか?
- ベストアンサー
- オフィス系ソフト
- アクセス:クロス集計の抽出条件-2
質問No.9247365 で類似した質問をしました。 添付のようなテーブルがあり下記のSQLを実行するとクエリ1になるのですが、カウントに抽出条件を入れてクエリ3のように合計件数が1のものは集計しないようしたいと思います。 下記SQLをどのように直したらよいでしょうか。一つのクエリで行う方法を教えて下さい。 TRANSFORM Count([テーブル1].[くだもの]) AS くだもののカウント SELECT [テーブル1].[くだもの], Count([テーブル1].個数) AS 合計 FROM テーブル1 GROUP BY [テーブル1].[くだもの] PIVOT [テーブル1].月;
- ベストアンサー
- オフィス系ソフト
- テーブル1にマクロで再クエリはできないのか?
テーブル1があり、 マクロの新規作成で アクション:再クエリ コントロール名:テーブル1 を作り、 テーブル1を開き、マクロ1を実行しても 「コマンドまたはアクション'再クエリ’は無効です。」 となります。 コントロール名を"テーブル1" にしても同じです。 テーブルに対して再クエリは出来ないのでしょうか?アクセス2003です。 よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- 集計結果を別テーブルに更新クエリで書き出したい。
Access2000を使っています。 テーブルとフィールドの関係は次のようになっています。 (一部、Northwind.mdbを使っています。) 受注 ---------------------- 得意先コード 受注コード 受注明細 ---------------------- 受注コード 単価 数量 売上集計 ---------------------- 得意先コード 合計 受注明細テーブルの単価と数量を掛け合わせたものの合計を 売上集計テーブルの合計に書き出したいと思います。 次の選択クエリの合計の値を売上集計テーブルの取引先コード の一致する場所に書き出したいのです。 SELECT 受注.得意先コード, Sum([単価]*[数量]) AS 合計 FROM 受注 INNER JOIN 受注明細 ON 受注.受注コード = 受注明細.受注コード GROUP BY 受注.得意先コード; 売上集計テーブルと受注テーブルの得意先コードは同じものが 存在します。 よろしくお願いします。
- ベストアンサー
- その他(データベース)
お礼
早速ありがとうございます。 書かれたイメージと同じです。SQLについては、まださわったことが無いのですが、大丈夫でしょうか?