Foxtable(狐表)用户栏目专家坐堂 → 版主,您好,请教函数,谢谢!


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

主题:版主,您好,请教函数,谢谢!

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/14 13:40:00 [显示全部帖子]

If e.DataCol.Name = "采购订单凭证一行项目" Then
    Dim nms() As String = {"客户采购订单编号", "生产批次", "凭证日期", "物料", "销售订单", "行项目1"}
    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 Then
            For Each nm As String In nms
                e.DataRow(nm) = dr(nm)
            Next
if dr.isnull("客户物料编号")=false then
e.DataRow("客户物料编号") = dr("客户物料编号")
end if
        End If
    End If
End If

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/14 14:41:00 [显示全部帖子]

什么地方测试不对?

另外在【《衰减器和滤波器订单明细表》粘贴原始订单信息】后更新到其它表,那就应该在【《衰减器和滤波器订单明细表》】表事件写代码呀

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/15 13:39:00 [显示全部帖子]

请上传实例测试

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/15 14:40:00 [显示全部帖子]

没有数据库,打不开表格。请转换为内部表,或者把测试数据库发上来

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/15 16:28:00 [显示全部帖子]

邮箱我收不到的。只能上传2M之内的文件。新建一个项目,导入表格和测试数据到内部表,重现同样的问题,然后把新项目发上来。

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/15 16:48:00 [显示全部帖子]

这个意思?如果订单明细表【客户物料编号】有值就直接取,否则取"物料"的值?

If e.DataCol.Name = "采购订单凭证一行项目" Then
    Dim nms() As String = {"客户采购订单编号", "生产批次", "凭证日期", "物料", "销售订单", "行项目1"}
    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 Then
            For Each nm As String In nms
                e.DataRow(nm) = dr(nm)
            Next
            If dr.isnull("客户物料编号") = False Then
                e.DataRow("客户物料编号") = dr("客户物料编号")
            Else
                e.DataRow("客户物料编号") = e.DataRow("物料") 
            End If
        End If
    End If
End If

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/15 17:08:00 [显示全部帖子]

看看是不是13楼的意思

 回到顶部