以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 跨表引用 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128423) |
||||
-- 作者:mirco -- 发布时间:2018/12/5 20:44:00 -- [求助] 跨表引用 老师,附件订单表有一个总金额,是需要统计订单明细中同一订单编号下的金额,统计后回写入订单表中。 订单表总金额是数据列,订单明细的金额列是表达式列,金额=数量*单价,如何设计?请赐教,万分感谢!
|
||||
-- 作者:有点甜 -- 发布时间:2018/12/5 21:24:00 --
|
||||
-- 作者:mirco -- 发布时间:2018/12/5 21:38:00 -- 老师,下载打开显示文件版本过高,无法正常打开,请升级您的FOXTABLE!,什么原因?谢谢!
[此贴子已经被作者于2018/12/5 22:01:53编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/12/5 21:53:00 -- 我打开测试没问题。没看到你发的图片,请正确上传。 |
||||
-- 作者:mirco -- 发布时间:2018/12/5 21:58:00 -- 老师,下载打开显示文件版本过高,无法正常打开,请升级您的FOXTABLE!,什么原因?谢谢! |
||||
-- 作者:有点甜 -- 发布时间:2018/12/5 22:02:00 -- 升级你的foxtable,下载最新版安装。 |
||||
-- 作者:mirco -- 发布时间:2018/12/5 22:53:00 -- 老师,可以了,您是否在订单表的DataColChanged表事件中加了代码: If e.DataCol.Name = "订单编号" Then \'发生变化的是产品列. 附件中但是我把他加上,还是出不来!请看看原因,谢谢!
|
||||
-- 作者:有点甜 -- 发布时间:2018/12/5 22:59:00 -- 父表、子表的datacolchanged事件,都加了代码。 |
||||
-- 作者:mirco -- 发布时间:2018/12/5 23:17:00 -- 喔,您在明细表中加了:Select e.DataCol.Name Case "订单编号" If e.DataRow.IsNull("订单编号") Then e.DataRow("序号1") = Nothing Else Dim lb As String = e.DataRow("订单编号") If e.DataRow("序号1").StartsWith(lb) = False \'如果单据编号前缀不符 Dim max As String Dim idx As Integer max = e.DataTable.Compute("Max(序号1)","订单编号 = \'" & lb & "\' And [_Identify] <> " & e.DataRow("_Identify")) \'取得该类别的最大编号 If max > "" Then \'如果存在最大编号 idx = CInt(max.Substring(13,2)) + 1 \'获得最大编号的后三位顺序号1,并加1 Else idx = 1 \'否则顺序号1等于1 End If e.DataRow("序号1") = lb & Format(idx,"00") End If End If Case "数量","单价" DataTables("订单").DataCols("订单编号").RaiseDataColChanged("订单编号=\'" & e.DataRow("订单编号") & "\'") End Select |
||||
-- 作者:有点甜 -- 发布时间:2018/12/5 23:25:00 -- 参考
http://www.foxtable.com/webhelp/scr/1454.htm
http://www.foxtable.com/webhelp/scr/1472.htm
|