以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]筛选表单里归属分类  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=108596)

--  作者:农村人
--  发布时间:2017/10/25 17:40:00
--  [求助]筛选表单里归属分类
 产品表中,商品名称列中的数据如下:
新货美国自然开口盐焗开心果总重500g原味无漂白零食坚果干果特产
新疆特产薄皮大核桃500g*3袋孕妇零食干果原味生坚果批发纸箱装
东北长白山野生红松子仁 开口松子 干果炒货手剥坚果新货

另一个数据表的“产地”列中,会列出:美国、新疆、东北、北京、上海....

我需要在产品表中,将每个商品名称中,一 一对应出各自归属于哪个产地,求助这个代码应如何写

--  作者:有点甜
--  发布时间:2017/10/25 18:00:00
--  

一般这样,循环这些值 美国、新疆、东北、北京、上海......判断商品名称是否包含这些地名。


--  作者:农村人
--  发布时间:2017/10/25 18:10:00
--  
 这个循环代码不会写,嘿嘿
--  作者:blsu33
--  发布时间:2017/10/25 19:09:00
--  

[此贴子已经被作者于2017/10/25 20:48:41编辑过]

--  作者:有点甜
--  发布时间:2017/10/25 20:33:00
--  

Dim dt As  DataTable=DataTables("产品表")
Dim cds As String()={"美国","新疆","东北","北京","上海"}

For Each dr As  DataRow In dt.DataRows
    Dim s As String = ""
    For Each cd As String In cds
        If dr("商品名称").contains(cd) Then
            s = cd
            Exit For
        End If
        dr("产地") = s
    Next
Next


--  作者:blsu33
--  发布时间:2017/10/25 20:33:00
--  
Dim flt As String
Dim cds As String()={"美国","新疆","东北","北京","上海"}
For Each cd As String In cds
    flt="[商品名称] Like \'%" & cd & "\' Or " & "[商品名称] Like \'" & cd & "%\' Or " & "[商品名称] Like \'%" & cd & "%\' Or " & "[商品名称] Like \'" & cd & "\'"
    DataTables("产品表").ReplaceFor("产地",cd,flt)
    flt=""
Next

--  作者:农村人
--  发布时间:2017/10/26 8:12:00
--  
你好!
感谢您的代码帮助。
Dim flt As String
Dim cds As String()={"美国","新疆","东北","北京","上海"}           此处的数组来自“数据表”---“产地”列,如何写这个代码?
For Each cd As String In cds
    flt="[商品名称] Like \'%" & cd & "\' Or " & "[商品名称] Like \'" & cd & "%\' Or " & "[商品名称] Like \'%" & cd & "%\' Or " & "[商品名称] Like \'" & cd & "\'"
    DataTables("产品表").ReplaceFor("产地",cd,flt)
    flt=""
Next

--  作者:有点甜
--  发布时间:2017/10/26 8:43:00
--  
Dim cds = DataTables("数据表").GetValues("产地")