Excel导入Access

时间:2012-12-06 17:27:31

标签: sql database excel ms-access

我有3个电子表格要导入Access,但我在解决它时遇到了问题。我甚至不确定它是否可以像我想要的那样完成。

One Spreadsheet看起来像这样:

StoreNum, SKU_1, SKU_2, SKU_3, ..., SKU_1000  
1, 0, 100, 25, ..., 1  
2, 5, 250, 15, ..., 5  
3, 78, 25, 12, ..., 15

我如何导入这个,所以我有StoreNum,SKU,Qty?

其他人很容易理解

StoreNum, Address1, Address2, City, State, Zip  

Sku, Description, Notes, Size

2 个答案:

答案 0 :(得分:1)

我认为您希望将电子表格数据存储在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将是SELECTINSERT INTO ...部分开头的SQL:

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代码而不是查询来完成。我不想引导你通过这个选项,因为我甚至不知道我是否在这里正确的轨道。

答案 1 :(得分:0)

打开Access数据库时,单击;

  

文件

     
    

获取外部数据

         
      

导入

    
  

按照向导步骤进行操作。

一些警告点。确保所有excel表具有相同的标题,并且不包含任何Null,DIV或任何其他类型的错误。快乐导入!!!