请教高手:如何把一个数据库中的一个数据表的内容全部复制到另外一个数据库中?我用的是ACCESS数据库,使用connection.excute("select * into "目标数据表" in "目标数据库" from "源数据表"")总是有错,请问该如何写?

解决方案 »

  1.   

    先用记录集打开一个表,然后直接用INSERT INTO ,然后执行就可以了。你那样写不行。
      

  2.   

    http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=195052测试成功,亲身经历!
      

  3.   

    private sub CopyAlltable()
        Dim cn As ADODB.Connection
        Dim rs As New ADODB.Recordset
        Set cn = New ADODB.Connection    cn.CursorLocation = adUseClient
        cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\A.mdb;"
        Set rs = cnDatabase.OpenSchema(adSchemaTables)
        Do While Not rs.EOF
            '将旧数据库中的各个表复制到新数据库中
            If rs.Fields("TABLE_TYPE") = "TABLE" Then 
                cn.Execute "select * into "& _
                   "[C:\newdb.mdb;].[" & rs.Fields("TABLE_NAME") & "]“& _
                   ” from [" & rs.Fields("TABLE_NAME") & "]"
            end if 
            rs.MoveNext
        Loop
        rs.Close
        set rs=nothing
        cn.close
        set cn=nothing
    end sub
      

  4.   

    connection.excute("select * into "目标数据表" in "目标数据库" from "源数据表"")
    你这样写vb里会把 目标数据表、目标数据库、源数据表看成变量。
    改成这样:
    ("select * into ""目标数据表"" in ""目标数据库"" from ""源数据表"")
    或("select * into 目标数据表 in 目标数据库 from 源数据表")
      

  5.   

    分二种情况:
    不存在表:select * into
    存在表: insert * into