ADODB.Connection là một đối tượng trong ADO (ActiveX Data Objects), được sử dụng để tạo và quản lý kết nối giữa ứng dụng (chẳng hạn như VBA trong Excel) và một nguồn dữ liệu. Nguồn dữ liệu này thường là một cơ sở dữ liệu như SQL Server, Access, Oracle, hoặc thậm chí là một file Excel.
Giống như 1 sợi dậy điện để kết nối các thiết bị điện từ với nguồn điện.
Sau khi kết nối thành công thì giống như các chức trên thiết bị điện tử, như độ mạnh của quạt...
Giống nút ngồn trên các thiết bị điện tử, tắt và mở
Bạn cần có nền tảng cơ bản về VBA, Để sử dụng ADODB.Connection, bạn cần làm theo các bước sau:
Dim conn As Object
Set conn = CreateObject("ADODB.Connection")
Hoặc nếu bạn đã thêm thư viện tham chiếu ADO:
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
Chuỗi kết nối cung cấp thông tin để xác định nguồn dữ liệu và cách kết nối với nó. Ví dụ:
SQL Server:
conn.ConnectionString = "Driver={SQL Server};Server=SERVER_NAME;Database=DB_NAME;Trusted_Connection=Yes;"
Access:
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\path\to\database.accdb;"
conn.Open
Bạn có thể thực thi các câu lệnh SQL bằng cách sử dụng phương thức Execute:
Dim rs As Object
Set rs = conn.Execute("SELECT * FROM TableName")
Truy vấn dữ liệu: Kết quả trả về được lưu trong đối tượng Recordset (rs).
Thao tác dữ liệu: Với các câu lệnh như INSERT, UPDATE, hoặc DELETE, Execute sẽ thực thi lệnh mà không trả về dữ liệu.
Sau khi hoàn thành công việc, bạn nên đóng kết nối để giải phóng tài nguyên:
conn.Close
Set conn = Nothing
Dưới đây là một ví dụ kết nối đến SQL Server, truy vấn dữ liệu và xuất ra Excel:
Sub ConnectToSQLServer()
Dim conn As Object
Dim rs As Object
Dim sql As String
' Khởi tạo đối tượng Connection
Set conn = CreateObject("ADODB.Connection")
' Thiết lập chuỗi kết nối
conn.ConnectionString = "Driver={SQL Server};Server=YOUR_SERVER_NAME;Database=YOUR_DB_NAME;Trusted_Connection=Yes;"
' Mở kết nối
conn.Open
' Viết câu lệnh SQL
sql = "SELECT * FROM Employees"
' Thực thi câu lệnh và lưu kết quả vào Recordset
Set rs = conn.Execute(sql)
' Xuất dữ liệu ra Excel, bắt đầu từ ô A1
Sheet1.Range("A1").CopyFromRecordset rs
' Đóng kết nối và giải phóng tài nguyên
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
End Sub
Đa nền tảng dữ liệu: Có thể kết nối với nhiều loại cơ sở dữ liệu khác nhau.
Hiệu suất cao: Xử lý dữ liệu lớn trên cơ sở dữ liệu thay vì trong Excel, giúp giảm tải và tăng hiệu suất.
Tự động hóa: Kết hợp với VBA để tự động hóa các quy trình, tiết kiệm thời gian và giảm thiểu lỗi.
ADODB.Connection là công cụ mạnh mẽ giúp kết nối và làm việc với cơ sở dữ liệu trong các ứng dụng VBA. Điều này giúp tăng cường khả năng quản lý dữ liệu và tự động hóa trong các công việc liên quan đến dữ liệu.
ADODB.Connection là gì mà nhiều người chuyên nghiệp biết về cái này ?