以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 删除行出现的奇怪错误 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=128270) |
-- 作者:我要高飞 -- 发布时间:2018/12/2 19:43:00 -- 删除行出现的奇怪错误 我在发票表的beforeselchange事件加了一下代码,是为了防止开票窗口打开后,发票表的当前行被改变。 If forms("开票").Opened=True And e.Table.current.DataRow.Rowstate<>dataRowstate.unchanged Then e.Cancel=True End If 上面的加入后,开票窗口没有打开的情况下,删除发票表的一行记录时,会报以下错误。上述代码在开票窗口未打开的情况下,应该是不会执行的,就算执行也不影响删除动作。删除动作为未写任何代码,就是使用的是系统自带的删除 .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 错误所在事件:发票表,BeforeSelChange 详细错误信息: 未将对象引用设置到对象的实例。 [此贴子已经被作者于2018/12/2 19:47:35编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/12/2 20:36:00 -- 试试改成这样
If e.NewRange.RowSel >= 0 AndAlso e.OldRange.RowSel <> e.NewRange.RowSel Then |