在Recordset对象中查询记录的方法
最好是在用这个方法之前指定一个索引,可是,如果你没有指定索引, Jet database engine 将用主键。
如果你需要从多个字段中指定值做为搜索条件,可以用 VBA 中的 Array 函数传递这些值到参数 KeyValues 中去。如果你只需要从一个字段中指定值做为搜索条件,则不需要用 Array 函数传递。 象 Find 方法一样,你可以用 BOF 或者 EOF 属性测试是否查询到记录。 下面的一个例子显示了如何用 ADO Seek 方法查询记录: Sub SeekRecord(strDBPath As String, _ strIndex As String, _ strTable As String, _ varKeyValues As Variant, _ strDisplayField As String) ' This procedure finds a record by using ' the specified index and key values. ' For example, to use the PrimaryKey index to ' find records in the Order Details table in the ' Northwind database where the OrderID field is ' 10255 and ProductID is 16, and then display the ' value in the Quantity field, you can use a line ' of code like this: ' SeekRecord _ ' "c:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb", _ ' "PrimaryKey", "Order Details", Array(10255, 16), "Quantity" Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset ' Open the Connection object. Set cnn = New ADODB.Connection With cnn .Provider = "Microsoft.Jet.OLEDB.4.0" .Open strDBPath End With Set rst = New ADODB.Recordset With rst ' Select the index used to order the ' data in the recordset. .Index = strIndex ' Open the table by using a scrolling ' Recordset object. .Open Source:=strTable, _ ActiveConnection:=cnn, _ CursorType:=adOpenKeyset, _ LockType:=adLockOptimistic, _ Options:=adCmdTableDirect ' Find the order where OrderId = 10255 and ' ProductId = 16. .Seek KeyValues:=varKeyValues, SeekOption:=adSeekFirstEQ ' If a match is found, print the value of ' the specified field. If Not .EOF Then Debug.Print .Fields(strDisplayField).Value End If ' Close the Recordset object. .Close End With ' Close connection and destroy object variables. cnn.Close Set rst = Nothing Set cnn = Nothing End Sub 例如,用主键索引查询“罗期文商贸”示例数据库中“订单明细”表的“订单编号”等于 10255 并且产品编号等于 16 的 ” 数量 ” 的值,可以使用下面的代码: SeekRecord “c:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb”, _ “PrimaryKey”, “Order Details”, Array(10255,16), ”Quantity” ( 译者注:如果你安装的是简体中文版要将示例中引用的相应的字段名改成中文 ) 关键词:对象 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |