将Excel中的2个或更多列导入1列Access

时间:2017-02-03 23:35:58

标签: excel vba ms-access access-vba ms-access-2016

我有一个Excel报告,它是意见工具的输出。在这个Excel中,我收到了人们为我的quizz提交的所有回复,在多个选择的问题中,回答工具输出这些问题,例如每个选项一个问题,只有选中的选项是Excel中包含数据的列。例如,如果我的quizz是这样的:

Q1你的名字:

R1 =

Q2选项

  • opt 1
  • opt 2
  • opt 3

Excel报告将如下所示

Excel Report

所以我希望当我将Excel导入Access时,它可以自动将这些列合并为只有Access表中的标题:“Q1你的名字:”& “Q2选项”

此外,对于作业的上下文,我将为该导入的表创建一些其他版本,然后复制到另一个Access表(表2),因此即使有一种方法可以在复制之前将这些Access列合并到另一个我会接受它,我不知道,从这个列插入,如果从该列插入空,我不擅长做查询抱歉。只有表2会有信息,第一个表就像一个临时表,所以我每天都会从那个表中删除信息并保存表2中的重要数据

感谢您的支持

1 个答案:

答案 0 :(得分:0)

我能看到实现目标的最简单方法是连接三列;因为通过它的声音,每个记录每个问题只有一列的值。您可以在导入之前在Excel中执行此操作,您可以在表上使用计算字段,也可以构建一个连接所有问题的查询。我的建议是Excel,因为使用=CONCATENATE()函数可能是最简单的选择。

如果确实将原始数据导入Access,则需要指定唯一的列名,即Q2_Op1,Q2_Op2,Q2_Op3。

用于连接这些字段的查询语法如下:

 SELECT Q1_Name, [Q2_Op1] & [Q2_Op2] & [Q3_Op3] AS Q2_Options
 FROM Table1;

其中Q1_Name,Q2_Op1,Q2_Op2,Q3_Op3是导入数据表上的列名。