rs.Open "select * from data1 where id='" & "100" & "'
把它定位在ID=100的那一条,然后还可以执行前后移动记记录怎么写?
我原来是打开rs.Open "select * from data1",然后一条条检验,检到那一条后停后,这样之后就可以移动记录,不过速度奇慢!~~

解决方案 »

  1.   

    如果你的ID采用自动编号,那这条记录时唯一的,查询返回的结果就是只有一条记录,根本不存在前后移动。
      如果你一定要移动,先关闭RS,然后再打开RS。
      

  2.   

    dim ID as string
    ID = "100"
    rs.Open "select top 1 * from data1 order by id                               'F
    rs.Open "select top 1 * from data1 where id<'" & ID & "' order by id desc    'P
    rs.Open "select top 1 * from data1 where id>'" & ID & "' order by id         'N
    rs.Open "select top 1 * from data1 order by id desc                          'L
      

  3.   

    rs.Open "select * from data1"
    rs.Find "id='100'"
      

  4.   

    用Move n试一下,其中n代表移动n条记录
      

  5.   

    可以用recordset的find方法定位数据。然后还可以移动的。
      

  6.   

    对了,用find可以移动,不过2000多条数据,要等好一阵。。
      

  7.   

    用你的方法,是不可以随意移动的,它只返回了你给你条件的记录,你只以须这些符合条件的记录中移动(如果你的ID的没有重复记录的话那就只返回一条,不能移动了)1\如果你的资源的要求不是很严格的话,你可以每定位一条时使用一次 rs.open  .2\ 一次打开全部记录,然后每次使用时进行移动,rs.move  (这个使用不方便)