anhtuan2939
Thành viên hoạt động



- Tham gia
- 5/7/16
- Bài viết
- 165
- Được thích
- 130
Chào mọi người.
Mình có dữ liệu giả lập như bên dưới (phần màu xám là dữ liệu trong Access), mình dùng phương pháp ADODB để kết nối và lấy dữ liệu. Bây giờ muốn lọc cột Khach_hang với điệu kiện như cột I thì code ở phần WHERE viết như thế nào ạ để khi thay giá trị điều kiện trong cột I chạy code để lấy dữ liệu mà không cần phải đi sửa code? Xin cám ơn!

Mình có dữ liệu giả lập như bên dưới (phần màu xám là dữ liệu trong Access), mình dùng phương pháp ADODB để kết nối và lấy dữ liệu. Bây giờ muốn lọc cột Khach_hang với điệu kiện như cột I thì code ở phần WHERE viết như thế nào ạ để khi thay giá trị điều kiện trong cột I chạy code để lấy dữ liệu mà không cần phải đi sửa code? Xin cám ơn!
Mã:
Sub loc_nhieu_khach_hang()
Dim cnn As Object, rst As Object
Dim lsSQL As String
Dim lst As Long
Dim Arr As Variant
Dim FileAccess
FileAccess = Application.GetOpenFilename("all,*.accdb", , "Select Data base", , False)
If VarType(FileAccess) = vbBoolean Then Exit Sub
With Sheet1
lst = .Range("I100").End(xlUp).Row
Arr = .Range("I2:I" & lst).Value
End With
Set cnn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
With cnn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = FileAccess
.Open
End With
lsSQL = "SELECT * " & _
"FROM DATA " & _
"WHERE Khach_hang = "
rst.Open lsSQL, cnn
Sheet2.Range("A3").CopyFromRecordset (rst)
Set rst = Nothing
cnn.Close
Set cnn = Nothing
End Sub
