Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Tạo forms tìm kiếm nhiều đối tượng với nhiều điều kiện khác nhau ?
#71
(22-06-13, 05:51 PM)paulsteigel Đã viết:
Mã PHP:
Select a from tenbang where a in (Câu truy vấn phụ trả về danh sách các bản ghi thỏa mãn điều kiện đầu vào bạn vừa nhập
Câu truy vấn phụ có dạng
Mã PHP:
select a from tenbang where a like '*" & từng mã tìm kiếm & "'" 
Như vậy câu truy vấn phụ sẽ liệt kê tất cả các bản ghi gần giống với mã điều kiện đầu vào.
Tôi phải dùng câu truy vấn phụ để tránh làm phức tạp hóa cú pháp tìm kiếm.
....

Bỏ câu truy vấn phụ luôn đi anh, tốc độ tìm kiếm sẽ tăng lên tất nhiều 015

Theo MTNQ thì hàm BuildSQL nên sửa lại như sau:

Mã PHP:
Private Function BuildSQL(txtIn As StringtxtFields As String) As String
    
' Just to break the search parameter into set of input criteria for search
    Dim inVar As Variant, fldName As Variant
    Dim i As Long, j As Long, tmpVar As String, SqlTxt As String
    inVar = Split(txtIn, txtDelm)
    fldName = Split(txtFields, ",")
    ' 
Now build SQL
    
For LBound(fldNameTo UBound(fldName)
        
tmpVar fldName(j)
        
fldName(j) = ""
        
For LBound(inVarTo UBound(inVar)
            If 
Nz(Trim(inVar(i)), "") <> "" Then
                fldName
(j) = "(" fldName(j) & tmpVar " Like '*" inVar(i) & "*'" ") OR "
            
End If
        
Next
        
'fldName(j) = tmpVar & " IN (Select " & tmpVar & " From tblDS Where " & Mid(fldName(j), 4) & ")"
        SqlTxt = SqlTxt & fldName(j)
    Next
    ' 
Build final search string
    SqlTxt 
"SELECT Ten,Namsinh,Gioitinh,Diachi FROM tblDanhsach Where " Left(SqlTxtLen(SqlTxt) - 3) & ";"
    'Debug.Print SqlTxt
    BuildSQL = SqlTxt
End Function 

MTNQ đã test thử với file ví dụ sau:

1/Form frmSubFormSearch để nguyên code của anh, tìm dữ liệu từ bảng tblDanhsach2 chỉ nạp 1000 Record
2/ form frmTest dùng hàm BuildSQL đã sửa lại như trên, tìm dữ liệu từ bảng tblDanhsach đã nạp 60,000 Record nhưng tìm vẫn nhanh hơn

Cả 2 form MTNQ đã thay sự kiện On Change bằng nút nhấn Search để test cho nhanh, anh xem thử nhé:

Download Demo

P/S: sao dòng Debug.Print SqlTxt trong thẻ PHP lại mất dấu nháy đơn ngoài trước nhỉ 027
Chữ ký của MatTroiNguQuen Thời gian nước chảy... da mòn
Ngủ quên một chốc thấy còn bộ xương!
Reply
Những người đã cảm ơn paulsteigel
#72
(28-06-13, 12:21 PM)paulsteigel Đã viết: Mình đã gửi mail cho bạn!
Phần chia sẻ đó cơ bản là phải dùng gmail cơ!

Chào bác paulsteigel, mấy bữa nay theo dõi bác hướng dẫn chuyên mục tìm kiếm theo nhiều điều kiện khác nhau , bài của em cũng cần vấn đề này, và em cũng đã làm được phần tìm kiếm dữ liệu rồi. Còn một vấn đề nữa là em cần dữ liệu đó để in, nhưng không biết làm sao. Bác có thể bớt chút thời gian hướng dẫn không ah?
Chữ ký của vulhu06 Xin chào, mình là vulhu06, Tham gia http://thuthuataccess.com/forum từ ngày 15-06 -12.
Reply
Những người đã cảm ơn
#73
(28-04-14, 11:11 AM)vulhu06 Đã viết: Còn một vấn đề nữa là em cần dữ liệu đó để in, nhưng không biết làm sao. Bác có thể bớt chút thời gian hướng dẫn không ah?

Bạn xem file VD sau nhé, hai form frmSubFormSearch và frmTest mình thiết kế hai nút lệnh với hai code khác nhau, bạn thích dùng cách nào cũng được 015:

frmSubFormSearch: (Click to View)
frmTest: (Click to View)
Download
Chữ ký của MatTroiNguQuen Thời gian nước chảy... da mòn
Ngủ quên một chốc thấy còn bộ xương!
Reply
Những người đã cảm ơn vulhu06
#74
(01-05-14, 06:15 PM)MatTroiNguQuen Đã viết:
(28-04-14, 11:11 AM)vulhu06 Đã viết: Còn một vấn đề nữa là em cần dữ liệu đó để in, nhưng không biết làm sao. Bác có thể bớt chút thời gian hướng dẫn không ah?

Bạn xem file VD sau nhé, hai form frmSubFormSearch và frmTest mình thiết kế hai nút lệnh với hai code khác nhau, bạn thích dùng cách nào cũng được 015:

frmSubFormSearch: (Click to View)
frmTest: (Click to View)
Download

Cám ơn anh, bài của em dùng nhiều textbox để nhập điều kiện chứ không dùng một textbox như bài demo, không biết là có áp dụng code như trên được không?
Chữ ký của vulhu06 Xin chào, mình là vulhu06, Tham gia http://thuthuataccess.com/forum từ ngày 15-06 -12.
Reply
Những người đã cảm ơn
#75
(27-04-14, 07:11 PM)dinh_trong_hoa Đã viết: Dear All

http://www.mediafire.com/download/w36r3p...Folder.rar

007

Bạn xem lại dùm. Chọn 1 trường dữ liệu thì xuất excel được. 2 trường thì bị lỗi này

[img][Hình: dfe_zpsb325d226.png][/img]
Chữ ký của changkhoonline77 Xin chào, mình là changkhoonline77, Tham gia http://thuthuataccess.com/forum từ ngày 25-06 -12.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Cách đề tạo Combo Box và List Box Tương ứng Godspear 9 304 Hôm qua, 03:44 PM
Bài mới nhất: toancvp
  [Help] Cập nhật combobox 2 từ combobox 1 (dữ liệu ở nhiều bảng) votinh.tq 6 209 22-11-16, 11:34 PM
Bài mới nhất: votinh.tq
  Lọc có điều kiện ở listbox phiacuoiconduong 2 97 18-11-16, 06:40 PM
Bài mới nhất: ongke0711
  Lọc theo điều kiện trong listbox Ranju 3 183 06-10-16, 05:26 PM
Bài mới nhất: Ranju
  Thay đổi màu nền các dòng theo điều kiện trên form Continuous tranthanhan1962 9 1,702 27-09-16, 11:01 PM
Bài mới nhất: ongke0711

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ