一、学友问题描述:
各位:坛友,高手,老师大家新年好,刚开工就碰到了难题,请各位帮帮忙,感谢!
零件位置中尖括号与圆括号之前为代用料号 < 0343103132 (,括号中蓝色部部份为代用规格,数据整理后,将代用料号与规格提取出来,并填充相同的用量与位置。
二、解决方案:
利用split函数个字段的起始位置,与字段长度,然后使用mid函数取值。如下图:
利用查询生成SQL代码,在窗体中执行。代码如下:
Private Sub Command0_Click()
Dim strsql As String
strsql = "Select Mid([零件位置],InStr([零件位置],'<')+1,(InStr([零件位置],'(')-1)-(InStr([零件位置],'<'))) " _
& "AS 料号, Mid([零件位置],InStr([零件位置],'(')+1,(InStr([零件位置],')')-1)-(InStr([零件位置],'('))) " _
& "AS 规格, 整理前.用量, Mid([零件位置],1,InStr([零件位置],'<')-2) " _
& "AS 整理后零件位置 INTO 整理后 " _
& "FROM 整理前 " _
& "Where (((InStr([零件位置],'<'))>0))"
DoCmd.RunSQL strsql
End Sub
图 示:
供参考文章:
利用instr和Mid函数定位提取字符串