• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Kết quả tìm như Listbox của Google

Các mẹo vặt linh tinh khác, không thuộc nhóm nào
User avatar
truongphu
VIP
VIP
Posts: 4765
Joined: Sun 04/11/2007 10:57 am
Location: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 519 times

Kết quả tìm như Listbox của Google

Postby truongphu » Wed 14/04/2010 2:21 pm

Thủ thuật: Kết quả tìm như Listbox của Google
Tác giả: truongphu
Mô tả: Kết quả tìm như Listbox của Google



Vấn đề nầy nhiều bạn đề cập: làm sao khi gõ ký tự trên textbox thì listbox bên dưới xổ xuống danh sách các từ có trong CSDL thích hợp với nội dung textbox
Tôi có viết bài nầy hôm qua ở box thắc mắc, giờ trau chuốt lại cho tuyệt hơn:

1- CSDL đi kèm tạm thời có nhóm chữ khởi đầu ký tự a
1.JPG
1.JPG (16.05 KiB) Viewed 6735 times


2- Gõ tiếp
2.JPG
2.JPG (12.52 KiB) Viewed 6735 times


3- Khi gõ nhiều thêm: listbox tự thu ngắn theo danh sách cô đọng
khi chỉ còn 1 record, nếu record trong listbox nầy vẫn khác với textbox, listbox vẫn hiện.
ngược lại, nếu nội dung trùng nhau, listbox tự động biến mất

4- Đương nhiên ta có thể chọn record bất kỳ trong listbox: textbox sẽ nhận ngay kết quả và listbox biến mất
5- và nếu gõ các ký tự không có trong csdl: listbox đương nhiên không hiện ra

6- Code như sau:
  1. Dim conn As New Connection
  2. Dim Rec As New Recordset
  3.  
  4. Private Sub Form_Load()
  5. conn.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & App.Path & "\db1.mdb"
  6. End Sub
  7.  
  8. Private Sub List1_Click()
  9. Text1 = List1.Text
  10. List1.Visible = False
  11. End Sub
  12.  
  13. Private Sub Text1_Change()
  14. If Text1 = "" Then
  15.     List1.Visible = False
  16.     Exit Sub
  17. Else
  18.     List1.Clear
  19.     If Rec.State = 1 Then Rec.Close
  20.     Rec.Open "SELECT * FROM Table1 WHERE TênSP LIKE '" & Text1 & "%'", conn, 3, 3
  21.     If Rec.RecordCount = 0 Then
  22.         List1.Visible = False
  23.         Exit Sub
  24.     ElseIf (Rec.RecordCount = 1) And (UCase(Rec!TênSP) = UCase(Text1)) Then
  25.         List1.Visible = False
  26.         Exit Sub
  27.     Else
  28.         Do While Not Rec.EOF
  29.             List1.AddItem Rec!TênSP
  30.             Rec.MoveNext
  31.         Loop
  32.         List1.Height = List1.ListCount * 250
  33.         List1.Visible = True
  34.     End If
  35. End If
  36. End Sub
  37.  


7- Download project tham khảo. các bạn có thể bổ sung csdl và trình bày project lại theo ý riêng
Attachments
Search String.rar
(8.59 KiB) Downloaded 1138 times


o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

hiensaigon
Thành viên năng nổ
Thành viên năng nổ
Posts: 52
Joined: Sun 25/12/2011 12:48 pm
Has thanked: 15 times

Re: Kết quả tìm như Listbox của Google

Postby hiensaigon » Tue 22/01/2013 11:49 pm

cách add file .mdb vào form như thế nào vậy anh,??

thanhphongialy
Thành viên chính thức
Thành viên chính thức
Posts: 12
Joined: Sun 29/04/2012 9:03 am
Been thanked: 3 times

Re: Kết quả tìm như Listbox của Google

Postby thanhphongialy » Fri 18/04/2014 9:10 am

Chào Bác truongphu!
Xin hỏi: với data la tiếng việt unicode thì có cách nào không ?
xin gợi ý cho!
cảm ơn!

zippoo
Thành viên chính thức
Thành viên chính thức
Posts: 12
Joined: Sun 21/06/2015 3:48 pm
Has thanked: 1 time
Been thanked: 2 times

Re: Kết quả tìm như Listbox của Google

Postby zippoo » Fri 17/07/2015 8:37 pm

em sử dụng code của a truongphu thì bị lỗi như trong hình thế này. mọi người chỉ mình với. file *.mdb dùng thế nào vậy mấy a. mong hồi âm từ mọi người cám ơn nhìu.

http://uphinhnhanh.com/view-6003966_1.jpg

Image

opla2014
Posts: 4
Joined: Mon 22/08/2016 4:02 pm
Has thanked: 1 time

Re: Kết quả tìm như Listbox của Google

Postby opla2014 » Mon 22/08/2016 4:22 pm

cảm ơn tác giả.
mình muốn hỏi thêm:
1. mình muốn thêm 1 nút bấm: "hiển thị chi tiết" ở bên cạnh
2. sau khi tìm kiếm xong được 1 kết quả sẽ bấm vào " hiển thị chi tiết"
3. 1 form xuất hiện với thông tin chi tiết lấy từ trong csdl access tương ứng với kết quả tìm kiếm được.
4. form chi tiết giống hệt nhau( chỉ thiết kế 1 form) các dữ liệu trong các trường tương ứng ở form được lấy tương ứng từ csdl.
cảm ơn rất nhiều!
Re: mình ko phải dân chuyên VB6, mình có ý định viết 1 phần mềm tặng nhóc nhà mình nên tự mày mò, đến đoạn này thì tịt mất.
mình đính kèm dự án của mình để chủ topic và các bạn tư vấn và hỗ trợ mình nhé.
Attachments
VB.rar
(699.46 KiB) Downloaded 156 times


Return to “[VB] Mẹo vặt khác”

Who is online

Users browsing this forum: No registered users and 0 guests