看看这样行不行:假设当前与SQL库连接ACCESS库名为TempName表名为tablename用如下语句insert into TempName..tablename select * from SQLtablename

解决方案 »

  1.   

    可以参照MS Transaction SQL的sp_addlinkedserver帮助
      

  2.   

    提一个非常笨的办法,我不知道sql里有没有你所需要的语句,你把sqlserver里面的数据区出来然后再往access里面写了,其实我说得你也知道,就是觉得太麻烦了,就当我来灌水好了
      

  3.   

    用select * into 新表名(可以是不同的外部数据库中的新建表,就是你的要求) from ....
      

  4.   

    dim con as adodb.connection
    Set con = New ADODB.Connection
    con.Provider = "Microsoft.Jet.OLEDB.3.51"
    con.Open mdbNameRemoteConnect = "'odbc' 'odbc;driver=sql server;uid=sa;pwd=;server=" & g_strServer & ";database=" & g_strDataBaseName & ";'"con.execute "select * into mdbTabName from sqlTabName in " & remoteconnect
    注意:con是Ado的Connection,是Access的Mdb的Connection
      

  5.   

    如果目标Table已经存在的话用Insert Into就可以啦,不过似乎这种方法效率很低...
    set rsSource=DB.OpenRecordSet("SELECT * FROM SOURCE_TABLE")Do Until rsSource.EOF
       strSql="INSERT INTO TAGER_TABLE VALUES(" '"&rsSource.Fields("F1") & "'," & _
                                                '"&rsSource.Fields("F2") & "'," & _
                                                ....  
                                                '"&rsSource.Fields("Fn") & "' ") "   conn.Execute(strSql)Loop
      

  6.   

    如果Aceess中的目标表已经存在呢?(也就是说我现在只是想往里面继续的添加数据!)
    可以一次打开两个数据源吗?应该不行吧...
      

  7.   

    SELECT  * into new_titles from titles
      

  8.   

    可以这样写:
    select * into [;database=YourMDBFileName.mdb].YourTableName from SQLServerTableName
    请注意,执行该语句的database对象必须是连接在sql server上的。
    本程序引用dao360.dll另外:ADO好像没有此功能,有谁知道的话告诉我一声:)详细情况可以参见VB的visdata.exe的源程序,有数据导入导出功能(即从SQL SERVER导出到ACCESS上)。
      

  9.   

    SQL7带有一个DTS功能,如果你装过客户端程序可以使用它的类库。EnterpriseManager中的DTS Package设计器其实就是在调用DTS类库。DTS非常强大,做异种DBMS之间的数据传输正是它的强项。
    你可以先设计好一个数据传送步骤,然后存成DTS文件,只需在程序里面调用这个DTS文件,然后把本地数据库的路径修改一下即可。
    注:DTS--Data Transfer Service(数据传送服务)
      

  10.   

    to haor
    ado当然可以,反正是执行一个sql查询,有什么不可以的。我上面的回答就是对ado而言的。