Access VBA質問箱 IV

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

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


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

【7283】クエリでテーブルの構造を変更するには kumakai 06/2/15(水) 21:09 質問[未読]
【7284】Re:クエリでテーブルの構造を変更するには 小僧 06/2/16(木) 0:19 回答[未読]
【7316】Re:クエリでテーブルの構造を変更するには kumakai 06/2/19(日) 22:37 質問[未読]
【7321】Re:クエリでテーブルの構造を変更するには kumakai 06/2/20(月) 11:12 お礼[未読]

【7283】クエリでテーブルの構造を変更するには
質問  kumakai  - 06/2/15(水) 21:09 -

引用なし
パスワード
   こんばんは
 こんな問題を抱えています。自力でどうしても解決できそうにも
ならない・・・、ここで投稿しました。
よろしくお願いします。

テーブル工程
工程名    開始      終了
Step01    0800      0815
step01    1015      1050
step02    1520      1545



step78    0220      0315


工程名 step01開始 step01終了 step02開始  step02終了・・step78開始 step78終了
step01 0800    0815
step01 1015    1050
step02             1520     1545



step78                           0220    0315

【7284】Re:クエリでテーブルの構造を変更するには
回答  小僧  - 06/2/16(木) 0:19 -

引用なし
パスワード
   ▼kumakai さん:
こんばんは。

> こんな問題を抱えています。

お望みの事は Union クエリ と クロス集計 クエリの組み合わせでできそうですね。


SELECT 工程.工程名, 工程.工程名 & "_開始" AS F1, 工程.開始
FROM 工程
UNION ALL
SELECT 工程.工程名, 工程.工程名 & "_終了" AS F1, 工程.終了
FROM 工程;


まず、上記の SQL をクエリの SQLビュー に記載して結果を確認されてみて下さい。


更にその結果を使ってクロス集計クエリを作ります。

TRANSFORM First(P.開始) AS 開始の先頭
SELECT P.工程名
FROM [
SELECT 工程.工程名, 工程.工程名 & "_開始" AS F1, 工程.開始
FROM 工程
UNION ALL
SELECT 工程.工程名,工程.工程名 & "_終了" AS F1, 工程.終了
FROM 工程
]. AS P
GROUP BY P.工程名
PIVOT P.F1;

同じく SQLビューに記載して、結果を確認されてみて下さい。

【7316】Re:クエリでテーブルの構造を変更するには
質問  kumakai  - 06/2/19(日) 22:37 -

引用なし
パスワード
   小僧さん
 ヒントをいただき、動作を確認しましたので、問題解決となりました。
本当にありがとうございました。

次の質問がありますので、よろしくお願いします。
前回のレッセンで、以下のクエリ結果をもって、比率計算します。
クエリ工程名
工程名 Step01_開始 Step01_終了 Step02_開始 Step02_終了・・・・

Step01比率:iif([Step01_開始]<>0,int([Step02_終了]*100/[Step01_開始]),null)
Step01〜Step80の比率一個一個で新しいクエリに書くことが出来ますが、
最大の問題は、
元データのクエリ工程名のレイアウトがたまに(Step01〜Step80)可変に
なりますから、比率を算出するときの対応は困っています。

【7321】Re:クエリでテーブルの構造を変更するには
お礼  kumakai  - 06/2/20(月) 11:12 -

引用なし
パスワード
   小僧さん
 ヒントをいただき、動作を確認しましたので、問題解決となりました。
本当にありがとうございました。

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