以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 统计遇到的特殊问题!! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47649) |
||||
-- 作者:身份不明 -- 发布时间:2014/3/14 10:23:00 -- 统计遇到的特殊问题!!
这样就无法统计单个订单的出库信息了,遇到这样的情况,该如何设计呢! |
||||
-- 作者:Bin -- 发布时间:2014/3/14 10:29:00 -- 2个方案 1. 01 02 03 增加重复数据 2. 再增加一个表,用来储存用料方案, 这个表用来储存和用料方案的关联 比如 表B 订单编号 用料方案 01 01 02 01 03 01 04 02 05 02 表C 方案编号 需要材料 数量 单价 总价 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2014/3/14 10:33:00 -- “01/02/03”,这样输入订单编号是懒惰的表现,是混乱的根源,拆开成3行,各自输入对应的数量。 |
||||
-- 作者:身份不明 -- 发布时间:2014/3/14 16:39:00 --
该如何编写Datacolchange的的代码呢? If e.DataCol.Name = "总价" Then \'发生变化的是总价列。
这样写有什么问题吗?在就是在哪里增加对应编号的代码? |
||||
-- 作者:Bin -- 发布时间:2014/3/14 16:43:00 -- If e.DataCol.Name = "总价" Then \'发生变化的是总价列。 \'则累计出库表中同编号产品的出库总价,然后赋值给变动行的数量列 dim dr as datarow = datatables("表A").find("编号=\'" & e.datarow("编号") & "\'") if dr isnot nothing then dr("出库成本") = DataTables("表B").Compute("Sum(总价)","编号=\'" & e.datarow("编号") & "\'") end if
End If |
||||
-- 作者:身份不明 -- 发布时间:2014/3/14 16:53:00 --
Bin老师,数据没有变化,您看下例子! |
||||
-- 作者:Bin -- 发布时间:2014/3/14 16:57:00 -- 你把代码放到了表A事件, 表A根本就没总价列你就不觉得奇怪? 怎么会有把代码放到表A的想法呢? 应该放到表B才对.
|
||||
-- 作者:身份不明 -- 发布时间:2014/3/14 17:00:00 -- 明白了,Bin老师!我理解错了 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2014/3/14 17:03:00 -- 用关联和表达式,不很轻松吗:
|