長いですが動作確認済みです、以下のクエリでどうでしょうか。
--------------------------------------------
select [No]
,max(製1) as 製品1
,max(金1) as 金額1
,max(製2) as 製品2
,max(金2) as 金額2
,max(製3) as 製品3
,max(金3) as 金額3
,max(製4) as 製品4
,max(金4) as 金額4
,max(製5) as 製品5
,max(金5) as 金額5
,max(製6) as 製品6
,max(金6) as 金額6
,max(製7) as 製品7
,max(金7) as 金額7
,max(製8) as 製品8
,max(金8) as 金額8
,max(製9) as 製品9
,max(金9) as 金額9
,max(製10) as 製品10
,max(金10) as 金額10
into [結果テーブル]
from (select [No]
,iif([順序]=1,[製品],null) as 製1
,iif([順序]=1,[金額],null) as 金1
,iif([順序]=2,[製品],null) as 製2
,iif([順序]=2,[金額],null) as 金2
,iif([順序]=3,[製品],null) as 製3
,iif([順序]=3,[金額],null) as 金3
,iif([順序]=4,[製品],null) as 製4
,iif([順序]=4,[金額],null) as 金4
,iif([順序]=5,[製品],null) as 製5
,iif([順序]=5,[金額],null) as 金5
,iif([順序]=6,[製品],null) as 製6
,iif([順序]=6,[金額],null) as 金6
,iif([順序]=7,[製品],null) as 製7
,iif([順序]=7,[金額],null) as 金7
,iif([順序]=8,[製品],null) as 製8
,iif([順序]=8,[金額],null) as 金8
,iif([順序]=9,[製品],null) as 製9
,iif([順序]=9,[金額],null) as 金9
,iif([順序]=10,[製品],null) as 製10
,iif([順序]=10,[金額],null) as 金10
from (SELECT (select count(*) from tableA as Sub where main.no = sub.no and main.製品>sub.製品)+1 AS 順序
,*
FROM tableA AS Main) as tableB) as tableC
group by [No]
-----------------------------------------
3つのクエリを無理やりひとつにしています。
レスポンスが悪い場合は適宜分割してください。
結果の列数は製品10までの固定です。列が可変の場合はAccessのクエリでは無理ですね(たぶん)。
お礼
ありがとうございました。うまくでき、今後の参考にもなり勉強にもなりました。 >Set CN = CurrentProject.Connection >Set RS = New ADODB.Recordset >Set RS2 = New ADODB.Recordset >RS.CursorLocation = adUseClient >RS.Open "T_製品", CN, adOpenKeyset, adLockOptimistic >RS2.Open "T_結合", CN, adOpenKeyset, adLockOptimistic >RS.Sort = "ナンバー ASC" >RS.MoveFirst >カウント = 1 >Do Until RS.EOF ↑ ちょっと意味がわからないのですが・・・