Godspear > 19-01-17, 05:28 AM
ongke0711 > 19-01-17, 08:54 AM
cpucloi > 19-01-17, 10:35 AM
Godspear > 19-01-17, 12:59 PM
Godspear > 20-01-17, 07:25 AM
cpucloi > 20-01-17, 08:50 AM
ongke0711 > 20-01-17, 09:11 AM
Quynhhihi > 02-07-21, 01:42 PM
(19-01-17, 08:54 AM)ongke0711 Đã viết: Nguyên tắc tìm kiếm là bạn cứ đưa hết điều kiện cần tìm vào một chuỗi nối với nhau bằng từ "AND" sau đó đưa vô mệnh đề WHERE của câu lệnh SQL. Câu lệnh SQL này sẽ là Record Source cho Form hay Subform kết quả tìm kiếm.
Tôi xem qua file của bạn thì mỗi textbox hoặc combobox chứa nội dung tìm kiếm của bạn cứ sau AfterUpdate lại chạy lệnh tìm kiếm. Cách này cũng được nhưng code bạn phải thiết kế lại cho hiệu quả hơn. Tôi sẽ nói sau.
- Thông thường khi có nhiều điều kiện tìm kiếm thì người ta thiết kế 1 nút lệnh [Search] để chạy sau khi bạn nhập tất cả các điều kiện tìm kiếm rồi. Nó sẽ tổng hợp lại thành 1 chuỗi tìm kiếm, nếu điều kiện nào để trống thì bỏ qua…
- Nếu bạn muốn làm theo cách cứ AfterUpdate một control nào đó thì chạy lệnh tìm kiếm (TK) ngay, bạn phải tổ chức lại code. Thay vi cứ lập lại code TK cho mỗi control thì bạn viết nó thành 1 Sub Procedure rồi Call Sub này trong sự kiện AfterUpdate cho gọn. Sub Tìm Kiếm này cũng tương tự như cách tạo một nút TK, nó sẽ check qua tất cả các control, lấy dữ liệu tìm kiếm đưa vô chuỗi rồi đưa vô mệnh đề WHERE.
Tìm kiếm nhiều điều kiện trên diễn đàn có đầy. Cách thiết kế khác nhau nhưng nguyên tác code thì gần giống nhau.
http://thuthuataccess.com/forum/thread-8324.html
http://thuthuataccess.com/forum/thread-6491-page-8.html
http://thuthuataccess.com/forum/post-183...l#pid18364
http://thuthuataccess.com/forum/thread-5319.html
http://thuthuataccess.com/forum/thread-8936.html
Private Sub Combo24_AfterUpdate()
Dim myNanion As String
myNanion = "Select * from CONTACTQR where [Nationality] = '" & Me.Combo24 & "'"
Me.CONTACTQRsubform.Form.RecordSource = myNanion
Me.CONTACTQRsubform.Form.Requery
End Sub
Private Sub Combo28_AfterUpdate()
Dim mygender As String
mygender = "Select * from CONTACTQR where [Gender] = '" & Me.Combo28 & "'"
Me.CONTACTQRsubform.Form.RecordSource = mygender
Me.CONTACTQRsubform.Form.Requery
End Sub
Private Sub Combo30_AfterUpdate()
Dim myBusiness As String
myBusiness = "Select * from CONTACTQR where [Business Areas] = '" & Me.Combo30 & "'"
Me.CONTACTQRsubform.Form.RecordSource = myBusiness
Me.CONTACTQRsubform.Form.Requery
End Sub
Private Sub Combo6_AfterUpdate()
Dim myC As String
myC = "Select * from CONTACTQR where [Industrial] = '" & Me.Combo6 & "'"
Me.CONTACTQRsubform.Form.RecordSource = myC
Me.CONTACTQRsubform.Form.Requery
End Sub
Private Sub nsearch_Click()
Dim strsearch As String
Dim strtext As String
strtext = Me.keyword.Value
strsearch = "Select * from CONTACTQR where ([Contact Name] like ""*" & strtext & "*"") or ([Job Title] like ""*" & strtext & "*"") or ([Company] like ""*" & strtext & "*"") or ([Address] like ""*" & strtext & "*"") or ([Dictrict] like ""*" & strtext & "*"") or ([City] like ""*" & strtext & "*"") or ([Country] like ""*" & strtext & "*"") or ([Mobile Phone] like ""*" & strtext & "*"") or ([Email Personal] like ""*" & strtext & "*"") or ([Business Phone] like ""*" & strtext & "*"") or ([Email Company] Like ""*" & strtext & "*"")"
Me.CONTACTQRsubform.Form.RecordSource = strsearch
End Sub
Private Sub nshow_Click()
Dim strsearch As String
strsearch = "SELECT * from CONTACTQR"
Me.CONTACTQRsubform.Form.RecordSource = strsearch
End Sub
ongke0711 > 02-07-21, 05:24 PM
(02-07-21, 01:42 PM)Quynhhihi Đã viết: mình cũng đang quan tâm vấn đề này và cũng đang sử dụng afterupdate một control . mình đang có combox(combo24,combo28,combo30,combo6) và textbox (nsearch) vẫn muốn sử dụng afterupdate thì không biết thêm AND thế nào.
Mã:...
strsearch = "Select * from CONTACTQR where ([Contact Name] like ""*" & strtext & "*"") or ([Job Title] like ""*" & strtext & "*"") or ([Company] like ""*" & strtext & "*"") or ([Address] like ""*" & strtext & "*"") or ([Dictrict] like ""*" & strtext & "*"") or ([City] like ""*" & strtext & "*"") or ([Country] like ""*" & strtext & "*"") or ([Mobile Phone] like ""*" & strtext & "*"") or ([Email Personal] like ""*" & strtext & "*"") or ([Business Phone] like ""*" & strtext & "*"") or ([Email Company] Like ""*" & strtext & "*"")"
Me.CONTACTQRsubform.Form.RecordSource = strsearch