如何 link 在 VBA 中刷新 Table 的连接
How to link Connection to Refresh Table in VBA
我需要刷新 Excel 中的多个连接,而不在连接详细信息中存储密码。我正在使用 VBA 脚本来尝试这样做。我的代码是:
Sub Test()
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Set con = New ADODB.Connection
Set rs = New ADODB.Recordset
' Connection string information for DB as a variable (strCon)
strCon = "Driver={dummy}; " & _
"CONNECTSTRING=(DESCRIPTION=" & _
"(ADDRESS=(PROTOCOL=dummy)" & _
"(HOST=dummy)(PORT=dummy))" & _
"(CONNECT_DATA=(SERVICE_NAME = dummy))); uid=dummy; pwd=dummy;"
' Opens the above connection string.
con.Open (strCon)
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
End Sub
我的代码似乎打开了一个连接,并刷新了表格。但是,它仍然要求我输入密码。如何使用打开的连接刷新表格?
我不得不删除我在数据库中的连接,并使用 VBA 代码在一系列 SQL 查询中复制我的连接。我使用的代码的基础是:
'Declare variables'
Set objMyConn = New ADODB.Connection
Set objMyRecordset = New ADODB.Recordset
Dim strSQL As String
'Open Connection'
objMyConn.ConnectionString = "Driver={Microsoft ODBC for Oracle}; " & _
"CONNECTSTRING=(DESCRIPTION=" & _
"(ADDRESS=(PROTOCOL=***)" & _
"(HOST=*****)(PORT=****))" & _
"(CONNECT_DATA=(SERVICE_NAME = ****))); uid=****; pwd=*****;"
objMyConn.Open
'Set and Excecute SQL Command'
strSQL = "Select distinct * From Temp_Final_Complaints_Report"
'Open Recordset'
Set objMyRecordset.ActiveConnection = objMyConn
objMyRecordset.Open strSQL
'Copy Data to Excel'
Sheets("Complaints Report").Range("A2").CopyFromRecordset (objMyRecordset)
我现在可以用密码加密保存它的模块。
我需要刷新 Excel 中的多个连接,而不在连接详细信息中存储密码。我正在使用 VBA 脚本来尝试这样做。我的代码是:
Sub Test()
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Set con = New ADODB.Connection
Set rs = New ADODB.Recordset
' Connection string information for DB as a variable (strCon)
strCon = "Driver={dummy}; " & _
"CONNECTSTRING=(DESCRIPTION=" & _
"(ADDRESS=(PROTOCOL=dummy)" & _
"(HOST=dummy)(PORT=dummy))" & _
"(CONNECT_DATA=(SERVICE_NAME = dummy))); uid=dummy; pwd=dummy;"
' Opens the above connection string.
con.Open (strCon)
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
End Sub
我的代码似乎打开了一个连接,并刷新了表格。但是,它仍然要求我输入密码。如何使用打开的连接刷新表格?
我不得不删除我在数据库中的连接,并使用 VBA 代码在一系列 SQL 查询中复制我的连接。我使用的代码的基础是:
'Declare variables'
Set objMyConn = New ADODB.Connection
Set objMyRecordset = New ADODB.Recordset
Dim strSQL As String
'Open Connection'
objMyConn.ConnectionString = "Driver={Microsoft ODBC for Oracle}; " & _
"CONNECTSTRING=(DESCRIPTION=" & _
"(ADDRESS=(PROTOCOL=***)" & _
"(HOST=*****)(PORT=****))" & _
"(CONNECT_DATA=(SERVICE_NAME = ****))); uid=****; pwd=*****;"
objMyConn.Open
'Set and Excecute SQL Command'
strSQL = "Select distinct * From Temp_Final_Complaints_Report"
'Open Recordset'
Set objMyRecordset.ActiveConnection = objMyConn
objMyRecordset.Open strSQL
'Copy Data to Excel'
Sheets("Complaints Report").Range("A2").CopyFromRecordset (objMyRecordset)
我现在可以用密码加密保存它的模块。