把搜索到的结果复制给另一张表。dim Rst1 as adodb.recordsetset Rst1=SearchSourceValue  'SearchSourceValue是一个函数,代码在下面Dim Rst2 As New ADODB.Recordset
Dim StrConn2 As String
Dim SQLConn2 As String
StrConn2 = "Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceDB=c:\dbf\;SourceType=DBF"
Conn2.CursorLocation = adUseClient
Conn2.Open StrConn2
Rst2.Open "select * from temp.dbf", Conn2, adOpenStatic, adLockOptimistic
'运行下面一句话的时候出错,告诉我对象没有打开
rst1.movefirst
While Not Rst1.EOF
      Rst2.AddNew
      Dim h As Integer
      For h = 0 To Rst1.Fields.Count - 1
        Rst2.Fields(h) = Rst1.Fields(h)
      Next h
      Rst2.Update
      Rst1.MoveNext
Wend
Private Function SearchSourceValue() As ADODB.Recordset    Dim StrSQL As String
    Dim Conn As New ADODB.Connection
    Dim StrConn As String
    Dim Rst As New ADODB.Recordset    StrSQL = "select * from 1.dbf"
    StrConn = "Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceDB=c:\dbf\;SourceType=DBF"
    If Conn.State = 1 Then
       Conn.Close
    End If
    If Rst.State = 1 Then
       Rst.Close
    End If
    Conn1.Open StrConn
    Rst1.Open StrSQL, Conn, adOpenStatic, adLockOptimistic
    set SearchSourceValue=Rst
End Function

解决方案 »

  1.   

    用不着那么复杂:
    Dim Conn As New ADODB.Connection
    Conn.Open "Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceDB=c:\dbf\;SourceType=DBF"Conn.Execute "select * into temp.dbf from 1.dbf"
      

  2.   

    to of123() :VB提示我语法错误!
      

  3.   

    Dim Conn As New ADODB.Connection
    Conn.Open "Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceDB=c:\dbf\;SourceType=DBF"Conn.Execute "insert into temp.dbf select * from 1.dbf"
      

  4.   

    Dim Conn As New ADODB.Connection
    Conn.Open "Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceDB=c:\dbf\;SourceType=DBF"Conn.Execute "insert into temp.dbf select * from 1.dbf"
      

  5.   

    Conn.Execute "insert into temp.dbf select * from 1.dbf"