最好有原代码。我开始是用book,但是好象不可以哦
请各位帮忙拉!

解决方案 »

  1.   

    Dim CN As New ADODB.Connection
        Dim Rs As New ADODB.Recordset
        Dim temp As New ADODB.Recordset
        CN.ConnectionString = "Provider=sqloledb;Data Source=pmserver;Initial Catalog=Report;User Id=sa;Password=sa;"
        CN.Open
        Rs.CursorLocation = adUseClient
        Rs.Open "select * from table1", CN, adOpenDynamic, adLockBatchOptimistic
      Set temp = Rs.Clone  '这个就可以
      

  2.   

    我需要一条记录一条记录的比较啊,如果符合条件,则把当前记录复制到新记录中,然后循环比较。直到rs.eof
      

  3.   

    Set temp = Rs.Clone  '这个是复制整个的有选择的复制到另一个recordset里,这样吧,
    temp.addnew
    temp.fields("name")=Rs.fields("name")有多条记录就做循环
      

  4.   

    如果两个记录集结构都一样
    For i = 1 To Rs.Fields.Count
        temp.Fields(i) = Rs.Fields(i)
    Next
      

  5.   

    它说temp没有打开啊??我是Dim temp As New ADODB.Recordset啊~~
      

  6.   

    那你只要在当前的查询语句中加入Where 你的条件
    就可以了
      

  7.   

    不是那么简单的,我要是可以用where语句就简单拉,我需要在sql中使用自定义的函数,但是sql不支持哦
      

  8.   

    temp.Open "select TOP 0 * from table1", CN, adOpenDynamic, adLockBatchOptimistic先打开一个只有表结构的数据集
    然后再将RS中的数据写到TEMP中
    For i = 1 To Rs.Fields.Count
        temp.Fields(i) = Rs.Fields(i)
    Next
      

  9.   

    temp
    RS
    要求表结构一样
      

  10.   

    呵呵,这个问题我问过!
    出了循环好像没有什么好办法!用clone会改变recordset的datasource!
      

  11.   

    但是还有一种方法:
    可以用SQL语句查询出所要的记录,生成临时表,然后另一个记录集对象打开临时表就行了。
      

  12.   

    lihonggen0(李洪根,用.NET,标准答案来了)   说的对~chenyu5188(蓝色情调)    说的也对~他们都说了,我就不说了,哈哈~相信这2个高手吧~简直就是中国的VB之最~~顶顶~~~
      

  13.   

    我用的是access2000,好象不支持temp.Open    "select  TOP  0  *  from  table1  ",  CN,  adOpenDynamic,  adLockBatchOptimistic  
    这样的语句哦,不过我最后还是实现了
    很麻烦用临时表。
    谢谢大家