随机抽取大量记录
如果随机抽取的记录较多,可以考虑增加一个逻辑列,假定逻辑列的名称为“选择”,可以参考下面的代码:
Dim cnt As Integer = DataTables("订单").DataRows.Count
Dim nds As Integer = 100 '要抽取的记录数
Tables("订单").StopRedraw()
DataTables("订单").ReplaceFor("选择",False)
Do
Dim idx As Integer = rand.Next(0,cnt)
Dim dr As DataRow = DataTables("订单").DataRows(idx)
If dr("选择") = False Then
dr("选择") = True
nds = nds - 1
End If
Loop While nds > 0
Tables("订单").Filter = "[选择] = True"
Tables("订单").ResumeRedraw()
上面的代码从订单表中随机抽取100个订单。
建议逻辑列“选择”采用表达式列,不要给其设置表达式即可,因为:没有设置表达式的表达式列,可以通过代码设置此列的值。
请问: 因为:没有设置表达式的表达式列,可以通过代码设置此列的值。 这句话我没懂, 请问是什么意思啊?