以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [讨论]这代码哪里出错了?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88657)

--  作者:幸福地微笑
--  发布时间:2016/8/7 5:38:00
--  [讨论]这代码哪里出错了?

寻求大师指点!

 

    Dim k As Integer = Tables("年级统计").Rows.Count
    If k <= 0 Then
        msgbox("数据表空白,无数据!")
    Else
        For kk As Integer = 0 To k
            Tables("年级统计").Rows.Delete(Tables("年级统计").Rows.Count- 1)
            kk = kk - 1
        Next
    End If

 

设想:定义变量k取得“年级统计”这个表的行数,当这个表的存在有数据(行数大于0)时,把存在有的数据全部删除清空,但不知为何,在有数据存在时总是会下图的提示(我用显示信息MSGBOX(KK)得出的结果就是图中的值 -1 ,而并不是数据真实的行数),但再次执行时却已经发现数据已经清空!但就在清空完数据后就停止了运算了!(后面的代码没有执行到)

 

 求解!



此主题相关图片如下:错误提示1.png
按此在新窗口浏览图片
[此贴子已经被作者于2016/8/7 5:41:09编辑过]

--  作者:kylin
--  发布时间:2016/8/7 7:21:00
--  
For kk As Integer = k-1 To 0
dim dr as datarow = dataTables("年级统计").dataRows(i)
dr.delete
                  
Next
[此贴子已经被作者于2016/8/7 8:57:07编辑过]

--  作者:wpeo
--  发布时间:2016/8/7 8:37:00
--  
For kk As Integer = 0 To k-1
            Tables("年级统计").Rows.Delete(Tables("年级统计").Rows.Count- 1)
            \'kk = kk - 1
        Next
--  作者:幸福地微笑
--  发布时间:2016/8/7 13:47:00
--  

谢谢各位大师指导!顺利解决!

[此贴子已经被作者于2016/8/7 13:47:25编辑过]