ADODB.Connection là gì?

ADODB.Connection là gì mà nhiều người chuyên nghiệp biết về cái này ?

1. ADODB.Connection là gì ?

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.

2. Vai trò của ADODB.Connection

    Thiết lập kết nối với cơ sở dữ liệu.

     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.

    Thực thi các lệnh SQL như SELECT, INSERT, UPDATE, DELETE.

     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...

    Quản lý trạng thái kết nối (mở, đóng kết nối).

    Giống nút ngồn trên các thiết bị điện tử, tắt và mở

3. Cách sử dụng ADODB.Connection trong VBA

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:

Khai báo biến đối tượng ADODB.Connection

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

Thiết lập chuỗi kết nối (Connection String)

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;"

Mở kết nối

conn.Open

Thực thi câu lệnh SQL

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.

Đóng kết nối

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

4. Ví dụ đầy đủ cách sử dụng ADODB.Connection

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

5. Lợi ích của ADODB.Connection

    Đ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.

Bài viết liên quan:

ADODB.Connection là gì mà nhiều người chuyên nghiệp biết về cái này ?