Nhờ đổi điều kiện trong câu lệnh SQL

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

phiphi2022

Thành viên mới
Tham gia
3/5/22
Bài viết
23
Được thích
4
Chào các anh chị !
Em có lấy 1 bài code trên đây để áp dụng vào công việc. Nhưng do tính chất công việc đặc thù nên em cần chỉnh lại điều kiện câu SQL là địa chỉ 1 ô nằm ngoài trang tính excel (để tự thay đổi hàng ngày khi truy xuất dữ liệu)
Cụ thể em muốn đổi điều kiện WHERE trong câu cũ là :
Const sql1 = "SELECT f1,f2,f3,f4,val(f5),f6,f7,f8,f9,f10,f11,f12,val(f13) FROM [OK$A2:M5000] WHERE f7 = '231112A' "

thay vị trí WHERE f7 = '231112A' thành WHERE f7 = 1 ô địa chỉ ngoài trang tính excel ( ô B1 ở sheet1 )
phần này em không biết làm thế nào, nên nhờ các anh chị giúp ạ.

Đây là code trong thủ tục lấy dữ liệu ạ.
Sub GetOK()
Dim cn As Object, rs1 As Object, list_path As Variant, ex_path As Variant
Dim lR As Long
Set cn = CreateObject("ADODB.Connection")
Set rs1 = CreateObject("ADODB.Recordset")

Application.DisplayAlerts = False

Call CopyF

Const sql1 = "SELECT f1,f2,f3,f4,val(f5),f6,f7,f8,f9,f10,f11,f12,val(f13) FROM [OK$A2:M5000] WHERE f7 = '231112A' "
list_path = SelectExcelFiles("D:\15.File ChotDon", True)
If IsArray(list_path) = False Then Exit Sub

Sheet1.Range("A3:M65000").ClearContents

For Each ex_path In list_path

cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ex_path & _
";Extended Properties=""Excel 12.0;HDR=No;"""

With Sheet1
lR = .Range("A" & .Rows.Count).End(xlUp).Row + 1
Set rs1 = cn.Execute(sql1)
If Not rs1.EOF Then .Range("A" & lR).CopyFromRecordset rs1
End With
rs1.Close
cn.Close
Next ex_path
Set cn = Nothing: Set rs1 = Nothing
Set list_path = Nothing

Application.DisplayAlerts = True
End Sub
 
Const sql1 = "SELECT f1,f2,f3,f4,val(f5),f6,f7,f8,f9,f10,f11,f12,val(f13) FROM [OK$A2:M5000] WHERE f7 = 'ChuoiGiDo' "
...
Set rs1 = cn.Execute(Replace(sql1, "ChuoiGiDo", Sheet1.Range("B1"))
 
Upvote 0
Web KT
Back
Top Bottom