以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]删除行报错  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=180211)

--  作者:wldhj
--  发布时间:2022/10/7 17:06:00
--  [求助]删除行报错
在BeforeDeleteDataRow中写入如下代码:
Dim rcount As Integer = Tables("表A").BottomPosition - Tables("表A").TopPosition
If rcount > 0 Then
    e.Cancel = True
    MessageBox.Show("一次只能删除一行!")
End If

详细错误信息:
调用的目标发生了异常。
索引超出范围。必须为非负值并小于集合大小。
参数名: index

--  作者:有点蓝
--  发布时间:2022/10/8 9:07:00
--  
应该不是这里的问题,检查其它地方代码
--  作者:wldhj
--  发布时间:2022/10/8 16:14:00
--  
不是的,我试了,就是这段代码的问题。选择多行就会报错
--  作者:有点蓝
--  发布时间:2022/10/8 16:31:00
--  
请上传实例说明
--  作者:wldhj
--  发布时间:2022/10/8 17:11:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.rar

[此贴子已经被作者于2022/10/8 17:18:20编辑过]

--  作者:有点蓝
--  发布时间:2022/10/8 17:32:00
--  
应该是个bug,我反馈一下。

临时可以这样解决
If Tables("表A").BottomRow < 0 Then
    e.Cancel = True
    e.Continue = False
    MessageBox.Show("一次只能删除一行!")
End If