以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  合并DBF 使用LIKE 遇到问题,在线求教  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=25880)

--  作者:sunfu
--  发布时间:2012/11/19 11:50:00
--  合并DBF 使用LIKE 遇到问题,在线求教
Dim mg As New Merger
mg.SourcePath = "D:\\" \'指定数据文件所在目录
mg.Format = "dbase" \'指定格式
mg.SourceTableName = "CHSJ" \'指定要合并的dbase文件,无需扩展名
mg.DataTableName = "进货明细表" \'指定接收数据的表
mg.FieldMaps.Add("SPDM","商品编码") 
mg.FieldMaps.Add("CHSL","进货数量") 
mg.FieldMaps.Add("DJBH","单据编号") 
mg.Filter = "[DJBH] like \'###?03?01*\'" 
mg.Merge() \'开始合并


红色语句部分用来筛选 DJBH=含有03 01部分的内容    DJBH内容:108-03-01-1-1




--  作者:sunfu
--  发布时间:2012/11/19 11:51:00
--  
自己顶一下,这个FILTER没去到任何数据,也没有任何出做提示,这是怎么回事,求教
--  作者:狐狸爸爸
--  发布时间:2012/11/19 12:30:00
--  

表达式的通配符只有%和*, 而且通配只能出现在首尾,你看看:
http://www.foxtable.com/help/topics/0102.htm


 
 mg.Filter = "[DJBH] like \'*-03-01*\'"


--  作者:sunfu
--  发布时间:2012/11/19 13:28:00
--  
哦,太谢谢了
--  作者:sunfu
--  发布时间:2012/11/19 13:30:00
--  
很不幸,改成您的代码,还是一样
--  作者:sunfu
--  发布时间:2012/11/19 13:31:00
--  
谢谢,管理员,我改成用  mg.Filter = "[DJBH] like \'%-03-01%\'" 就可以了
--  作者:lin_hailun
--  发布时间:2012/11/19 13:34:00
--  
 应该是不会有错的,上传你的文件,上传你的例子。

-----------------------------

 这句话,我删除了……
[此贴子已经被作者于2012-11-19 13:34:42编辑过]