在DataTable查找符合条件的行,如果找到的话,返回找到的行,否则返回Nothing。
如果有多个符合条件的行,默认返回第一个,也可以指定返回第几个符合条件的行。
语法:
Find(Filter,Sort,Index)
Filter: 条件表达式,请参考表达式的运算符和函数 和 条件表达式。
Sort:
可选参数,指定排序方式。
Index: 可选参数,指定返回第几个符合条件的行,0表示第一行。
示例一:
Dim dr As
DataRow
dr = DataTables("产品").Find("产品编号 =
'03'") '找出编号为03的产品
With
DataTables("订单")
dr = .Find("产品 = 'PD01'","日期") '找出第一次订购PD01产品的记录
dr = .Find("产品 = 'PD01'","日期",1) '找出第二次订购PD01产品的记录
End With
示例二:
有的时候,我们需要查找倒数第几行数据,例如最近一次订购某产品的记录。
可以参考下面的代码:
Dim dr As DataRow
With DataTables("订单")
dr =
.Find("产品 = 'PD01'","日期 Desc") '找出最后一次订购PD01产品的记录
dr = .Find("产品 = 'PD01'","日期 Desc",1) '找出倒数第二次订购PD01产品的记录
End With
‘以上帮助里的,说的很明白,第二个参数是SORT 排序 用的,这里只能指定一个字段,可以用DESC 逆序排列,你上面的条件写错了。。。
dr = DataTables("设备库存").Find("[出库地点] = '" & e.datarow("原库地点") & "' and [设备名称] = '" & e.datarow(“设备名称”) & "'")
这样写看看对不。。如果要逆序可以加上排序字段