以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  三个表引用问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73460)

--  作者:douglas738888
--  发布时间:2015/8/19 17:40:00
--  三个表引用问题
请教老师:
A表的数据通过跨表引用和自动更新,通过客户编号引入到B表了,现在还想把C表某列的数据引入到B表的同名列
但是A表和C表的引入条件都是以A表的客户编号为条件,不知怎么弄了(A、B、C表都有同名列“客户编号”)

A表引入B表的代码:(已能实现)
If e.DataCol.Name = "客户编号" Then
    If e.NewValue Is Nothing Then
        e.DataRow("下单日期") = Nothing
        e.DataRow("客户名称") = Nothing
        e.DataRow("订单金额") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("订单").Find("[客户编号] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing 
            e.DataRow("下单日期") = dr("下单日期")
            e.DataRow("客户名称") = dr("客户名称")
            e.DataRow("订单金额") = dr("订单金额")
        End If
    End If
End If

--  作者:大红袍
--  发布时间:2015/8/19 17:51:00
--  

呃,再find一次就行

 

If e.DataCol.Name = "客户编号" Then
    If e.NewValue Is Nothing Then
        e.DataRow("下单日期") = Nothing
        e.DataRow("客户名称") = Nothing
        e.DataRow("订单金额") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("订单").Find("[客户编号] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing
            e.DataRow("下单日期") = dr("下单日期")
            e.DataRow("客户名称") = dr("客户名称")
            e.DataRow("订单金额") = dr("订单金额")
            e.DataRow("第三列") = Nothing
        End If
        dr = DataTables("表C").Find("[客户编号] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing
            e.DataRow("第三列") = dr("第三列")
        End If

    End If
End If


--  作者:douglas738888
--  发布时间:2015/8/19 18:10:00
--  
老师再看看,这样给对了,C表的数据还是没有引用过来
If e.DataCol.Name = "客户编号" Then
    If e.NewValue Is Nothing Then
        e.DataRow("下单日期") = Nothing
        e.DataRow("客户名称") = Nothing
        e.DataRow("订单金额") = Nothing
        e.DataRow("预付定金") = Nothing
        e.DataRow("未付余款") = Nothing
        e.DataRow("增单金额") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("订单").Find("[客户编号] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing 
            e.DataRow("下单日期") = dr("下单日期")
            e.DataRow("客户名称") = dr("客户名称")
            e.DataRow("订单金额") = dr("订单金额")
            e.DataRow("预付定金") = dr("预付定金")
            e.DataRow("未付余款") = dr("未付余款")
            e.DataRow("增单金额") = Nothing
        End If
         dr = DataTables("订单增收").Find("[客户编号] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing
            e.DataRow("增单金额") = dr("增单金额")
       End If
    End If
End If

--  作者:大红袍
--  发布时间:2015/8/19 18:20:00
--  

没有引过来,说明这个条件不成立

 

dr = DataTables("订单增收").Find("[客户编号] = \'" & e.NewValue & "\'")

 

 弹出看一下 msgbox("[客户编号] = \'" & e.NewValue & "\'")


--  作者:douglas738888
--  发布时间:2015/8/19 18:26:00
--  
好了!好了!在设计窗口没有从后台加载“订单增收”的数据,非常感谢老师,祝老师晚餐愉快!!!!