Foxtable(狐表)用户栏目专家坐堂 → 紧急求救模式窗口下导致系统出错


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

主题:紧急求救模式窗口下导致系统出错

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


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
紧急求救模式窗口下导致系统出错  发帖心情 Post By:2011/5/2 12:37:00 [只看该作者]

紧急求救模式窗口下导致系统出错,这样的代码在窗口为其它类型时没问题,改为模式窗口后,导致系统出错,只能强制退出

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20110502123202.png
图片点击可在新窗口打开查看

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.foxdb

请测试,打开表A的窗口,然后选择"审核"时就出错


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


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
  发帖心情 Post By:2011/5/2 14:53:00 [只看该作者]

狐爸,请测试看看是什么原因呀

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/2 15:04:00 [只看该作者]

可能有bug吧,想办法绕开他,例如事先将其只读属性设置为True


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


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
  发帖心情 Post By:2011/5/2 16:29:00 [只看该作者]

那得麻烦狐爸看看倒底是不是bug,如果是请尽快更新解决,我要的不是将其只读属性设置为True,而是在操作这个审核前面还在一部条件代码,在不符合条件的情况下,才e.Cancel = True

之所以以前没发现,是因为基本没有在模式窗口中进行录入,现在有了流程帮助,所以要将以前的其它类窗口改为模式窗口才发现的


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/2 17:44:00 [只看该作者]

呵呵,这个问题可能不好解决的,还是想办法绕开吧。

你完全可以在检查框的Enter事件中设置代码,如果不符合条件,将其ReadOnly属性或者设置为False。

enter方法参考:

http://help.foxtable.com/topics/0734.htm

 


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


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
  发帖心情 Post By:2011/5/3 8:38:00 [只看该作者]

DataColChanging事件的代码如下,像这样的代码该如何绕开?而且具体什么情况下的代码需要绕开

呢? 

Select Case e.DataCol.Name

Case "审核_财务审核标识"

        If e.DataRow("结帐标识") = True Then

            e.Cancel = True '取消编辑

            Messagebox.Show("数据已结帐,不能操作!","提示",MessageBoxButtons.OK, MessageBoxIcon.Information)

        Else If _UserGroup <> "财务部" AndAlso _UserGroup <> "财务部经理" Then

            e.Cancel = True '取消编辑

            Messagebox.Show("只有财务部人员才有权操作!","提示",MessageBoxButtons.OK, MessageBoxIcon.Information)

        Else If e.DataRow("审核_物流审核标识") =False Then

            e.Cancel = True '取消编辑

            Messagebox.Show("物流部尚未审核!","提示",MessageBoxButtons.OK, MessageBoxIcon.Information)

        Else If e.DataRow("审核_仓储审核标识") =False Then

            e.Cancel = True '取消编辑

            Messagebox.Show("仓储部尚未审核!","提示",MessageBoxButtons.OK, MessageBoxIcon.Information)

        End If

 

End Select


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/3 8:53:00 [只看该作者]

如果是通过窗口录入,就考虑在此控件的Enter事件中设置代码,如果禁止编辑,则将其Readonly属性设置为FAlse.

如果是通过表输入,就考虑在PrepareEdit事件设置代码,如果禁止编辑,则e.Cancel。

 

这个bug我已经收藏,希望能解决,但初看问题比较复杂。


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


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
  发帖心情 Post By:2011/5/3 9:11:00 [只看该作者]

希望能解决,因为不知道哪些情况会出现这样的问题,所以不知道哪些代码需要绕开,而且也不容易绕开

我的是通过窗口录入

之前这样的代码我设在表的PrepareEdit中,此表作为关联表在窗口中操作时也偶尔会出现同样的问题,因为是偶尔出现,所以一直没有找到原因,才改在DataColChanging中设置

 


 回到顶部