スプレッドシートのデータをこんな形で Access に保存したいと思っているのですが…
StoreNum SKU Qty
1 1 0
1 2 100
1 3 25
1 1000 1
2 1 5
それが必要な場合は、読み続けてください。それがあなたの望むものではない場合は、あなたが何を望んでいるのかを明確にしてください。
Access で、Excel ワークシートへのリンクを作成し、そのリンクに名前を付けExcelSource
ます。
次に、次のようなSELECT
クエリを作成します。
SELECT
StoreNum,
1 AS SKU,
SKU_1 AS Qty
FROM ExcelSource
UNION ALL
SELECT
StoreNum,
2 AS SKU,
SKU_2 AS Qty
FROM ExcelSource
UNION ALL
SELECT
StoreNum,
3 AS SKU,
SKU_3 AS Qty
FROM ExcelSource
UNION ALL
SELECT
StoreNum,
1000 AS SKU,
SKU_1000 AS Qty
FROM ExcelSource;
そのSELECT
クエリの結果セットで必要なものが得られる場合は、それを「追加クエリ」に変換して、それらのデータを という名前のテーブルに格納しますYourTable
。そのクエリのSQL は、セクションSELECT
が前に付いた SQL になります。INSERT INTO ...
INSERT INTO YourTable (StoreNum, SKU, Qty)
SELECT
StoreNum,
1 AS SKU,
SKU_1 AS Qty
FROM ExcelSource
UNION ALL
SELECT
StoreNum,
2 AS SKU,
SKU_2 AS Qty
FROM ExcelSource
UNION ALL
SELECT
StoreNum,
3 AS SKU,
SKU_3 AS Qty
FROM ExcelSource
UNION ALL
SELECT
StoreNum,
1000 AS SKU,
SKU_1000 AS Qty
FROM ExcelSource;
Excel ワークシートに 1000 の SKU 列が含まれている場合は、一連の小さな追加クエリを作成します。それぞれのクエリは、それらの 1000 列の管理可能なサブセットを使用します。
これは、クエリではなく VBA コードでも実行できます。ここで正しい軌道に乗っているかどうかさえわからないので、そのオプションを案内したくありません.