有两个数据库:db1.mdb,db2.mdb
格式如下:
db1:                                     db2:           
  x1_db1  x2_db1  x3_db1  x4_db1          x1_db2  x2_db2  x3_db2  x4_db2
   名字            数据                     名字           数据实现的目的:if x1_db1=x1_db2 then       x3_db1=x3_db2  end if我用两个for循环实现:
 For i = 0 To db1.RecordCount - 1
            For j = 0 To db2.RecordCount - 1
                If rs1.Fields("x1_db1").Value = rs2.Fields("x1_db2").Value Then
                   rs1.Fields("x3_db1").Value = rs2.Fields("x3_db2").Value
                   Exit For
                 Else
                    rs2.MoveNext
                 End If
            Next
            rs1.MoveNext
 Next
但是我的两个数据库都有上万行数据,这样比较的话速度很慢很慢,有没有其他好的方法能实现我上述的目的呢?
请帮我!!!

解决方案 »

  1.   

    strSQL = "update db1 set db1.x3_db1 = db2.x3_db2 from db1, db2 where db1.x1_db1 = db2.x1_db2"
    Conn.execute strSQL
      

  2.   

    你说的是一个数据库中的两张表db1,db2,还是这两张表同属于一个数据库?
    如果是同一个数据库中的两张表,那么建议你新建一个视图:
    x1_db1,x1_db2,x3_db1,x3_db2
    这样查询和修改效率不是都提高了?
      

  3.   

    DimVar() ( ) 信誉:100 最佳
      

  4.   

    用SQL语句。
    将x1_db1  与x1_db2  建立关联。
      

  5.   

    ACCESS的话这样:
    strSQL = "UPDATE db1 INNER JOIN db2 ON db1.x1_db1 = db2.x1_db2 SET db1.x3_db1 = db2.x3_db2“
    Conn.execute strSQL