以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=157526)

--  作者:lds
--  发布时间:2020/10/19 16:21:00
--  [求助]
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.table

表A 取采购员列前4位和厅代码列前4位做比较, 如果前4位不相同就在标记列写入:厅代码与采购员不符
窗口按钮代码设置
For Each dr As DataRow In DataTables("表A").datarows
    Dim val As String = dr("厅代码")
       Dim drr As DataRow  = Nothing
    If val > "" Then
        drr  =  DataTables("表A").find("Substring(采购员,1,4) <> Substring(厅代码,1,4) ")
    End If
    If drr IsNot Nothing Then
        dr("标记")="厅代码与采购员不符"
        
    Else
        dr("标记")= Nothing
    End If
Next
上述代码不生效 所有标记行都是 厅代码与采购员不符

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

请帮忙看看 drr  =  DataTables("表A").find("Substring(采购员,1,4) <> Substring(厅代码,1,4) ") 该怎么写

--  作者:lds
--  发布时间:2020/10/19 16:24:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:错误.jpg
图片点击可在新窗口打开查看执行代码后是这样

--  作者:lds
--  发布时间:2020/10/19 16:24:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:截图1.jpg
图片点击可在新窗口打开查看希望是这样

--  作者:有点酸
--  发布时间:2020/10/19 16:54:00
--  
只有同一行的采购员和厅代码比较? 还是采购员只要和任意一行的厅代码匹配了就行?
--  作者:lds
--  发布时间:2020/10/19 17:02:00
--  
同一行的做比较,前4为相同就留空,不同就标记
--  作者:有点酸
--  发布时间:2020/10/19 17:10:00
--  
For Each dr As DataRow In DataTables("表A").datarows
    Dim val1 As String = dr("厅代码")
    Dim val2 As String = dr("采购员")
    If val1.Length > 4  AndAlso val2.Length>4  AndAlso val1.SubString(0,4) = val2.SubString(0,4) Then
        dr("标记") = "匹配"
    Else
        dr("标记") = "不匹配"
    End If
Next


--  作者:lds
--  发布时间:2020/10/19 17:24:00
--  
谢谢,效果很好.