表1           表2
字段1 字段2      字段1     字段2
 a    1        a       
 b   2               b
 c   3                a
                           c
                           c
                           a
我想实现与表1的字段1相同表2来对表2的字段2添加数据

解决方案 »

  1.   

    表1           表2
    字段1 字段2      字段1     字段2    
     a    1        a       
     b   2               b
     c   3                a
                               c
                               c
                               a
    我想得到的结果是:
             表2
          字段1     字段2    
           a         1      
                b          2
                 a          1
                  c          3
                  c          3
                  a          3
      

  2.   

    我想得到的结果是:
             表2
          字段1     字段2    
           a         1      
                b          2
                 a          1
                  c          3
                  c          3
                  a          1
      

  3.   

    Dim rs1 As New Recordset
    Dim rs2 As New Recordset
    Dim i%, j%
    rs1.Open 表一记录,数据库连接,adOpenDynamic, adLockBatchOptimistic
    rs2.Open 表二记录,数据库连接,adOpenDynamic, adLockBatchOptimistic
     Do While Not rs2.EOF
                For i = 0 To rs2.Fields.Count - 1
                    For j = 0 To rs1.Fields.Count - 1
                        If rs1(i).Name = rs2(j).Name Then
                            rs2(i) = rs1(j)
                        End If
                    Next
                Next
                rs2.UpdateBatch
            rs2.MoveNext
            Loop
      

  4.   

    以下是我对两个表打开,不知道有没有错啊
    还有你说的"rs1.Open 表一记录,数据库连接"是怎么个意思啊Private Sub Form_Load()
        Dim strConnect As String
        Dim a As Integer
        Dim strProvider As String
        Dim strDataSource As String
        Dim strDataBaseName As String
        strProvider = "Provider= Microsoft.Jet.OLEDB.3.51;"
        strDataSource = App.Path '得到应用程序所在的路径
        strDataBaseName = "\text.mdb;"
        strDataSource = "Data Source=" & strDataSource & _
            strDataBaseName '得到数据库的完整路径
        strConnect = strProvider & strDataSource
        Set connConnection = New ADODB.Connection
        connConnection.CursorLocation = adUseClient
        connConnection.Open strConnect '打开数据库
        Set rsRecordSet = New ADODB.Recordset
        rsRecordSet.CursorType = adOpenStatic '设置记录集的属性
        rsRecordSet.CursorLocation = adUseClient
        rsRecordSet.LockType = adLockPessimistic
        
        rsRecordSet.Source = "Select * From biao1"
        rsRecordSet.Source = "Select * From biao2"    rsRecordSet.ActiveConnection = connConnection
        rsRecordSet.Open '打开记录集
      

  5.   

    为了同时操作,我做了2个结果集做比较
     Set rsRecordSet = New ADODB.Recordset
        rsRecordSet.CursorType = adOpenStatic '设置记录集的属性
        rsRecordSet.CursorLocation = adUseClient
        rsRecordSet.LockType = adLockPessimistic
        
        rsRecordSet.Source = "Select * From biao1"
        rsRecordSet.Source = "Select * From biao2"    rsRecordSet.ActiveConnection = connConnection
        rsRecordSet.Open '打开记录集
    替换一下应该就可以了
       dim rsRecordSet1 = New ADODB.Recordset
       dim rsRecordSet2 = New ADODB.RecordsetrsRecordSet1.Open "Select * From biao1",connConnection,adOpenDynamic, adLockBatchOptimistic
    rsRecordSet2.Open "Select * From biao2",connConnection,adOpenDynamic, adLockBatchOptimistic
    Do While Not rsRecordSet2.EOF
                For i = 0 To rsRecordSet2.Fields.Count - 1
                    For j = 0 To rsRecordSet1.Fields.Count - 1
                        If rsRecordSet1(i).Name = rsRecordSet2(j).Name Then
                            rsRecordSet2(i) = rsRecordSet1(j)
                        End If
                    Next
                Next
       rsRecordSet2.UpdateBatch
       rsRecordSet2.MoveNext
       Loop
      

  6.   

    谢谢啊
    大哥
    不过编译发生错误
    Dim rsRecordSet1 As New ADODB.Recordset
    Dim rsRecordSet2 As New ADODB.Recordset
    rsRecordSet1.Open "Select * From biao1",connConnection,adOpenDynamic, adLockBatchOptimistic
    rsRecordSet2.Open "Select * From biao2",connConnection,adOpenDynamic, adLockBatchOptimistic
    不知道怎么了
    编译结果:
    compile error
    syntax error
      

  7.   

    以下是我的所有程序
    请大哥给看看
    非常谢谢
    Option Explicit
    Private connConnection As ADODB.Connection
    Private rsRecordSet As ADODB.Recordset
    Dim mblnAddMode As BooleanPrivate Sub cmdedit_Click()
    Dim i%, j%
    Dim rsRecordSet1 As New ADODB.Recordset
    Dim rsRecordSet2 As New ADODB.Recordset
    rsRecordSet1.Open "Select * From biao1",connConnection,adOpenDynamic, adLockBatchOptimistic
    rsRecordSet2.Open "Select * From biao2",connConnection,adOpenDynamic, adLockBatchOptimistic
    Do While Not rsRecordSet2.EOF
                For i = 0 To rsRecordSet2.Fields.Count - 1
                    For j = 0 To rsRecordSet1.Fields.Count - 1
                        If rsRecordSet1(i).Name = rsRecordSet2(j).Name Then
                            rsRecordSet2(i) = rsRecordSet1(j)
                        End If
                    Next
                Next
       rsRecordSet2.UpdateBatch
       rsRecordSet2.MoveNext
       LoopEnd SubPrivate Sub cmdexit_Click()
    Unload Me
    End
    End SubPrivate Sub Form_Load()
        Dim strConnect As String
        Dim a As Integer
        Dim strProvider As String
        Dim strDataSource As String
        Dim strDataBaseName As String
        strProvider = "Provider= Microsoft.Jet.OLEDB.3.51;"
        strDataSource = App.Path '得到应用程序所在的路径
        strDataBaseName = "\text.mdb;"
        strDataSource = "Data Source=" & strDataSource & _
            strDataBaseName '得到数据库的完整路径
        strConnect = strProvider & strDataSource
        Set connConnection = New ADODB.Connection
        connConnection.CursorLocation = adUseClient
        connConnection.Open strConnect '打开数据库
        Set rsRecordSet = New ADODB.Recordset
        rsRecordSet.CursorType = adOpenStatic '设置记录集的属性
        rsRecordSet.CursorLocation = adUseClient
        rsRecordSet.LockType = adLockPessimistic
        rsRecordSet.Source = "Select * From biao1"
        rsRecordSet.Source = "Select * From biao2"
        rsRecordSet.ActiveConnection = connConnection
        rsRecordSet.Open '打开记录集
       
    End Sub
      

  8.   

    Private Sub Form_Load()
    Dim strConnect As String
    Dim a As Integer
    Dim strProvider As String
    Dim strDataSource As String
    Dim strDataBaseName As String
    strProvider = "Provider= Microsoft.Jet.OLEDB.3.51;"
    strDataSource = App.Path '得到应用程序所在的路径
    strDataBaseName = "\text.mdb;"
    strDataSource = "Data Source=" & strDataSource & _
        strDataBaseName '得到数据库的完整路径
    strConnect = strProvider & strDataSource
    Set connConnection = New ADODB.Connection
    connConnection.CursorLocation = adUseClient
    connConnection.Open strConnect '打开数据库
    Dim rsRecordSet1 As New ADODB.Recordset
    Dim rsRecordSet2 As New ADODB.Recordset
    rsRecordSet1.Open "Select * From biao1", connConnection, adOpenDynamic, adLockBatchOptimistic
    rsRecordSet2.Open "Select * From biao2", connConnection, adOpenDynamic, adLockBatchOptimistic
    Do While Not rsRecordSet2.EOF
        Do While Not rsRecordSet1.EOF
             If rsRecordSet1(0) = rsRecordSet2(0) Then
                rsRecordSet2(1) = rsRecordSet1(1)
                rsRecordSet2.UpdateBatch
             End If
        rsRecordSet1.MoveNext
        Loop
    rsRecordSet2.MoveNext
    Loop
    End Sub你试试
      

  9.   

    呵呵,其实我做vb也没多久,我以前都在做JAVA这半年有需要才学的VB,也不是什么高手,代码有问题不要怪我啊!
      

  10.   

    才那个代码有点问题,我执行了一下,下面的好用
    Private Sub Form_Load()
    Dim strConnect As String
    Dim a As Integer
    Dim strProvider As String
    Dim strDataSource As String
    Dim strDataBaseName As String
    strProvider = "Provider= Microsoft.Jet.OLEDB.3.51;"
    strDataSource = App.Path '得到应用程序所在的路径
    strDataBaseName = "\text.mdb;"
    strDataSource = "Data Source=" & strDataSource & _
        strDataBaseName '得到数据库的完整路径
    strConnect = strProvider & strDataSource
    Set connConnection = New ADODB.Connection
    connConnection.CursorLocation = adUseClient
    connConnection.Open strConnect '打开数据库
    Dim rsRecordSet1 As New ADODB.Recordset
    Dim rsRecordSet2 As New ADODB.Recordset
    rsRecordSet1.Open "Select * From biao1", connConnection, adOpenDynamic, adLockBatchOptimistic
    rsRecordSet2.Open "Select * From biao2", connConnection, adOpenDynamic, adLockBatchOptimistic
    Do While Not rsRecordSet2.EOF
        Do While Not rsRecordSet1.EOF
             If rsRecordSet1!字段名 = rsRecordSet2!字段名 Then'将要比较的字段名替换
                rsRecordSet2!字段名 = rsRecordSet1!字段名’将要赋值的字段名替换
                rsRecordSet2.UpdateBatch
             End If
        rsRecordSet1.MoveNext
        Loop
        rsRecordSet1.MoveFirst
    rsRecordSet2.MoveNext
    Loop
    End Sub