以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]计算代码转换过程中出现问题! (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=1359) |
||||
-- 作者:t_fs -- 发布时间:2008/12/10 9:16:00 -- [求助]计算代码转换过程中出现问题! 为了适应新版本的狐表系统,本人将已测试没有问题的汇总计算表中的“计算代码”逐步向表属性中转换。发现了一个问题! 即仅提取“一车间_车数”时尚无问题出现。当再加入一个提取字段如“一车间_毛重”时,则会产生无提示而自动关闭文件退出狐表的现象。 请狐爸看看,是什么原因?谢谢!! 文件如下:
[此贴子已经被作者于2008-12-10 9:20:20编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2008/12/10 10:51:00 -- 没有明白你的意思。 [此贴子已经被作者于2008-12-10 10:51:43编辑过]
|
||||
-- 作者:t_fs -- 发布时间:2008/12/10 11:20:00 -- 我就是按说明改的,只是改了第一列代码后还可正常运行,可是若改了第二列后,系统就会莫名其妙的退出系统。 不能正常计算 。请看上传的文件中的DataColChanged事件代码,将第二行或第三行的行头的“\'”去掉后,点击按扭开始汇总。就会发现退出系统而不能计算。 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2008/12/10 11:58:00 -- 呵呵,老兄你应该看一下帮助才开始改啊。 错误提示,出现死循环,你直接将计算代码移到DataColChanged事件中,任何一列的变化都会触发此事件,然后此事件又导致其他列发生变化,如此循环,自然出错。 最好这样改一下: If e.DataCol.Name = "日期" Orlse e.DataCol.Name = "矿点" Then Select Case vars("HZ") Case 1 \'按日期汇总按扭 e.DataRow("一车间_车数") = DataTables("明细表").Compute("sum(车数)", "[日期] = \'" & e.Datarow("日期") & "\' and [车间] = \'一车间\'") e.DataRow("一车间_毛重") = DataTables("明细表").Compute("sum(毛重)", "[日期] = \'" & e.Datarow("日期") & "\' and [车间] = \'一车间\'") e.DataRow("一车间_净重") = DataTables("明细表").Compute("sum(扣杂)", "[日期] = \'" & e.Datarow("日期") & "\' and [车间] = \'一车间\'")
Case 2 \'按全部矿点分日期汇总按扭 e.DataRow("一车间_车数") = DataTables("明细表").Compute("sum(车数)", "[矿点] = \'" & e.Datarow("矿点") & "\' and [车间] = \'一车间\'and [日期] >= \'" & vars("date0") & "\' and [日期] <= \'"& vars("date1") & "\' ") e.DataRow("一车间_毛重") = DataTables("明细表").Compute("sum(毛重)", "[矿点] = \'" & e.Datarow("矿点") & "\' and [车间] = \'一车间\' and [日期] >= \'" & vars("date0") & "\' and [日期] <= \'"& vars("date1") & "\' ") e.DataRow("一车间_净重") = DataTables("明细表").Compute("sum(扣杂)", "[矿点] = \'" & e.Datarow("矿点") & "\' and [车间] = \'一车间\' and [日期] >= \'" & vars("date0") & "\' and [日期] <= \'"& vars("date1") & "\' ") End Select End If [此贴子已经被作者于2008-12-10 12:00:24编辑过]
|