2012-02-15 49 views
0

我不知道世界上是什么是最好的方式去做这件事。我有一个非常大的列数组,每列有1-25行与它关联。我需要能够将所有内容合并成一个大列,如果可能的话,跳过空白。 Access可以做些什么?从一张表到一个大列的多列?

a b c d e f g h 
3 0 1 1 1 1 1 5 
3 5 6 8 8 3  5 
    1 1 2 2 1  5 
    4 4 2 1 1  5 
        1  5 

每列中都没有空格,但每列都有不同数量的数字。他们需要从左到右添加,所以a,b,c,d,e,f。并且从0开始需要在第二个3之后的第一个空白单元格中。而H中的前5个单元格需要紧接在1之后,没有空白。

+0

是不是这个问题相同http://stackoverflow.com/questions/9278699/excel-to-relational-database-access-2007/9278921#comment11698108_9278921? – Fionnuala 2012-02-15 20:46:37

回答

1

所以,你要像一个结果:

3 
3 
0 
5 
1 
4 
1 
6 
1 
4 

等?

下面是我将如何解决这个问题。将数组插入带有自动编号列的工作表(对于保留数据的顺序非常重要,数据库不会附加命令,除非您可以给它们排序),称为id 以及数组列。

使用自动编号列创建最终表格(请参阅上面为何需要自动编号的注释)以及您希望作为最终表格的列。

为工作表中的每列运行一个单独的插入语句,并按您希望数据的顺序运行它们。

所以刀片将类似于:

insert table2 (colA) 
select columnA from table1 order by id 

insert table2 (colA) 
select columnB from table1 order by id 

insert table2 (colA) 
select columnC from table1 order by id 

现在,当你做你select columnA from table2 order by id应该有你需要的结果。

相关问题