
お世話になります。
Accessにて、ローカルに12個(月毎)にクエリを作成し、そのらのクエリを紐付けてテーブルを作成しようとしています。
しかし、できればローカルにクエリを作成したくないので、VBA内で仮想?にクエリを作成し、それらを紐付けて最終的にテーブルを作成したいと考えています。
VBAのイメージ的には以下のような感じです。
フォーム上のボタンがクリックされた際に、
MySQL1 = 1月分の選択クエリ
MySQL2 = 2月分の選択クエリ
MySQL3 = 3月分の選択クエリ
・
・
MySQL11 = 11月分の選択クエリ
MySQL12 = 12月分の選択クエリ
MySQL13 = 上記12個の選択クエリを紐つけたテーブル作成クエリ(tempを作成)
DoCmd.RunSQL MySQL13
'tempが作成されたら、そのテーブルをソースとしたレポートをOpen
DoCmd.OpenReport "年間実績"
以上です。
それぞれの選択クエリを、
Set RS0 = DB.OpenRecordset(MySQL0)
Set RS1 = DB.OpenRecordset(MySQL1)
のようにして、MySQL13のテーブル作成クエリで、RS0、RS1を使用すればよいかと思ったのですが、『入力テーブルまたはクエリ”RS0”が見つかりませんでした。そのテーブルやクエリが存在していること、または名前が正しいことを確認してください。』と表示され、うまくいきません。
そもそも、上記のように仮想でクエリを作成し、それを紐付けてテーブルを作成することは可能なのでしょうか。よい方法がございましたらご教授願います。
以上、宜しくお願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
12個のクエリを作らずともクロス集計クエリで出来そうです。
下記の場合の、日付を製品コードに、担当者を年月日に置き換えて考えてみてください。
http://hamachan4.exblog.jp/4110849/
具体的なテーブルのデザインや具体例が分かりませんので
的を射た回答はしづらいです。
ご回答ありがとうございます。
質問としましては、mdbのローカルにクエリを作成しないで抽出したいということです。
色々試してみて1つのクエリ(集計クエリも含め)で抽出できない為、個々にクエリを仮想で作成し、それらを紐付けて抽出出来たらと考えた次第です。
例では簡単に記載しましたが、実際には個々のクエリはもっと複雑なことをやって抽出してます。
見栄えは悪いですが、とりあえずローカルに12個のクエリを作れば、望みの抽出結果は得られるので、それでやろうと思います。
ありがとうございました。
No.2
- 回答日時:
レポートあるいはフォームのレコードセットは
テーブルやクエリ以外にSQLを直接記述する
ことが可能です。以下は例です。
MySQL1の内容
SELECT * FROM data WHERE tsuki=1
MySQL2の内容
SELECT * FROM data WHERE tsuki=2
レポートのレコードセット
SELECT * FROM data ORDER BY tsuki
あるいはレポートのOpenイベントで自身の
レコードソースを動的に書き換えても実現
できます。
具体的なSQLの記載がないので、これ以上
サンプルを示せませんが、一時テーブルを
作る方法はあまり感心できません。
経験から、Openイベントでレコードソースを
動的に変更する方法が最も柔軟に対応
できますが、技術的には難しい部類に属し
ます。
ご回答ありがとうございます。
SQLを直接記述可能なことは理解しているのですが、
一つのクエリ(SQL)で結果を抽出できない状況です。
No.1さんに返信したように、12個のクエリを紐付けして
抽出する必要があります(ユニオンクエリとは異なります)。
具体的には、年間の受注実績のテーブルがあり、そこには
受注日、製品コード、受注数量があります。
今回、抽出したいのは年間で月別の受注実績です。
以下のような感じです。
製品コード 2012年3月 2012年2月 2012年1月・・・
AAA 10 0 5
BBB 3 8 8
・
・
12個のクエリというのは、上記の年月毎のクエリです。
3月分クエリの抽出結果は、
製品コード 2012年3月
AAA 10
BBB 3
・
・
のように抽出されています。
これらを製品リストと紐つけて、年間の受注実績を
抽出したいと考えている次第です。
説明不足ですみません。
No.1
- 回答日時:
ユニオンクエリのSQL文をレポートのレコードソースにすれば良いのでは?
http://makoto-watanabe.main.jp/access/acconExamp …
union all で繋げてね。
ご回答ありがとうございます。
ユニオンクエリだと、
MySQL1の結果
+
MySQL2の結果
+
・
・
MySQL12の結果
と、なるかと思いますが、やりたいことは
MySQL13----MySQL1
|
--MySQL2
|
--MySQL3
・
・
で、抽出したいので、ユニオンクエリとはちょっと違います。
説明不足ですみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 【PHP/MySQL】コード上で生成したクエリを基に集計クエリを作りたい 1 2022/07/28 15:06
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Access(アクセス) Access クエリ 同一テーブル内 複数フィールドの同時集計のやり方について 1 2022/05/18 19:01
- MySQL クエリを、PhpMyAdminで作成して実行するとき、まず、テーブルのバックアップを作成してから行う 1 2023/05/29 16:38
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- Access(アクセス) Accessのスプレッドシートエクスポートで、シートが追加されてしまう 2 2022/07/16 21:45
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS クエリで重複データを最...
-
「データベースまたはオブジェ...
-
SQLで優先順位が高いレコードを...
-
ACCESSでクエリを作成したら「...
-
ACCESS クエリで、グループ化...
-
ACCESSでデータ削除すると「読...
-
SQLサーバーに保存してあるクエ...
-
マイクロソフトAccessでsqlのas...
-
ユニオンクエリについて
-
ACCESSの複数条件での結...
-
MSアクセスのクエリで結果が...
-
SQLです教えてくださいお願いし...
-
accessで選択クエリで得た全レ...
-
選択クエリで偶数月しか表示し...
-
access・カウント結果がゼロで...
-
ACCESSで2つのテーブル比較で...
-
追加先の発見方法(SQL以外)
-
Accessで複数のクエリを1つのCS...
-
テーブルに主キーを作らないデ...
-
ACCESSのフォームからデータの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS クエリで重複データを最...
-
「データベースまたはオブジェ...
-
ACCESSでクエリを作成したら「...
-
ACCESS クエリで、グループ化...
-
access・カウント結果がゼロで...
-
追加先の発見方法(SQL以外)
-
ACCESSにてフィールド間の最小...
-
ACCESS のクエリー実行に異常に...
-
ACCESS クエリー 抽出条件が...
-
クエリで「データ型が一致しま...
-
ユニオンクエリについて
-
SqlServer2012 ビューとクエリ
-
Access あるクエリを利用して...
-
アクセスでフォームが更新でき...
-
AccessでのDISTINCTROW 、DISTI...
-
accessで選択クエリで得た全レ...
-
SQLで優先順位が高いレコードを...
-
access:連続データ入力
-
AccessのクエリをSqlサーバーの...
-
選択クエリで偶数月しか表示し...
おすすめ情報