Office中国论坛/Access中国论坛

标题: Access如何从字段中提取字符的方法? [打印本页]

作者: keecome    时间: 2006-4-30 07:32
标题: Access如何从字段中提取字符的方法?



excel的方法

把数据放a1,如a1数据为救火(8815932),问题是把8815932提取出来

暂时成功excel及sql方法,access方法有待考证

Excel方法如下:

1.search方法:

=MID(a1,search("(",a1,1)+1,LEN(a1)-(1+search("(",a1,1)))  

2.find方法

=MID(a1,find("(",a1,1)+1,LEN(a1)-(1+find("(",a1,1)))  

SQL方法:

1.select 字段1,PATINDEX( '%(%' ,字段1) as 开始,
PATINDEX( '%)%' ,字段1) as 结束,
(PATINDEX( '%)%' ,字段1)-PATINDEX( '%(%' ,字段1)-1) as 提取数  ,
substring(字段1,PATINDEX( '%(%' ,字段1)+1,PATINDEX( '%)%' ,字段1)-PATINDEX( '%(%' ,字段1)-1) as QQ
from select * from cr

关键函数: pathindex,substring

另CHARINDEX也可行,把pathindex换成charindex即可,不再重复,有兴趣的兄弟可以测试

后注,为什么要测试SQL及access的方法呢,其实用excel更简单,但excel的65535行的限制,及当文件体积达到10M时,牛车就不要试了,一半S机及错误退出是正常的,

这就是,excel暂时不能替代数据库的原因之一

最后感谢,财软联盟群[佛山]牛牛给予的大力技术支持,并将方法,数据引入成功,

excel及sql都可以实现,但access暂时没成功,哪位兄弟帮忙看看
作者: 一点通    时间: 2006-4-30 07:50
可以参考一下这个例子

http://www.office-cn.net/vvb/dispbbs.asp?BoardID=2&replyID=4380&id=38448&skin=0
作者: wuaza    时间: 2006-4-30 17:16
在access的vba中用instr和mid函数同样可以。算法同excel。
作者: keecome    时间: 2006-4-30 22:02
一提数字,会把一些不需要的数据给提取了



俺改一下模块看能实现不

谢谢一点通的myget代码
作者: 一点通    时间: 2006-4-30 22:19
如果格式固定,你也可利用left,right,mid这三个函数来提取的
作者: hi-wzj    时间: 2006-4-30 23:18
取出()中的字符:其中来源字段为:aa

Mid([aa],InStr([aa],"(")+1,InStr([aa],")")-InStr([aa],"(")-1)




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3