Foxtable(狐表)用户栏目专家坐堂 → [求助]一个订单号有多个产品,一个产品也有多个订单号。


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

主题:[求助]一个订单号有多个产品,一个产品也有多个订单号。

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/12/8 11:20:00 [显示全部帖子]


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/12/8 11:57:00 [显示全部帖子]

1、代码有多余的空格
If (e.DataCol.Name = "dnd_so " and e.DataCol.Name = "dnd_wo_part " ) Then

2、判断一个列才使用e.NewValue,多个列使用e.datarow,自己调试对比看看就明白了

msgbox(("(so_cust_dh = '" & e.NewValue & "') and(so_part = '" & e.NewValue & "')"))
msgbox(("(so_cust_dh = '" & e.datarow("dnd_so") & "') and(so_part = '" & e.datarow("dnd_wo_part") & "')"))


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/12/8 13:54:00 [显示全部帖子]

If e.DataCol.Name = "dnd_so" orelse e.DataCol.Name = "dnd_wo_part"  Then

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/12/8 14:30:00 [显示全部帖子]

提示很明显了,如果2个表列名不一致,参考:http://www.foxtable.com/webhelp/topics/1533.htm,看第二段代码的用法

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/12/8 15:30:00 [显示全部帖子]

只是让您学学当2个表列名不一致的时候人家是怎么处理的。不是让你照抄别人代码。您的处理逻辑和select有一分钱的关系吗

If  e.DataCol.Name = "dnd_so" orelse e.DataCol.Name = "dnd_wo_part"  Then
    Dim nms() As String = {"dnd_cust", "dnd_cust_part", "dnd_xl", "dnd_dy", "dnd_rl", "dnd_zj", "dnd_gd", "dnd_rc"}
    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("so_det").Find("(so_cust_dh = '" & e.DataRow("dnd_so") & "') and(so_part = '" & e.DataRow("dnd_wo_part") & "')")
        If dr IsNot Nothing Then
    Dim Cols1() As String = {"so_cust", "so_cust_part", "so_xl", "so_dy", "so_rl", "so_zj", "so_gd", "so_rc"}
            For i As Integer = 0 To Cols1.Length -1
                e.DataRow(nms(i)) = dr(Cols1(i))
            Next
        End If
    End If
End If

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


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

看11楼

 回到顶部