Kính gửi: anh/ chị cao thủ
Xin vui lòng giúp đỡ một vấn đề như sau,
Tôi sử dụng file EXCEL (2013) connect với dữ liệu của một bảng trong ORACLE thông qua ORACLE Provider for OLE DB.
Khi kết nối xong, hằng ngày tôi phải refresh dữ liệu bằng cách chọn Data\ Refresh All trong Excel và phải nhập tay password, USER NAME thủ công.
Anh/ chị có thể gợi ý giúp cách viết câu lệnh VBA cung câp tự động thông tin để REFRESH dữ liệu được không, dưới đây là macro tôi viết nhưng khi chạy Excel vẫn bắt nhập thông tin.
Xin gửi file đính kèm hình ảnh quá trình kết nối với ORACLE để lấy dữ liệu.
Xin cảm ơn anh/ chị nhiều.
Sub Refresh_data()
'
' Refresh_data Macro
'
'
Dim cnOra As ADODB.Connection
Dim db_name As String
Dim UserName As String
Dim Password As String
With ActiveWorkbook.Connections
Set cnOra = CreateObject("ADODB.Connection")
cnOra.ConnectionString = "Provider=OraOLEDB.Oracle;" & _
"Data Source=xxxx.xxxx.VN;" & _
"User ID=XXXX_HOA;" & _
"Password=xxxx;" & _
"PLSQLRSet=1;"
cnOra.Open
cnOra.CommandTimeout = 1000
ActiveWorkbook.RefreshAll cnOra
End With
cnOra.Close
Set cnOra = Nothing
MsgBox ("Work finished")
End Sub
Xin vui lòng giúp đỡ một vấn đề như sau,
Tôi sử dụng file EXCEL (2013) connect với dữ liệu của một bảng trong ORACLE thông qua ORACLE Provider for OLE DB.
Khi kết nối xong, hằng ngày tôi phải refresh dữ liệu bằng cách chọn Data\ Refresh All trong Excel và phải nhập tay password, USER NAME thủ công.
Anh/ chị có thể gợi ý giúp cách viết câu lệnh VBA cung câp tự động thông tin để REFRESH dữ liệu được không, dưới đây là macro tôi viết nhưng khi chạy Excel vẫn bắt nhập thông tin.
Xin gửi file đính kèm hình ảnh quá trình kết nối với ORACLE để lấy dữ liệu.
Xin cảm ơn anh/ chị nhiều.
Sub Refresh_data()
'
' Refresh_data Macro
'
'
Dim cnOra As ADODB.Connection
Dim db_name As String
Dim UserName As String
Dim Password As String
With ActiveWorkbook.Connections
Set cnOra = CreateObject("ADODB.Connection")
cnOra.ConnectionString = "Provider=OraOLEDB.Oracle;" & _
"Data Source=xxxx.xxxx.VN;" & _
"User ID=XXXX_HOA;" & _
"Password=xxxx;" & _
"PLSQLRSet=1;"
cnOra.Open
cnOra.CommandTimeout = 1000
ActiveWorkbook.RefreshAll cnOra
End With
cnOra.Close
Set cnOra = Nothing
MsgBox ("Work finished")
End Sub