我的程序要实现根据用户在界面的点击,切换窗体的数据源,
也就是有A、B两个查询,
大部分字段的值相同,区别是B在A基础上多了合计的字段,
切换是设定recordsource属性为A或者B很容易实现切换,但切换后,记录就自动移动到了第一条,而不是在原来那条。
A、B的关键字一样,
比如A:
ID LENGTH WEIGHT
01    45      78
02     457  658
B:
ID LENGTH WEYGHT TOTAL
01  45     78    45*78
02  457    658   457*658
我要的是当A为RECORDSET时候,记录在02上,那么切换为B为当前记录集的时候,记录也应该在02上,而不是01上,该怎做呢?

解决方案 »

  1.   

    用公共变量记录RSTA的INDEX,切换到RSTB时,将记录集移到INDEX就可以了
      

  2.   

    切换的时候: 
    dim strID as string
    strID=RstA!F_ID接着切换, 然后:RstB.Findfirst ("[ID] ='" & strID & "'")定位的记录就是你要的了
      

  3.   

    切换的时候: 
    dim strID as string
    strID=RstA!ID接着切换, 然后:RstB.Findfirst ("[ID] ='" & strID & "'")定位的记录就是你要的了
      

  4.   

    具体的题意没看,但是可以试试Private Sub Command2_Click()
        rs.AbsolutePosition = 1  'rs为指定的ADO的RecordSet
    End Sub
      

  5.   

    哎,都不行,可能是因为我用的是DAO吧
      

  6.   

    dim rsBookMark as double
    rsBookMark=RsA.book
    接着切换, 然后:
    rsB.book=rsBookMark
      

  7.   

    rs2.MoveFirst
       rs2.Move rs1.Index