访问 sql 通过查询更改用户

Access sql pass through query change user

我的同事突然去世后,我继承了几个 Access 数据库。这些包含 sql 通过我无法 运行 的查询,因为他们正在寻找他的 odbc 连接与他存储的密码。如何更改与我的连接,以便查询 运行?

在查询属性 window 中,应该有一个名为 "ODBC Connect Str" 的字段。该值将如下所示:

ODBC;DSN=DatabaseName;UID=HisUserID;PWD=HisPassword;maybeOtherStuffHere

只需将 UID 和 PWD 值更改为您的值即可。您必须为每个查询执行此操作。

为此类事情拥有一个服务帐户也是一个好主意,这样您就不会 运行 在有人离开或无法联系时遇到问题。

Public Sub FixOwner()
    Dim oTable As TableDef
    For Each oTable In CurrentDb.TableDefs
        If oTable.Connect <> "" And InStr(oTable.Connect, "hisUserID") > 0 Then
            oTable.Connect = Replace(oTable.Connect, "HisUserID", "YourUserID")
            oTable.Connect = Replace(oTable.Connect, "HisPassword", "YourPassword")
        End If
    Next

    Dim oQuery As QueryDef
    For Each oQuery In CurrentDb.QueryDefs
        If oQuery.Connect <> "" And InStr(oQuery.Connect, "hisUserID") > 0 Then
            oQuery.Connect = Replace(oQuery.Connect, "HisUserID", "YourUserID")
            oQuery.Connect = Replace(oQuery.Connect, "HisPassword", "YourPassword")
        End If
    Next
End Sub