将PIPE分隔字段解析为单独的字段(MS ACCESS 2007-2013)

时间:2016-05-18 09:41:58

标签: sql ms-access access-vba

我在MC Access 2017-2013中有一个数据库,其中的字段存储为PIPE分隔字符串。现在我想要一种方法来在单独的字段中解析SELECT查询中的这些字段。

这是我的数据库和PIPE分隔字段的示例: Database Example

该字段包含9个管道。所以我想将这个领域分成10个领域。

这是输出的一个例子: Output Example

如果有人可以帮助我,我会很棒 谢谢, 彼得

1 个答案:

答案 0 :(得分:3)

您需要在标准模块中使用VBA功能来实现拆分,例如

Public Function SplitPipes(str As String, i As Long) As String

    Dim arSplit As Variant

    arSplit = Split(str, "|")
    ' Check that arSplit has enough elements
    If i - 1 <= UBound(arSplit) Then
        ' Split creates a 0-based array, but it is easier to start with index 1 in the query
        SplitPipes = arSplit(i - 1)
    Else
        ' out of elements -> return empty string
        SplitPipes = ""
    End If

End Function

然后您可以对每个字段使用此函数,如下所示:

SELECT SplitPipes([Strategic Group],1) AS Destination, 
       SplitPipes([Strategic Group],2) AS SE,
       ...
FROM yourTable;

请注意,该函数当前没有任何错误处理。已添加:)