以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]时间计算崩溃 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=23737) |
||||
-- 作者:lxhmax -- 发布时间:2012/9/18 14:59:00 -- [求助]时间计算崩溃 麻烦大家帮我看下,下面这段代码哪里出问题了,每次当这段代码运行的时候fotable就崩溃,系统自动关闭了~
If e.DataRow.IsNull("发表日期") And e.DataRow.IsNull("实际完成日期") Then |
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/9/18 15:09:00 -- 看看是不是这个原因: http://www.foxtable.com/help/topics/1522.htm
搞不定,就设置好代码,将这个表传上来,我们帮你分析一下原因。 |
||||
-- 作者:lxhmax -- 发布时间:2012/9/18 15:46:00 -- 以下是引用狐狸爸爸在2012-9-18 15:09:00的发言:
看看是不是这个原因: http://www.foxtable.com/help/topics/1522.htm
搞不定,就设置好代码,将这个表传上来,我们帮你分析一下原因。
在清理数据的时候也发现了一个问题,在委托信息的表上,剩下的这些信息在清楚的时候,foxtable也会崩溃直接关闭,委托信息表的提示列也是有计算的,这个在计算的时候也会崩溃,检测项目汇总里的检测用时在计算的时候也是会崩溃直接关闭,麻烦狐爸帮我看看这个粗略的表是怎么回事~~ 这个是第一次用foxtable做数据管理,麻烦狐爸帮我看看还有没其他问题~~谢谢啦!!!
[此贴子已经被作者于2012-9-18 15:46:21编辑过]
|
||||
-- 作者:lxhmax -- 发布时间:2012/9/18 16:01:00 -- qqq |
||||
-- 作者:lin_hailun -- 发布时间:2012/9/18 17:01:00 -- 如狐爸所说的,死循环了。 在datacolchanging事件中,修改了【操作记录】的值,导致触发【操作记录】的datacolchanged事件,然后进入楼主的那段代码,由于没有判断列名,而下面的代码里又有修改 列 的内容,导致重新进入datacolchanging事件。 |
||||
-- 作者:lin_hailun -- 发布时间:2012/9/18 17:04:00 -- 修改方法是,加一个列名判断。 比如 if e.datacol.name <> "操作记录" then end if |
||||
-- 作者:lxhmax -- 发布时间:2012/9/18 17:14:00 -- 其实我不是很懂应该在哪里修改代码,麻烦你说下我改怎么改好吗?谢谢啦! |
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/9/18 17:20:00 -- 小林说得对,最好直接判断列名:
Select Case e.DataCol.name
这样效率高一些,因为你这段代码是完成日期和领取状态发生变化后才执行的,不是任何一列发生变化都执行,不判断列名,就容易死循环,导致死机。 [此贴子已经被作者于2012-9-18 17:22:34编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/9/18 17:21:00 -- 还有:
Select Case e.DataCol.name |
||||
-- 作者:lxhmax -- 发布时间:2012/9/18 17:31:00 -- 可以运行了,谢谢各位老师的指教~ |