Điều kiện lọc ADO
Chào mọi người
Mình có 1 vấn đề cần giúp đỡ
Mình tạo userform: Có listview và 2 textbox
Dùng ADO để lọc dữ liệu điều kiện ( 2 textbox) trên CSDL chuyển lên listview.
Mình dùng …Form… Where (CộtA)=textbox1 and (CộtB)=textbox2 => Chạy OK nếu điền đúng điều kiện.
Vấn đề: Nếu không điền dữ liệu vào textbox thì nó coi giá trị textbox=0 ==> Search không thấy.
Mong muốn Khi không điền dữ liệu vào textbox nào thì coi như không có điều kiện ở textbox đóVD: Textbox1 không có dữ liệu, Textbox2 có có dữ liệu=> …Form… Where (CộtB)=textbox2
Textbox1 có dữ liệu,Textbox2 không có dữ liệu=> …Form… Where (CộtB)=textbox1
Textbox1 không có dữ liệu,Textbox2 không có dữ liệu=> chỉ là select …form…. thôi.Kiến thức của mình có hạn, có chăng dùng được IF…then.. nhưng dài dòng.
Mong các bạn giúp đỡ.
Mình cảm ơn
Dùng hàm iif kết hợp với len để xử lý, nếu nối chuỗi đơn thuần như bạn thì sẽ có vấn đề khi lọc dữ liệu.
Gửi anh
Anh giúp em chuỗi Từ Where kết hợp với hàm IIf xử lý yêu cầu trên với ạ.
Em làm mà không được ạ.
Em cảm ơn anh nhiều.
Đọc lại ví dụ của bạn thì tôi tạm làm như sau:
Sub Test()
Dim strSQL As String, strWhere As String
If Len(TextBox1.Text) = 0 And Len(TextBox2.Text) > 0 Then
strWhere = " where CotB ='" & TextBox2.Text & "'"
ElseIf Len(TextBox1.Text) > 0 And Len(TextBox2.Text) = 0 Then
strWhere = " where CotB ='" & TextBox1.Text & "'"
Else
strWhere = ""
End If
strSQL = "select * from YourTable " & strWhere
MsgBox strSQL
End Sub
Xin lỗi vì lâu không quay lại.em đã làm được từ gợi ý của anh dùng iif. Phải công nhận dùng iif ứng dụng nhiều trường hợp rất hợp lý. Em cảm ơn anh nhiều nhé.
VD: Textbox1 không có dữ liệu, Textbox2 có có dữ liệu=> …Form… Where (CộtB)=textbox2
Textbox1 có dữ liệu,Textbox2 không có dữ liệu=> …Form… Where (CộtB)=textbox1
Textbox1 không có dữ liệu,Textbox2 không có dữ liệu=> chỉ là select …form…. thôi.bác thử cách này , nhưng cách này cũng có cái hạn chế !
select *
from table1
where cotA like textbox1 & "%" and cotB like textbox2 & "%"nếu dấu % không đc thì thử với dấu * , hoặc textbox1 ko đc thì thử với textbox1.txt
sql trong access với sql sever hình như khác nhau tí !
www.giaiphapexcel.com/diendan/threads/%C4%90i%E1%BB%81u-ki%E1%BB%87n-l%E1%BB%8Dc-ado.139716/
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