是无源数据库,也就是ActiveConnection和Provider都 是空值。数据表创建过程如下
Dim us As New Recordset
us.Fields.Append "User", adChar, 15
us.Fields.Append "Name", adChar, 20
us.Index = "ID"
us.Open
us.AddNew
us("ID") = 1
us("User") = "塔顶"
us("Name") = "sdff"
us.Update这样的表只能进行find和Filter操作。由于大部分过程传递变量都是一个数字索引。所以很想使用seek方法。但有个前提,所有数据都是脱离数据库文件的。

解决方案 »

  1.   

    先检查你的记录集 rs.Supports(adSeek)是否为真
      

  2.   

    rs.Supports(adSeek)和rs.Supports(adIndex)都是假,如果是真当然就没问题了。不是废话吗。
      

  3.   

    还想请教Filter和Find哪个会快些。find必须先把指针移动到第一行,如果用Filter筛选过,不是还要重新筛选才能find吗,筛选的结果是唯一的。感觉还是直接筛选就行了。
      

  4.   


    用途不同
    find用过不改变当前显示的数据前提下,找到需要的数据,可能存在满足find条件的数据有多条数据,需要一个处理方法。find只能对一个对某个字段进行filter一般会改变当前的显示数据,只显示满足条件的数据,filter可以使用OR于AND运算符
      

  5.   

    就是说 Seek 其实是通过数据库来实现定位的,在大数据量时不需要将数据取到客户端就能进行定位。
    而无源记录集数据全部在内存中,直接 Find 就可以了。