以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  代码写入后一旦有数据输入则会出现系统自动关闭的情况,求大神来指导  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=47542)

--  作者:xalcddonmhp
--  发布时间:2014/3/12 10:18:00
--  代码写入后一旦有数据输入则会出现系统自动关闭的情况,求大神来指导

在内部车辆表对另外一个表加油表进行统计,目的是加油表内数据发生变化时内部车辆表对其进行统计,并在自动更新变化数据,在内部车辆表datacolchanged事件中写入代码

 

 

 

If e.DataCol.Name = "车号" Then
    e.DataRow("加油费_外加油油量") = DataTables("加油表").Compute("Sum(加油费_外加油油量)","[车号] = \'" & e.NewValue & "\'")
End If
If e.DataCol.Name = "加油费_外加油油量" Then
    Dim pr As DataRow
    pr = DataTables("内部车辆表").Find("车号 = \'" & e.DataRow("车号") & "\'")
    If pr IsNot Nothing Then
        pr("加油费_外加油油量")= pr("加油费_外加油油量") + e.NewValue
    End If
End If

结果加油表内输入完数据后,在内部加油表输入完车号后系统马上自动关闭

求教:为什么会自动关闭,代码该如何写比较合适?新手,求指导,求帮助


--  作者:xalcddonmhp
--  发布时间:2014/3/12 10:20:00
--  
自己先顶一个,期待大神来帮忙图片点击可在新窗口打开查看
--  作者:Bin
--  发布时间:2014/3/12 10:25:00
--  
死循环了,兄弟.

 "加油费_外加油油量"  改变触发DataColChanged事件, 你在事件里又改变  "加油费_外加油油量"  又触发DataColChanged 无限死循环.

--  作者:xiaofengfeng
--  发布时间:2014/3/12 10:26:00
--  

上个例子


--  作者:lsy
--  发布时间:2014/3/12 10:26:00
--  
If e.DataCol.Name = "车号" Then
    e.DataRow("加油费_外加油油量") = DataTables("加油表").Compute("Sum(加油费_外加油油量)","[车号] = \'" & e.NewValue & "\'")
End If

--  作者:xalcddonmhp
--  发布时间:2014/3/12 10:35:00
--  回复:(Bin)死循环了,兄弟. "加油费_外加油油量...

谢谢图片点击可在新窗口打开查看

刚改了下,一直没注意,俩表的列名称一直,没注意,改了后能正常统计了,这次没再关闭


--  作者:xalcddonmhp
--  发布时间:2014/3/12 10:35:00
--  
一致
--  作者:xalcddonmhp
--  发布时间:2014/3/12 10:58:00
--  

更正下自己的错误,避免后来者看到后也出错

第二段代码,其实应该放在加油表中,这样才对,如果在内部车辆表,那么其实达不到自动更新的效果!

望互勉