以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  表A已经选取表B的主键字段,希望自动引用表B主键对应的单价  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101978)

--  作者:chengjingliang
--  发布时间:2017/6/11 8:52:00
--  表A已经选取表B的主键字段,希望自动引用表B主键对应的单价
表A已经选取表B的主键字段,希望自动引用表B主键对应的单价,单价要随表B变化而变化
--  作者:有点色
--  发布时间:2017/6/11 14:55:00
--  

 参考

 

http://www.foxtable.com/webhelp/scr/1453.htm

 


--  作者:chengjingliang
--  发布时间:2017/6/12 13:45:00
--  关联表之间可以实现,为什么非关联表之间实现不了,怎么实现
关联表之间可以实现,为什么非关联表之间实现不了,怎么实现
--  作者:有点色
--  发布时间:2017/6/12 14:13:00
--  
以下是引用chengjingliang在2017/6/12 13:45:00的发言:
关联表之间可以实现,为什么非关联表之间实现不了,怎么实现

 

关联表或非关联表都可以实现,代码一模一样。如果有问题,举例说明。


--  作者:chengjingliang
--  发布时间:2017/6/16 23:54:00
--  为什么清单明细表内综合单价列,不能随工料单价表内综合单价列变化而变化?
为什么清单明细表内综合单价列,不能随工料单价表内综合单价列变化而变化?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:成本测算170616 - 副本.rar


If e.DataCol.Name = "综合单价"
    Dim Filter As String = "[工料名称] = \'" & e.DataRow("工料名称") & "\' And 完成否= False"
    Dim drs As List(Of DataRow) = DataTables("清单明细").Select(Filter)
    For Each dr As DataRow In drs
        If dr.Locked = False Then    
            DataTables("工料明细").DataCols("工料名称").RaiseDataColChanged(dr)
        End If        
    Next
End If

If e.DataCol.Name = "工料ID" Then
    If e.NewValue Is Nothing Then
         e.DataRow("综合单价") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("工料单价").Find("[工料ID] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing 
                e.DataRow("综合单价") = dr("综合单价") 
        End If
    End If
End If

Select Case e.DataCol.Name 
    Case "综合单价"
        Dim Filter As String = "[工料ID] = \'" & e.DataRow("工料ID") & "\'"
        Dim drs As List(Of DataRow) = DataTables("清单明细").Select(Filter)
        For Each dr As DataRow In drs
            dr(e.DataCol.Name) = e.NewValue
        Next
End Select

--  作者:有点蓝
--  发布时间:2017/6/17 9:01:00
--  
工料单价datacolchanged

If e.DataCol.Name = "工料单价"
    Dim Filter As String = "[工料ID] = \'" & e.DataRow("工料ID") & "\'"
    Dim drs As List(Of DataRow) = DataTables("工料明细").Select(Filter)
    For Each dr As DataRow In drs
        dr("工料单价") = e.DataRow("工料单价")
    Next
    drs = DataTables("清单明细").Select(Filter)
    For Each dr As DataRow In drs
        If dr.Locked = False Then
            dr("综合单价") = e.DataRow("工料单价")
        End If
    Next
End If

清单明细datacolchanged
If e.DataCol.Name = "工料ID" Then
    If e.NewValue Is Nothing Then
        e.DataRow("综合单价") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("工料单价").Find("[工料ID] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing
            e.DataRow("综合单价") = dr("综合单价")
        End If
    End If
End If

Select Case e.DataCol.Name
    Case "综合单价"
        Dim Filter As String = "[工料ID] = \'" & e.DataRow("工料ID") & "\'"
        Dim drs As List(Of DataRow) = DataTables("清单明细").Select(Filter)
        For Each dr As DataRow In drs
            dr(e.DataCol.Name) = e.NewValue
        Next
End Select