Code lọc dữ liệu lỗi ở Where .. and
[With adoRS .ActiveConnection = adoConn .Open "SELECT F1,F2,F4,F16,F17,F18,F22 " & _ "FROM [Cong$B8:W65000]" & _ "Where F16 " & ">0" & _ "' And [F22] like '" & TangKa.Range("H16").Value End WithNhờ các anh chị giúp em chỉnh sữa đoạn Code lọc dữ liệu bị lổi ở Where .. and
Trân trọng
Hình như có dấy nháy đơn lạc điệu (' And ) thì phải bạn à?
"FROM [Cong$B8:W65000]" & _
"Where F16 " & ">0" & _
"' And like '" & TangKa.Range("H16").Value
3 dòng sai hết
dòng 1 sai vì giữa tên bảng và từ khóa Where dòng 2 không có khoảng trắng
dòng 3 "' And là câu lệnh vô nghĩa . chỉ có thể là " And ( dư 1 dấu ')
kết thúc dòng 3 lại thiếu 1 dấu '
Cách viết SQL string để tránh lỗi:
1. Lúc ngắt câu để xuống hàng, luôn luôn chừa 1 dấu cách ở dòng kế
"SELECT F1,F2,F4,F16,F17,F18,F22 " & _
" FROM [Cong$B8:W65000]" & _
" Where F16 " & ">0" & _Trước FROm và Where có dấu cách. Nhiều bạn dùng phương pháp đặt dấu cách ở cuối dòng trước, nhưng cách này dễ bị thiếu sót.
Đặt ở đầu dòng, nhin vào là thấy ngay.2. Nếu câu lệnh có chứa nhiều tham số thì cũng sẽ dễ bị thiếu sót mấy cái chi tiết như dấu ", dấu ', …
Vì vậy khi gặp câu lệnh nhiều tham số, ta viết nguyên một câu mẫu rồi dùng hàm replace. Chỉ hơi mất công một chút nhưng kiểm soát được nhiều lỗi, và ngwuowif đọc code cũng hiểu rõ cấu trúc của câu lệnhstrSQL = "SELECT F1,F2,F4,F16,F17,F18,F22 " & _ " FROM [Cong$B8:W65000]" & _
" Where F16 >0" & _
" And like '<tangca>'" ' đọc đến đây, người ta hiểu là được lọc theo tham số <tangca>
.Open Replace(strSQL, "<tangca>", TangKa.Range("H16").Value) ' đọc đến đây, người ta hiểu <tangca> là trtrị của TangKa
Bạn chơi cái này thử xem:
With adoRS.ActiveConnection = adoConn
.Open "SELECT F1,F2,F4,F16,F17,F18,F22 FROM [Cong$B8:W65000] Where >0 AND like '" & TangKa.Range("H16").Value & "'"
End With
www.giaiphapexcel.com/diendan/threads/code-l%E1%BB%8Dc-d%E1%BB%AF-li%E1%BB%87u-l%E1%BB%97i-%E1%BB%9F-where-and.108465/
Khóa học Power PI – Ứng dung trong Nhân sự
TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...
Xem khóa học