2013-11-25 25 views
0

多個數據連接字符串我有9張連接到不同的表在Teradata的,每次我刷新它會問我的用戶名和PWD。我最終輸入了9次。更改在Excel

我不是那麼熟悉VBA,但我已經寫了VBA代碼來改變連接字符串與一個數據連接的電子表格。 (請在下面找到我使用的代碼)。

當我使用這個VBA代碼改變與9個連接我得到的電子表格中的連接字符串「的Teradata數據庫連接流行 - 向上」,不得不再次輸入用戶ID和PWD。

可能有人請解釋爲什麼會出現這種流行 - 輸入我的密碼或請提供VBA代碼使用VBA來更改連接字符串中的Excel或請告訴我,如果我做一些錯誤的。

感謝 SYAM

Sub UPDATE() 

Dim ct As String 
Dim connect 
Dim ncon As String 
Dim nconr As String 

DSN = "GDWPROD2" 
'this checks number of data connection 
ct = ActiveWorkbook.Connections.Count 

While ct > 0 
Set i = ActiveWorkbook.Connections.Item(1) 
connect = i.ODBCConnection.Connection 
'checks for user id and password 
'CheckCredentials 
ncon = "ODBC;" & "DSN=" & DSN & ";UID=" & UID & ";PWD=" & PWD & ";" & "DATABASE=PROF_LEADS_VERDE;" 
i.ODBCConnection.Connection = ncon 
ct = ct - 1 
Wend 

ActiveWorkbook.RefreshAll 

End Sub 

回答

0

你需要讓兩邊的用戶名和密碼爲字符串,然後進行設置。你已經打電話給他們了,但你沒有在任何地方定義它們。 (除非你離開了這一點,當你貼?)

要麼,你不能打電話給他們,應該覈實是否有權限自動連接。不過,爲了做到這一點,您完全不用輸入用戶名和密碼,而是使用Trusted_Connection=Yes;

+0

我已經將它定義爲Public UID As String Public PWD As String Public DSN As String – icurious

+0

您是否嘗試過使用'Trusted_Connection'?只要您的帳戶可以正常訪問,您就可以使用它。這樣,您不必將UID和PWD放入代碼中。 – PermaNoob

+0

這個電子表格也會被別人使用,所以不能使用trusted_connection,請指教? – icurious