Office中国论坛/Access中国论坛

标题: 如何取指定字符前的字符串 [打印本页]

作者: zenkifox    时间: 2012-3-16 10:40
标题: 如何取指定字符前的字符串
我有一个子窗体,里面有两个字段,字段一里面的行记录都是类似于这样的值  abc#123  bcd#456 ghjr#123     ,我只想取井号前面部分的字符,该用什么函数???   另外有个控件我想把取出的值放在里面,不想写代码,直接想用表达式,是不是直接在默认值里写上表达式??我试了下,不行
作者: Henry D. Sy    时间: 2012-3-16 10:45
left
instr
作者: Henry D. Sy    时间: 2012-3-16 10:45
另外有个控件我想把取出的值放在里面,不想写代码,直接想用表达式,是不是直接在默认值里写上表达式??我试了下,不行
具体是怎么设计的?
作者: zenkifox    时间: 2012-3-16 10:48
Henry D. Sy 发表于 2012-3-16 10:45
left
instr

说得不清楚,不明白
作者: Henry D. Sy    时间: 2012-3-16 11:31
zenkifox 发表于 2012-3-16 10:48
说得不清楚,不明白

你不是问用什么函数吗
告诉你用left和instr函数
作者: roych    时间: 2012-3-18 17:53
参考下:
1、http://www.office-cn.net/thread-110475-1-1.html
2、http://www.office-cn.net/thread-96091-1-1.html
原理类似,看看哪个更适合你的要求。
作者: caoguangyao    时间: 2012-3-18 19:51
假设象你的说,有一表1(有字段名为fld1,其记录值如abc#123  bcd#456 ghjr#123 ) ,以表1为数据源,创建一查询,提取#左边的字符串,SQL语句如下:SELECT Left([fld1],InStr([fld1],"#")-1) AS 提取 FROM 表1;

作者: caoguangyao    时间: 2012-3-18 20:00
以表1为数据源,创建一查询,提取#右边的字符串,SQL语句如下:SELECT Mid([fld1],InStrRev([fld1],"#")+1) AS 提取 FROM 表1;
得到的值为:123,456,123
以表1为数据源,创建一查询,提取#左边的字符串,SQL语句如下:SELECT Left([fld1],InStr([fld1],"#")-1) AS 提取 FROM 表1;
得到的值为:abc,bcd,ghjr





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