Foxtable(狐表)用户栏目专家坐堂 → 删除行出现的奇怪错误


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

主题:删除行出现的奇怪错误

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


加好友 发短信
等级:幼狐 帖子:95 积分:979 威望:0 精华:0 注册:2011/12/25 13:10:00
删除行出现的奇怪错误  发帖心情 Post By:2018/12/2 19:43:00 [只看该作者]

我在fa piao表的beforeselchange事件加了一下代码,是为了防止开piao窗口打开后,fa piao表的当前行被改变。

If forms("开piao").Opened=True And e.Table.current.DataRow.Rowstate<>dataRowstate.unchanged Then
    e.Cancel=True
End If

上面的加入后,开piao窗口没有打开的情况下,删除fa piao表的一行记录时,会报以下错误。上述代码在开piao窗口未打开的情况下,应该是不会执行的,就算执行也不影响删除动作。删除动作为未写任何代码,就是使用的是系统自带的删除

.NET Framework 版本:2.0.50727.8937
Foxtable 版本:2018.10.9.1
错误所在事件:SystemIdle
详细错误信息:
索引超出范围。必须为非负值并小于集合大小。
参数名: index


把    e.Cancel=True改成messagebox.show,也报错:
.NET Framework 版本:2.0.50727.8937
Foxtable 版本:2018.10.9.1
错误所在事件:fa piao表,BeforeSelChange
详细错误信息:
未将对象引用设置到对象的实例。

[此贴子已经被作者于2018/12/2 19:47:35编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/2 20:36:00 [只看该作者]

试试改成这样

 

If e.NewRange.RowSel >= 0 AndAlso e.OldRange.RowSel <> e.NewRange.RowSel  Then
    If forms("开piao").Opened=True And e.Table.current.DataRow.Rowstate<>dataRowstate.unchanged Then
        e.Cancel=True
    End If
End If


 回到顶部