You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Access VBA获取链接表连接字符串丢失分号触发3305错误

Access VBA链接表连接字符串异常问题

今早发现,在VBA中从SQL Server链接表获取连接字符串时,字符串开头为ODBCDRIVER=而非正确的ODBC;DRIVER=。将该字符串用于QueryDef时,触发错误3305:传递查询中的连接字符串无效。此前该函数返回的连接字符串正常,且未修改相关代码。

以下是获取连接字符串的函数及db函数:

Public Function GetObjectConnectString(ObjectName As String, ObjectType As String) As String

    GetObjectConnectString = vbNullString
    
    Dim ConnectString As String
    
    Select Case ObjectType
        Case "Table"
            ConnectString = db.TableDefs(ObjectName).Connect
        Case "Query"
            ConnectString = db.QueryDefs(ObjectName).Connect
    End Select
    
    GetObjectConnectString = ConnectString
    
End Function
Private my_db As DAO.Database

Public Function db() As DAO.Database
    Set db = my_db

ErrEx.Catch 91, 3420 'no longer set
    Set my_db = CurrentDb
    Resume 

End Function

已尝试重装Office,但问题依旧。请问这是预期行为吗?是否需要手动添加分号来处理?

使用环境:

  • Microsoft Access for Microsoft 365 MSO(版本2312 内部版本16.0.17126.20078)64位
  • Microsoft Visual Basic for Applications 7.1 版本1131

内容的提问来源于stack exchange,提问作者Brenda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 17:39:52