Foxtable(狐表)用户栏目专家坐堂 → [求助]计算代码转换过程中出现问题!


  共有21331人关注过本帖树形打印复制链接

主题:[求助]计算代码转换过程中出现问题!

帅哥哟,离线,有人找我吗?
t_fs
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:431 积分:2808 威望:0 精华:0 注册:2008/9/1 8:46:00
[求助]计算代码转换过程中出现问题!  发帖心情 Post By:2008/12/10 9:16:00 [只看该作者]

     为了适应新版本的狐表系统,本人将已测试没有问题的汇总计算表中的“计算代码”逐步向表属性中转换。发现了一个问题!
     即仅提取“一车间_车数”时尚无问题出现。当再加入一个提取字段如“一车间_毛重”时,则会产生无提示而自动关闭文件退出狐表的现象。
     请狐爸看看,是什么原因?谢谢!!
文件如下:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:矿石汇总00_1210.zip

[此贴子已经被作者于2008-12-10 9:20:20编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/12/10 10:51:00 [只看该作者]

没有明白你的意思。
其实没有什么特别的,只需将DatacolChanged改为:

Select Case e.DataCol.Name
    Case "A","B"
        原计算代码1
    Case "D","E"
        原计算代码2
End Select

[此贴子已经被作者于2008-12-10 10:51:43编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
t_fs
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:431 积分:2808 威望:0 精华:0 注册:2008/9/1 8:46:00
  发帖心情 Post By:2008/12/10 11:20:00 [只看该作者]

     我就是按说明改的,只是改了第一列代码后还可正常运行,可是若改了第二列后,系统就会莫名其妙的退出系统。
不能正常计算 。请看上传的文件中的DataColChanged事件代码,将第二行或第三行的行头的“'”去掉后,点击按扭开始汇总。就会发现退出系统而不能计算。

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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编辑过]

 回到顶部