Position

返回或设置当前行位置。
和Current一样,Position在计算的时候,排除汇总模式下的分组行,如果你选择了分组行,此时Position返回-1。
 

所以如果判断当前行是否是分组行时,可以用如下的代码:

If CurrentTable.Position = -1 Then
    Output.Show(
"这是一个分组行!")

End If

利用Position属性,我们可以选择指定位置的数据行,例如:

CurrentTable.Position = 4 '选择第5行。

再例如,我们要选定第一个折扣大于0.1的订单行上:

Dim t As Table = Tables("订单")
For
i As Integer = 0 To t.Rows.Count -1
    If
t.Rows(i)("折扣") > 0.1 Then
        t
.Position = i
        Exit For
    End If
Next

当然上面的查找,用Table的Find或者FindRow方法实现更合理一些,但是也有一些场合,查询的不是一个值,也无法用表达式描述,此时就可以参考上面的代码来实现。

再例如,如果需要在窗口或者菜单中增加一些按钮,用于定位到第一行、上一行、下一行、最末行,可以参考下面的代码:

第一行:

Tables("订单").Position = 0

上一行:

With Tables("订单")
    .Position = .Position -
1
End
With

下一行:

With Tables("订单")
    .Position = .Position +
1
End
With

最末行:

With Tables("订单")
    .Position = .Rows.Count -
1
End
With


本页地址:http://www.foxtable.com/webhelp/topics/0446.htm