以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如已存在,就不新建行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148787)

--  作者:miaoqingqing
--  发布时间:2020/4/15 13:04:00
--  [求助]如已存在,就不新建行
Dim a As Row=Tables("成果台账").Current

Dim str As String = a("考核参与人")
For Each s As String In str.split(",")
    
    Dim r2 As DataRow = DataTables("方案成果").find("方案考核人 = s ") 求助如果已存在该人,就不新建行
    If r2 Is Nothing Then
        
        Dim nr = Tables("方案成果").addnew
        nr("成果编号") = a("成果编号")
        nr("方案考核人") = s
        nr("项目成果") = a("项目成果")
    End If
Next

--  作者:有点蓝
--  发布时间:2020/4/15 14:29:00
--  

Dim r2 As DataRow = DataTables("方案成果").find("方案考核人 = \'" & s & "\'") 
--  作者:miaoqingqing
--  发布时间:2020/4/16 9:32:00
--  回复:(有点蓝)先看几遍:http://www.foxtable.com/...
Dim a As Row=Tables("成果台账").Current

Dim str As String = a("考核参与人")
For Each s As String In str.split(",")
    
 Dim r2 As DataRow = DataTables("方案成果").find("方案考核人 not In  (\'" & s & "\')") 
    If r2 Is Nothing Then
        
        Dim nr = Tables("方案成果").addnew
        nr("成果编号") = a("成果编号")
        nr("方案考核人") = s
        nr("项目成果") = a("项目成果")
    End If
Next

求助,
成果台账,考核参与人 有 张三,李四,王五   多值3人名

实现                  方案成果表,方案考核人,已存在  张三
上楼代码实现  只新增
李四
王五
两行

--  作者:有点蓝
--  发布时间:2020/4/16 9:43:00
--  
Dim r2 As DataRow = DataTables("方案成果").find("方案考核人 =  \'" & s & "\'") 
--  作者:miaoqingqing
--  发布时间:2020/4/16 10:24:00
--  回复:(有点蓝)Dim r2 As DataRow = DataTables("方...

图片点击可在新窗口打开查看此主题相关图片如下:mmexport1587003539113.jpg
图片点击可在新窗口打开查看


Dim a As Row=Tables("成果台账").Current

Dim str As String = a("考核参与人")
For Each s As String In str.split(",")
    
Dim r2 As DataRow = DataTables("方案成果").find("方案考核人 =  \'" & s & "\'") 
    If r2 Is Nothing Then
        
        Dim nr = Tables("方案成果").addnew
        nr("成果编号") = a("成果编号")
        nr("方案考核人") = s
        nr("项目成果") = a("项目成果")
    End If
Next

中文逗号不行
新增行 张三,李四,王五,不是想要的效果
想新增行
李四
王五
[此贴子已经被作者于2020/4/16 10:26:12编辑过]

--  作者:有点蓝
--  发布时间:2020/4/16 10:33:00
--  
注意下面的3个单引号用法:http://www.foxtable.com/webhelp/topics/1273.htm

\'\'\'
Dim a As Row=Tables("成果台账").Current

Dim str As String = a("考核参与人")
For Each s As String In str.replace(",",",").split(",")