以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于AddNew及跨表统计 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=108159) |
||||
-- 作者:l1q2lq -- 发布时间:2017/10/17 14:34:00 -- [求助]关于AddNew及跨表统计 For Each r1 As Row In Tables("入库导入_采购订单") If r1("本次交货") IsNot Nothing Or r1("本次交货") > 0 Dim r2 As Row = Tables("入库表").AddNew r2("编号") = r1("编号") r2("入库数量") = r1("本次交货") Else End If Next 用这段代码在入库表里新增数据,入库表里的数据需要跨表统计, 入库表: Select Case e.DataCol.Name Case "入库数量" Dim pr As DataRow pr = DataTables("库存").Find("编号 = \'" & e.DataRow("编号") & "\'") If pr IsNot Nothing Then DataTables("库存").DataCols("编号").RaiseDataColChanged(pr) End If End Select 库存表: If e.DataCol.Name = "编号" Then Dim Filter As String = "[编号] = \'" & e.NewValue & "\'" e.DataRow("入库合计") = DataTables("入库表").Compute("Sum(入库数量)", Filter) End If 但是新增的数据并不直接进行计算,每次都需要重置列,重置列运行速度很慢,需要怎么优化 |
||||
-- 作者:l1q2lq -- 发布时间:2017/10/17 14:45:00 -- 另外问一下:
|
||||
-- 作者:有点甜 -- 发布时间:2017/10/17 15:04:00 -- 1、代码没问题的,实例发上来测试。
2、库存表,你编号有重复的?
3、加上判断 If r1("本次交货") > 0 Then |
||||
-- 作者:l1q2lq -- 发布时间:2017/10/17 15:09:00 -- 第1条,我希望AddNew行后直接参与统计,而不是必须要重置列 第3条,我加了判断 没有值的行依然被Add上去了 [此贴子已经被作者于2017/10/17 15:37:05编辑过]
|
||||
-- 作者:l1q2lq -- 发布时间:2017/10/17 15:19:00 --
|
||||
-- 作者:l1q2lq -- 发布时间:2017/10/17 15:20:00 -- 密码 kf888
[此贴子已经被作者于2017/10/17 15:23:02编辑过]
|
||||
-- 作者:l1q2lq -- 发布时间:2017/10/17 15:40:00 -- 例子已上传,麻烦帮忙解决一下 |
||||
-- 作者:有点甜 -- 发布时间:2017/10/17 16:22:00 -- systemready = False e.Form.close |
||||
-- 作者:l1q2lq -- 发布时间:2017/10/17 16:37:00 -- 老师,在帮忙看一下第一个问题,新增行怎么直接进行计算统计,例子里必须要重置列,很不方便 |
||||
-- 作者:有点蓝 -- 发布时间:2017/10/17 17:25:00 -- 去掉systemready = False和systemready =True |