作为老年新手,大年初一晚上通宵不睡,解决不了以下问题,特此请教专家大咖:
数据表行排序,采用移动行位置的方式,代码在命令窗口运行没问题。在程序窗口中打开后,运行经常出错。通过观察发现,如果用鼠标任意点击一下table,运行就能正常。如果不点击,则不能正常进行排序。代码中加入表格选择相关命令,也不能解决问题。代码如下:
Dim c As Integer = Tables("当日积分表").Rows.count()
For j As Integer = 0 To c-1 '如果有15行,则只需要用下面14行来比较冒泡.15行循环14次.循环次数=行数-1
For i As Integer = c-1 To 1 Step -1 '内循环,第一层冒泡,从最后一行开始.i = 当前行的序号
Dim dqh As Row = Tables("当日积分表").Rows(i) '当前行
If dqh("计工") = False Then '如果计工无效,则退出,不继续计算,开始倒数第二行的比较
Continue For 'Exit For
Else
Tables("当日积分表").Position = i
Dim n As Integer = Tables("当日积分表").Position
Dim bjh As Row = Tables("当日积分表").Rows(i-1) '比较行
If bjh("计工") = False OrElse dqh("原始名次") < bjh("原始名次") Then
Syscmd.Row.MoveUp()'选择当前行,并上移
End If
End If
Next
Tables("当日积分表").Position = c-1
Next