hi,大家好!
我们在实际的应用中会有这样的一些情况,获取的一些数据是由一些特殊字符连接起来的,比如:XXX汽车\SUV\EV\纯电。类似这样的数据,我们在应用过程中,需要将数据拆开,如果用vba来操作的话,相信大家都知道用Split函数来操作,但如果用查询该怎么操作呢?在查询中如果使用Split函数是不支持的,因为Split返回是数组,所以这个时候,我们就需要自定义一个函数来操作了。
01、获取测试数据
假设我们有这样一张表,如下图
在图中,我们可以看到字段1的数据是用“\”隔开的,是满足我们需要测试的数据。
02、添加代码
数据我们有了,接着,我们就可以来添加代码了,具体的代码如下:
Function StrPart(sText, lngIndex As Integer, Optional sDelimeter As String = "\")
On Error Resume NextStrPart = Split(sText, "\")(lngIndex - 1)
End Function
sText:含有分隔符的字符串
lngIndex:要返回的部分的索引,从1开始
sDelimeter:分隔符,默认为“\”
注意:这些函数要放到通用模块
03、创建查询
函数我们添加好了,接着就要来创建查询了,在查询中我们就可以使用函数来操作了
SELECT StrPart([字段1],1) AS 编号, StrPart([字段1],2) AS 品牌, StrPart([字段1],3) AS 派系, StrPart([字段1],4) AS 类型, StrPart([字段1],5) AS 能源类型
FROM 表1
运行效果:
好了,大家快去试一下吧!