Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

VBA中使用ADO管理链接表时,open出错

闫新明  发表于:2020-04-17 14:53:30  
复制

VBA中使用ADO管理链接表时,更新链接表时,出现:材料表#-2147417848 ,方法open作用于对象‘-connection’时失败。请问如何解决。

 

Top
闫新明 发表于:2020-04-17 14:56:54

补充:一下是VBA,来自网上,以前用的很好,最近出现问题,在另一台电脑上正常。

 On Error GoTo Err_GetConnect
    Dim strConnect  As String       '连接字串
    Dim cnn         As Object       'ADODB.Connection
    Dim strDB       As String
    
    strDB = Me.txtDatabase
    If strDB Like ".\*" Then strDB = CurrentProject.Path & Mid(strDB, 2)
    Me.lblTip.Caption = conMsgConnecting
    Me.Repaint
    MsgBox "1"
    '使用Access数据库时
    Select Case Me.grpDatabaseType
    Case Me.optDBTypeAccess.OptionValue
    MsgBox "12"
        '先用ADO通过OLEDB直接连接数据库进行测试
        'strConnect = "Provider=Microsoft.Jet.OLEDB.4.0" & _
                     ";Data Source=" & strDB & _
                     ";Jet OLEDB:Database Password=" & Nz(Me.txtPassword)
                     
        strConnect = "Provider=Microsoft.ACE.OLEDB.12.0" & _
                     ";Data Source=" & strDB & _
                     ";Jet OLEDB:Database Password=" & Nz(Me.txtPassword)
     MsgBox "121"
        Set cnn = CreateObject("ADODB.Connection")
        cnn.ConnectionString = strConnect
'        cnn.CommandTimeout = 180
MsgBox "1211"
        cnn.Open        ‘问题出在这里
MsgBox "12111"
        cnn.close
MsgBox "1212"
        '未出错说明设置正确,返回链接表需要的连接字串
        GetConnect = "MS Access" & _
                     ";DATABASE=" & strDB & _
                     ";UID=" & Me.txtUserName
    MsgBox "122"
        If Nz(Me.txtPassword) <> "" Then GetConnect = GetConnect & ";PWD=" & Me.txtPassword

    '使用SQL Server数据库时



总记录:1篇  页次:1/1 9 1 :