Foxtable(狐表)用户栏目专家坐堂 → vlookup 想对查找的数值进行取左边2位数后再进行匹配


  共有4818人关注过本帖树形打印复制链接

主题:vlookup 想对查找的数值进行取左边2位数后再进行匹配

帅哥哟,离线,有人找我吗?
fx719
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:75 积分:922 威望:0 精华:0 注册:2022/11/15 18:31:00
vlookup 想对查找的数值进行取左边2位数后再进行匹配  发帖心情 Post By:2023/2/10 11:57:00 [只看该作者]

用的是这串代码,不取左边两位数是可以完全匹配的,想对查找的第三列取左边2位数后再进行查找匹配
If e.DataCol.Name = "第三列" Then '如果内容发生变动的是第三列
    If e.NewValue Is Nothing Then '如果新值是空白,也就是第三列的内容为空
        e.DataRow("周数") = Nothing '那么清空此行周数的内容
    Else
        Dim dr As DataRow
        '否则在产品表查找同名的产品行,将找到的行赋值给变量dr
        dr = DataTables("生产1").Find(("[第三列] = '" & e.NewValue & "'")      
        If dr IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
            e.DataRow("周数") = dr("周数")
        End If
    End If
End If



 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110565 积分:562715 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/2/10 12:02:00 [只看该作者]

2个表数据是怎么样的,截图看看。同时说明一下要的结果

 回到顶部
帅哥哟,离线,有人找我吗?
fx719
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:75 积分:922 威望:0 精华:0 注册:2022/11/15 18:31:00
  发帖心情 Post By:2023/2/10 12:58:00 [只看该作者]

If e.DataCol.Name = "工单单号" Then
    Dim nms() As String = {"销售品号","销售品名","销售图号","工单规格","工单数量"}
    If e.NewValue Is Nothing Then
        For Each nm As String In nms
            e.DataRow(nm) = Nothing
        Next
    Else
        Dim dr As DataRow
        dr = DataTables("工单需求").Find("[工单单号] = '" & e.NewValue & "'")
        If dr IsNot Nothing '不为空值
            For Each nm As String In nms
                e.DataRow(nm) = dr(nm)
            Next
        End If
    End If
End If


正式项目用的代码是这个
图片点击可在新窗口打开查看此主题相关图片如下:狐表取左边14位.png
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110565 积分:562715 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/2/10 13:31:00 [只看该作者]

dr = DataTables("工单需求").Find("[工单单号] = '" & left(e.NewValue,14) & "'")

 回到顶部