以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  [求助]字符函数与变量  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=28217)

--  作者:iyplx2425
--  发布时间:2015/11/3 14:03:00
--  [求助]字符函数与变量

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:001(1).egd

文件中,在“订单明细”表中对[货品]设项目列表。

 

先在文件中设置表达式变量%货品%:


Eval("Substitute(Substitute(Substitute(Substitute(Substitute(Substitute(ListCols(""款式""),""_样式" +Substitute("01|02|03|04|05|06","|",""",""""),""_样式") + ""","""")")

 

其返回值为:

 

“男西套装|男西套装|男西套装|男西套装|男西套装|男西套装|男西便装|男西便装|男西便装|男西便装|男西便装|男西便装|男西裤|男西裤|男西裤|男西裤|男西裤|男西裤|男长袖衬衣|男长袖衬衣|男长袖衬衣|男长袖衬衣|男长袖衬衣|男长袖衬衣|男短袖衬衣|男短袖衬衣|男短袖衬衣|男短袖衬衣|男短袖衬衣|男短袖衬衣|男马夹|男马夹|男马夹|男马夹|男马夹|男马夹|男大衣|男大衣|男大衣|男大衣|男大衣|男大衣|女西套装|女西套装|女西套装|女西套装|女西套装|女西套装|女西便装|女西便装|女西便装|女西便装|女西便装|女西便装|女西裤|女西裤|女西裤|女西裤|女西裤|女西裤|女裙|女裙|女裙|女裙|女裙|女裙|女长袖衬衣|女长袖衬衣|女长袖衬衣|女长袖衬衣|女长袖衬衣|女长袖衬衣|女短袖衬衣|女短袖衬衣|女短袖衬衣|女短袖衬衣|女短袖衬衣|女短袖衬衣|女马夹|女马夹|女马夹|女马夹|女马夹|女马夹|女大衣|女大衣|女大衣|女大衣|女大衣|女大衣”

 

现在我们用几个字符函数来对该变量进行运算:

 

Left([%货品%],8),结果为:“男西套装”——正确;

Right([%货品%],6),结果为:“女大衣”——正确;

Mid([%货品%],9,8),结果为:“男西套装”——正确;

Substitute([%货品%],"男西套装","00"),结果为:00|00|00|00|00|00|男西便装|男西便装……——正确

 

唯独用Split()函数是个例外:

如:Split([%货品%],"|",1),取变量中分隔符第一段,本来结果应该是:“男西套装”,但返回结果是空,而且任换取第几段,结果同样为空。

为什么同是字符函数,只有Split()函数不能返回该变量的正确结果?

谢谢。


--  作者:iyplx2425
--  发布时间:2015/11/3 14:09:00
--  
另:本来要设置公式,使[货品]列项目列表为“款式”表各列名第一部分,即“男西套装|男西便装|男西裤……”。请教有什么方法可以解决?
--  作者:dancedy
--  发布时间:2015/11/3 20:35:00
--  

参考

http://www.egrid2000.com/dvbbs/dispbbs.asp?boardid=2&Id=28197


--  作者:iyplx2425
--  发布时间:2015/11/4 10:18:00
--  
没有解答1楼的问题。
--  作者:dancedy
--  发布时间:2015/11/6 20:09:00
--  

函数嵌套

 

Eval("Split(""" + [%货品%] + """,""|"",1)")


--  作者:iyplx2425
--  发布时间:2015/11/8 10:46:00
--  
唯独Split()函数要用Eval()来运算?
--  作者:dancedy
--  发布时间:2015/11/9 8:29:00
--  
易表中很多函数不能相互嵌套使用的,可以看下帮助,搜索“函数嵌套”