2017-04-20 78 views
0

当我的同事突然死亡时,我继承了几个Access数据库。这些包含sql传递查询,我无法运行,因为他们正在寻找他存储的密码与他的odbc连接。如何将连接更改为我以便查询运行?访问SQL通过查询更改用户

回答

0

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

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

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

对于像这样的事情建立一个服务帐户也是一个好主意,这样当有人离开或无法到达时,您不会遇到问题。

+0

这工作!非常感谢!当我在sql视图中时,此语句只显示在属性窗口中。 – Bonnie

+0

很高兴能帮到你!如果这解决了您的问题,请随时点击我的答案左边的复选标记 –

0
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 
+0

谢谢,但我不知道他的密码,所以这是行不通的。 – Bonnie