Các hàm Excel 365

Ngày tạo 12/04/2022

 -  1.226 Lượt xem

1. 8 Bước cơ bản để thiết lập 01 câu lệnh SQL trong Excel/Access VBA

1.1 Create ADODB Connection (tạo kết nối)

Dim cn As Object

Set cn = CreateObject("ADODB.Connection")

Trong đó:

Dim: khai báo biến

As: gán kiểu biến

Set: thiết lập giá trị cho biến

1.2 Create ADODB Recordset (tạo nơi chứa dữ liệu)

Đây sẽ là nơi dữ liwwju của bạn được lưu trữ khi mới lấy dữ liệu từ database và chưa lưu vào trên sheet.

               Dim rst As Object

Set rst = CreateObject("ADODB.Recordset")

1.3 Define Sources (khai báo đường dẫn)

Đường dẫn ở đây chính là đường dẫn đến database trên máy của các bạn

               Dim duong dan As String

duong dan = "đường dẫn”

vd:

Dim duong dan As String

duong dan = "D:\Excel SQLITraining Online SeminarisQL in Excel\Database.xisx”

1.4 Connection String (mở kết nối)

Sau khi đã tạo kết nối ở bước 1 chúng ta sẽ mở kết nối để có thể lấy dữ liệu từ database.

Tên_biến.Open ("Provider = Microsoft.ACE.OLEDB.12.0;Data Source = "& duong dan & ";Extended Properties = Excel 12.0")

Lưu ý: tên_biến là biến kết nối được khai báo ở bước 1. Trong trường hợp này là biến “cn”

1.5 SQL statement

Ở bước 5 chúng ta sẽ dung các câu lệnh truy vấn để lấy dữ liệu từ database theo yêu cầu nhất định.

1.6 Clean existing data report (làm sạch vùng chứa dữ liệu)

Sheetn.Range("vùng trả kết quả").ClearContents

Chú ý:

n: là sheet code (thứ tự của sheet) bạn muốn trả kết quả

vùng trả kết quả: là vùng dữ liệu sẽ trả về khi lấy dữ liệu từ database

1.7 Copy Field Name from Recordset

Dim i As Integer

For i=1 To rst.Fields.Count

  Sheetn.Range("AI").Offset(0, i- 1).Value = rst.Fields( - 1).Name

Next

1.8 Copy data from Recordset into Excel

Sheetn. Range("A2").CopyFromRecordset rst

Trong bước 7 và 8 tên cột sẽ được ghi vào sheet mới ở bước 7 và dữ liệu của cột sẽ được ghi vào sheet mới ở bước 8.

Ví dụ tổng quát 8 bước cơ bản:

Sub demo2()

Dim cn As Object

Set cn = CreateObject("ADODB.Connection")

 

Dim rst As Object

Set rst = CreateObject("ADODB.Recordset")

 

Dim duongdan As String

duongdan = "C:\Users\ASUS\OneDrive\Desktop\SQL_web\Database_demo.xlsx"

 

cn.Open ("Provider = Microsoft.ACE.OLEDB.12.0;Data Source = " & duongdan & ";Extended Properties = Excel 12.0")

 

rst.Open ("select ProductID from [Purchasing_ProductVendor$]"), cn

 

Sheet1.Range("A1:H15000").ClearContents

 

Dim i As Integer

For i = 1 To rst.Fields.Count

  Sheet1.Range("A1").Offset(0, i - 1).Value = rst.Fields(i - 1).Name

Next

 

Sheet1.Range("A2").CopyFromRecordset rst

End Sub

Sau khi chạy đoạn code ví dụ trên ta thu được kết quả nhưu hình bên dưới

Sheet1.Range("A2").CopyFromRecordset rst

2 Câu lệnh Select

2.1 Select là gì?

Seclect là một câu lệnh để lấy dữ liệu từ 1 hay nhiều bảng trong cơ sở dữ liệu. Câu lệnh select thường được kết hợp với một số các câu lệnh và điều kiện khác để lấy được dữ liệu theo yêu cầu.

2.2 Cú pháp câu lệnh Select

Trước tiên chúng ta hãy cùng đến với cú pháp của một câu lệnh select căn bản nhất.

SELECT tên cột FROM [tên bảng$]

Vd: SELECT ProductID, BusinessEntityID FROM [Purchasing_ProductVendor$]

Ngoài còn một số câu lệnh select khác như:

Select TOP n: lấy ra n dòng đầu tiên trong database

Select TOP n percent: lấy ra n% dòng đầu trong database

Select Distinct: lấy các dòng dữ liệu không trùng.

Ngoài ra Select có thể kết hợp với các câu lệnh khác như where, group by, order by, having để lọc và sắp xếp dữ liệu theo yêu cầu.

 

 

 

 

 
 
Gọi (028) 3514 2046