以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  表达式列无法跨表引用?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=114337)

--  作者:swagger
--  发布时间:2018/2/3 16:44:00
--  表达式列无法跨表引用?
If e.DataCol.Name = "订单id" 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("[订单id] = \'" & 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



金额是表达式【数量】*【单价】


但是订单表没有引用订单明细的金额,是不是表达式没有跨表引用?要怎么弄?


--  作者:有点蓝
--  发布时间:2018/2/3 16:58:00
--  
订单表的金额是表达式列?还是订单明细的金额是表达式列?
如果是前者不能通过代码赋值
另外订单表显示订单明细其中一个的金额有啥意义?


--  作者:swagger
--  发布时间:2018/2/3 17:45:00
--  
订单表金额是非表达式,订单明细的金额是表达式,订单表的金额列要跨表引用订单明细的金额列,然后 订单表的 "if 金额列=应收款 then 结账= true"。我刚才已经用跨表统计解决了这个问题了。不知道有什么更好办法没有。 
--  作者:有点甜
--  发布时间:2018/2/4 19:34:00
--  

如果你订单表金额列是表达式,可以直接统计子表数据;如果不是,必须编写代码跨表统计才行。