Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


485 / 2272 ツリー ←次へ | 前へ→

【11479】複数のクエリを一つに結合する方法 まい 10/2/24(水) 11:11 質問[未読]
【11480】Re:複数のクエリを一つに結合する方法 小僧 10/2/24(水) 19:08 発言[未読]
【11488】Re:複数のクエリを一つに結合する方法 まい 10/2/26(金) 13:10 お礼[未読]

【11479】複数のクエリを一つに結合する方法
質問  まい  - 10/2/24(水) 11:11 -

引用なし
パスワード
   5個のクエリが存在していて、そのクエリを一つのテーブル又はクエリに結合させたいのですが、いまいちどうやったらいいのか分からず困ってます
各クエリのデータ数は6万件〜最高13万件まであり大量のデータです
どうかアドバイスをお願いします

状況は下記の通りです
【クエリ1】
品目 | 構成 | Lev01 | KEY |
aaa   abb    1   1
bbb   bbc    1   2
ccc   ccg    1   3
【クエリ2】
品目 | 構成 | Lev02 | KEY |
aaf   abe    2   1-1
bbe   bbs    2   2-2
csc   ccf    2   3-1
【クエリ3】
品目 | 構成 | Lev03 | KEY |
rrr   aqe    3   1-1-3
bww   bws    3   2-2-3
zzz   cdf    3   3-1-4
【クエリ4】
品目 | 構成 | Lev04 | KEY |
rra   aqe    4   1-1-3-4
qqq   bws    4   2-2-3-4
bbb   cdf    4   3-1-4-5
【クエリ5】
品目 | 構成 | Lev05 | KEY |
rrr   aqe    5   1-1-3-8
bww   bws    5   2-2-3-7
zzz   cdf    5   3-1-4-8


上記5つのクエリを下記のように作成したいです
Lev01 | Lev02 | Lev03 | Lev04 | Lev05 | 品目 | 構成品目 | KEY |
 1                   aaa   abb    1  
 1                   bbb   bbc    2  
 1                   ccc   ccg    3
     2               aaf   abe    1-1
     2               bbe   bbs    2-2
     2               csc   ccf    3-1
         3           rrr   aqe    1-1-3
         3           bww   bws    2-2-3
         3           zzz   cdf    3-1-4

以下省略します
最終的には、フィールド[KEY]のところを昇順にさせて表示させたいと思ってます
こんな感じに結合させたいのです
今はユニオンクエリを作成してみましたが、データ量が多すぎて、うまく動きません
'こんな感じで書いてみました-----------------------------------------------
SELECT Lev01,"" as Lev02,"" as Lev03,"" as Lev04,"" as Lev05,"" ,品目,構成品目,KEY
from Lev01
UNION select "" as Lev01,Lev02,"" as Lev03,"" as Lev04,"" as Lev05,"" ,品目,構成品目,KEY
from Lev02
UNION select "" as Lev01,"" as Lev02,Lev03,"" as Lev04,"" as Lev05,"" ,品目,構成品目,KEY
from Lev03
UNION select "" as Lev01,"" as Lev02,"" as Lev03,Lev04,"" as Lev05,"" ,品目,構成品目,KEY
from Lev04
UNION select "" as Lev01,"" as Lev02,"" as Lev03,"" as Lev04,Lev05,"" ,品目,構成品目,KEY
from Lev05;
-------------------------------------------------------------------------
ボタン一つで、上記のような表を作るにはどうしたらよいのでしょうか?
VBAのコードの書き方もいまいち分からず悪戦苦闘しています

よろしくお願いします

【11480】Re:複数のクエリを一つに結合する方法
発言  小僧  - 10/2/24(水) 19:08 -

引用なし
パスワード
   ▼まい さん:
こんにちは。

> 今はユニオンクエリを作成してみましたが、
> データ量が多すぎて、うまく動きません

データ量が少なければ
ご提示された UNIONクエリでうまくいくのでしょうか?


> 各クエリのデータ数は6万件〜最高13万件まであり大量のデータです

データ量だけの問題だけではなく、
この各クエリが複雑であれば実行結果は重くなるかと思われます。

差し支えない範囲で構いませんので
元のテーブル構成と、各クエリでどんな抽出をしているのかを
ご提示して頂くと
回答が付き易くなるかもしれませんね。


> 5個のクエリが存在していて

データを見る限り
階層化されたデータではないかと想定されます。
もしその場合でしたら
5階層以上のデータはありえないという仕様で宜しいでしょうか。

階層に制限を設けない仕様ですと
Accessで扱うには多少難しくなるかもしれません。


> 最終的には、フィールド[KEY]のところを昇順にさせて表示させたいと
> 1-1-3-8
> 2-2-3-7

KEY は文字型で定義されている為、
11-1 と 2-1 は 11-1 の方が小さいと判定されますね。

【11488】Re:複数のクエリを一つに結合する方法
お礼  まい  - 10/2/26(金) 13:10 -

引用なし
パスワード
   ▼小僧 さん:

結局、もう分からず、追加クエリを駆使してやることにしました。

アドバイスありがとうございました

485 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078193
(SS)C-BOARD v3.8 is Free