访问 - 将数据拆分为不固定数量的列

时间:2016-09-08 10:08:32

标签: sql ms-access

我正在尝试拆分由';'分隔的数据,例如下面的内容:

plastic; rubber; paper; wood

然而,单元格上的记录数量发生了变化,我在下面看到的所有示例都已知道数据要分成多少列。

How do you split data from one column into two?

在我将其加载到访问权限之前,我不能简单地将单元格拆分为列,因为此列表只是较大数据库中的一个单元格。

有没有办法将数据拆分成所需的列数而不是预定的数量?

1 个答案:

答案 0 :(得分:0)

Access SQL中没有拆分功能,只使用一个查询就无法执行所需操作。

您需要结合使用vba / macro和SQL来完成您想要的任务。但是你现在的问题是一般性的,以便能够完全帮助你。

我建议您首先构建宏,使用SQL查询(保存与否)从表中读取字符串,然后使用上面注释中提到的split函数。然后是分割的字符串,您可以使用查询或任何其他内容将其存储在任何您想要的位置。

您的查询应该是:SELECT phrase FROM Table 然后用循环遍历记录集上的结果,在每个结果中使用split并将结果存储到数组中。最后再次使用SQL查询将数组的结果存储到表中。

split可以这样使用:

Split ( expression [,delimiter] [,limit] [,compare] )

例如,您可以执行以下操作

Split ("one:two:three", ":")
Result: {"one", "two", "three"}

有关拆分的更多信息,请参阅此处: https://www.techonthenet.com/access/functions/string/split.php