Foxtable(狐表)用户栏目专家坐堂 → [求助]这段代码为何只能删除一半的行数


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

主题:[求助]这段代码为何只能删除一半的行数

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


加好友 发短信
等级:童狐 帖子:294 积分:4701 威望:0 精华:0 注册:2011/5/28 8:21:00
[求助]这段代码为何只能删除一半的行数  发帖心情 Post By:2012/11/6 20:01:00 [只看该作者]

下面这段代码每次执行只能删除当前表一半的行数,不知问题在何处,请高手指点

If Tables("人资_绩效写实").rows.Count > 0
    Dim i As Integer = Tables("人资_绩效写实").rows.Count
    Dim Result As DialogResult
       Result = MessageBox.Show("不可逆,确定删除这" & i & "行数据", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then
            For Each r As Row In Tables("人资_绩效写实").Rows
                r.locked = False
                r.delete()
            Next
            DataTables("人资_绩效写实").save()
        End If
  End If


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/11/6 20:30:00 [只看该作者]

可以在这里找到原因:

http://www.foxtable.com/help/topics/0599.htm

 

建议你将代码改为:

 

For n A integer = Tables("人资_绩效写实").Rows.Count -1 To 0  Step -1

     Tables("人资_绩效写实").Rows(n).Delete()

Next


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


加好友 发短信
等级:童狐 帖子:294 积分:4701 威望:0 精华:0 注册:2011/5/28 8:21:00
  发帖心情 Post By:2012/11/6 20:49:00 [只看该作者]

谢谢狐爸指点,看来还要多啃帮助...

 回到顶部