以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  主子表 用fiter 实施联动 发现子表金额变化了 主表为0  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=59045)

--  作者:jswjyjf
--  发布时间:2014/10/28 22:34:00
--  主子表 用fiter 实施联动 发现子表金额变化了 主表为0

主子表 用fiter 实施联动 发现子表金额变化了 主表为0 代码如下

If e.DataCol.Name = "数量"  OrElse e.DataCol.Name = "单价" OrElse e.DataCol.Name = "金额"  Then
    e.DataRow("金额") =e.DataRow("数量")*e.DataRow("单价")
    Tables("销售单").Current("金额") = Tables("销售单明细").Compute("sum(金额)")
    Tables("销售单").Current("数量") = Tables("销售单明细").Compute("sum(数量)")
End If
If Forms("销售单").opened()
    vars("ljs")=Tables("销售单").current("数量")
    Forms("销售单").Controls("Label8").text=cumoney(vars("ljs"))+"   小写: " & vars("ljs")
End If
 帮助看一下


--  作者:有点甜
--  发布时间:2014/10/28 22:42:00
--  

  这个意思?

 

If e.DataCol.Name = "数量"  OrElse e.DataCol.Name = "单价" OrElse e.DataCol.Name = "金额"  Then
    e.DataRow("金额") =e.DataRow("数量")*e.DataRow("单价")
    Dim pdr As DataRow = e.DataRow.GetParentRow("销售单")
    pdr("金额") = Tables("销售单明细").Compute("sum(金额)")
    pdr("数量") = Tables("销售单明细").Compute("sum(数量)")
End If
If Forms("销售单").opened()
    Dim pdr As DataRow = e.DataRow.GetParentRow("销售单")
    vars("ljs") = pdr("数量")
    Forms("销售单").Controls("Label8").text=cumoney(vars("ljs"))+"   小写: " & vars("ljs")
End If


--  作者:jswjyjf
--  发布时间:2014/10/28 22:48:00
--  

我不用关联的

 


--  作者:jswjyjf
--  发布时间:2014/10/28 22:50:00
--  
在positionchanged 中 If Tables("销售单").Current IsNot Nothing AndAlso Tables("销售单").Current.Isnull("销售单号") = False Then
    Tables("销售单明细").Filter = "销售单号 = \'" & Tables("销售单").Current("销售单号") & "\'"
Else
    Tables("销售单明细").Filter = "销售单号 is null"
End If

--  作者:有点甜
--  发布时间:2014/10/28 22:53:00
--  

 这个意思?

 

Dim filter As String = "销售单号 = \'" & e.DataRow("销售单号") & "\'"
If e.DataCol.Name = "数量"  OrElse e.DataCol.Name = "单价" OrElse e.DataCol.Name = "金额"  Then
    e.DataRow("金额") =e.DataRow("数量")*e.DataRow("单价")
    Dim pdr As DataRow = DataTables("销售单").Find(filter)
    pdr("金额") = e.DataTable.Compute("sum(金额)",filter)
    pdr("数量") = e.DataTable.Compute("sum(数量)",filter)
End If
If Forms("销售单").opened()
    vars("ljs") = e.DataTable.Compute("sum(数量)",filter)
    Forms("销售单").Controls("Label8").text=cumoney(vars("ljs"))+"   小写: " & vars("ljs")
End If


--  作者:jswjyjf
--  发布时间:2014/10/28 22:53:00
--  
主子表都加载了 用table的filter 实施联动
--  作者:有点甜
--  发布时间:2014/10/28 23:04:00
--  
 例子发上来说明问题。
--  作者:有点甜
--  发布时间:2014/10/28 23:04:00
--  
 你也不说哪里的问题啊
--  作者:jswjyjf
--  发布时间:2014/10/29 19:57:00
--  

金额 联动不起来 帮忙看一下 代码 ,

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:主子表联动 用filter.zip


--  作者:jswjyjf
--  发布时间:2014/10/29 20:06:00
--  

子表的金额 不等于主表