Office中国论坛/Access中国论坛

标题: 求助:帮忙看看代码有什么问题? [打印本页]

作者: 孤帆远影    时间: 2011-5-26 00:45
标题: 求助:帮忙看看代码有什么问题?
有本地Access数据库 Test1
有远程Sqlserver 数据库Test2,表aaa

将Sqlserver中Test2.aaa 复制到本地Test1中。

SUB Test()
        On Error GoTo aaa
        Dim ErrorCode As Long
        Dim cnnA As New ADODB.Connection
        Dim rsA As New ADODB.Recordset
        Dim cnnAStr, StrAccess As String
        cnnAStr = "rovider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Test1.mdb"
        cnnA.Open cnnAStr
        
        Dim cnnS As New ADODB.Connection
        Dim rsS As New ADODB.Recordset
        Dim cnnSStr, StrSql As String
        cnnSStr = "rovider=SQLOLEDB;Data Source=123.45.54.321;Database=Test2;User ID=saassword=123"
        cnnS.Open cnnSStr
        
        
        StrAccess = "select * from aaa"
        rsA.Open StrAccess, cnnA, adOpenStatic, adLockOptimistic
        If ErrorCode = 0 Then
            rsA.Close
            Set rsA = Nothing
            '表已存在!","
            cnnA.Execute ("Drop Table  aaa")
        End If
        StrSql = "select * into aaa from [" & cnnSStr & "].aaa"
        Set rsA = cnnA.Execute(StrSql)
        rsA.Close
        Set rsA = Nothing
        MsgBox "ok!"
        Exit Sub
aaa:
        ErrorCode = Err.Number
        Resume Next
End Sub

执行到红色一行,报错:-2147467259   找不到可安装的 ISAM。
检查注册表没法现问题。两个数据库连接正常。
感觉问题出在 StrSql = "select * into aaa from [" & cnnSStr & "].aaa"
请高手帮忙!


作者: 孤帆远影    时间: 2011-5-26 12:03
没人能帮忙吗?
作者: roych    时间: 2011-5-26 13:48
cnnS.Open cnnSStr只是打开数据库连接。还应该打开表。aaa是里面的表吧?改成这样看看?
StrSql = "select * into aaa from aaa",只是你的生成表怎么会跟生成表查询同名呢?这很是

作者: 孤帆远影    时间: 2011-5-28 15:24
回复 roych 的帖子

目前就是打开记录集时出的问题。
我觉得 StrSql = "select * into aaa from [" & cnnSStr & "].aaa"
中的[" & cnnSStr & "].aaa 应该是远端的sqlserver的表。后面是打开本地access记录集。
想实现的应该是 select * into 本地access.aaa from 远端sqlserver.aaa。
作者: aslxt    时间: 2011-5-29 18:14
本帖最后由 aslxt 于 2011-5-30 12:41 编辑

直接在查询中试一下,应该可行:
select * into 本地access表 from [ODBC;Driver=SQL Server;Server=服务器IP;Uid=sql用户登录名;wd=sql登录密码;database=sql服务器数据库名].sql表名




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3