-
Lọc điều kiện theo nhiều dòng trong 1 Listbox hoặc nhiều Listbox
ongke0711 > 11-11-15, 10:47 PM
Chào các bạn,
Mình chia sẽ 1 hàm nhỏ để xử lý chọn nhiều điều kiện trong 1 listbox hay nhiều listbox cùng lúc.
- Mục đích của hàm ChuoiDieuKien () là kết hợp các dòng được chọn trong 1 hoặc nhiều Listbox thành một chuỗi với các điều kiện cách nhau dấu phẩy "," (nếu là number) hoặc dấu ngoặc kép " " (nếu là text). Sau đó sử dụng kết quả này cho query, câu lệnh SQL để lọc dữ liệu.
- Để chọn được nhiều dòng trong Listbox bạn vô Form Properties - Other, chọn Multi select: Extended (hoặc Simple). Bạn chọn thử sẽ thấy sự khác biệt giữa Extended và Simple.
File demo: MultiSelectListBox.mdb -
RE: Lọc điều kiện theo nhiều dòng trong 1 Listbox hoặc nhiều Listbox
caytregiavn77 > 11-02-16, 09:58 PM
Hi! xin chào bạn ongke0711, đọc qua bài MultiSelectlistBox của bạn, mình đã làm được rất nhiều việc, cám ơn bạn ongke0711 nhiều.
Bạn ongke0711 có thể cho mình hỏi 2 vấn đề nha (cái này mình đang làm nhưng không bít cách):
1/ Mình có thể tìm kiếm THÊM trên textbox được không bạn?
2/ Kết quả tìm, mình có thể xuất trên listbox (vì để mình doubleclick recore đó) để chỉnh sửa.
Trân trọng. -
RE: Lọc điều kiện theo nhiều dòng trong 1 Listbox hoặc nhiều Listbox
ongke0711 > 11-02-16, 11:23 PM
1. Có thể thêm điều kiện trên textbox được bạn à. Cần chỉnh code lại chút ít. Cái hàm ChuoiDieuKien() viết áp dụng cho listbox nên nếu thêm điều kiện textbox bạn sẽ thêm riêng các điều kiện này vào biến "dieukienloc".
2. Kết quả sẽ là row source cho listbox vẫn đuợc bạn à. -
RE: Lọc điều kiện theo nhiều dòng trong 1 Listbox hoặc nhiều Listbox
caytregiavn77 > 11-02-16, 11:32 PM
Cám ơn bạn ongke0711 nhiều! vẫn ví dụ trên (theo hướng dẫn của bạn, mình làm tìm 3 điều kiện trên 3 listbox) bạn có thể chỉ dẫn mình phần tìm kiếm cho textbox và kết quả cho listbox nha bạn. Mình rất cám ơn bạn nhiều. Mình công tác ở Quận 3 - TPHCM. Không biết bạn ở đâu?
Trân trọng. -
RE: Lọc điều kiện theo nhiều dòng trong 1 Listbox hoặc nhiều Listbox
ongke0711 > 12-02-16, 01:45 AM
Bạn up file mẫu data của bạn lên để làm mẫu cho nhanh.
Vd: theo như file demo của tôi, sau khi bạn có được biến dieukienloc của 3 listbox bạn thêm dòng code cho biến này như sau (khỏi phải viết hàm)
dieukienloc=dieukienloc & " AND [Tên trường muốn lọc] = " & Me.TexboxTHEM
Có bao nhiêu textbox thêm thì cứ thêm dòng code trên.
Chú ý nếu điều kiện dạng TExt thì phải thêm dấu nháy đơn ' sau dấu "=".
Vd: dieukienloc=dieukienloc & " AND [Tên trường muốn lọc] = '" & Me.TexboxTHEM & "'"
(Ps: Tôi ở quận 1) -
RE: Lọc điều kiện theo nhiều dòng trong 1 Listbox hoặc nhiều Listbox
caytregiavn77 > 12-02-16, 03:56 PM
Cám ơn bạn ongke0711, sau khi được bạn hướng dẫn, mình đã làm phần textbox được rồi, tuy nhiên khi mình không điền dữ liệu lọc trên textbox thì nó vẫn lọc (cái này mình không làm được), mình up dữ liệu lên để bạn có thể chỉ dẫn cho dễ; phần dữ liệu xuất ra listbox thì mình đã làm thử (mặc dù cũng được, tuy nhiên không bít có bị sai gì không).
P/s: Đây là chương trình đầu tay mình làm để quản lý cán bộ trong cơ quan, mong được bạn xem, và cho ý kiến để phần mình được hoàn thiện hơn.
Trân trọng.
Dữ liệu http://www.mediafire.com/download/8w9s84...016%29.rar -
RE: Lọc điều kiện theo nhiều dòng trong 1 Listbox hoặc nhiều Listbox
ongke0711 > 12-02-16, 07:19 PM
Về phần lọc dữ liệu của textbox của bạn là tên cán bộ dạng text thì bạn sửa code của biến dieukienloc đang sử dụng dấu "=" thành "Like" và thêm Default value của textbox [ten] là dấu "*". Dấu "*" này để khi bạn không nhập tên cần tìm thì điều kiện lọc là sẽ tự động tìm tất cả tên (like '*')
dieukienloc = dieukienloc & " AND [ten] Like '" & Me.Txt_ten & "'"
Một số góp ý thêm về thiết kế form:
- Bạn nên sử dụng các ký tự đầu đại diện cho table, form... chuẩn hoá để đơn giản các tên Table, tránh dài dòng sau này viết code cũng mệt. Vd: Table_datacanbo => tblDataCanBo. Cái này trên net có đó bạn.
- Tôi thấy các form cập nhật danh mục bạn làm riêng từng form thì tôi nghĩ nếu các form này có điểm chung thì gộp vô 1 form có nhiều Tab (như cái form tìm kiếm của bạn) để User muốn cập nhật dữ liệu cũng tiện.
- Bạn có sử dụng module message box tiếng Việt MsgBoxUni rồi thì không cần dùng hàm Dlookup để tìm nội dung thông báo tiếng Việt. Dùng 1 trong 2 cách thôi. Để chuyển chuỗi unicode tiếng Việt ra chuỗi mã Unicode dùng trong VBA thì cũng có tool trong diễn đàn rồi đó. Link: http://thuthuataccess.com/forum/thread-4302.html
- Về giao diện form bạn cứ xem giao diện mấy cái ứng dụng chuyện nghiệp khác để tham khảo cách bố cục, màu sắc v.v.. (thường thì không dùng quá 3 màu trong form ngoại trừ các icon nút lệnh). Các nút lệnh bạn làm to hơn các item khác có nghĩa là bạn muốn người ta chú ý tới nút lệnh hơn các nội dung khác. Bạn nên chú ý phần nào cần nhấn, chú ý (focus) thì highlight nó tránh thiết kế cái nào cũng nổi bật thì thành ra User không biết focus vô cái nào.
Vài dòng góp ý vậy thôi, bạn cứ làm, tham khảo rồi nghiệm ra tiếp bởi vậy phần mềm mới có nhiều phiên bản.. -
RE: Lọc điều kiện theo nhiều dòng trong 1 Listbox hoặc nhiều Listbox
caytregiavn77 > 12-02-16, 09:50 PM
Cám ơn bạn ongke0711, đầu tiên xin cám ơn những phần góp ý đầy chân tình của bạn, qua góp ý của bạn, mình đang làm:1/ Phần Lọc textbox: Mình đã làm được rồi;2/ Phần chỉnh lại tên các table, Queries ....: mình đang chỉnh sửa3/ Phần thiết kế Form: mình còn non kinh nghiệm lắm; cũng ko biết các ứng dụng nào chuyên nghiệp, có thể bạn chia sẽ những giao diện ứng dụng chuyên nghiệp để mình học hỏi thêm;------- còn các phần code hoặc phần quan hệ, bạn xem có chỉ dẫn gì cho mình thêm không?Trân trọng!Ps: Mai mình trực, nếu được mình sẽ alo cho bạn nha.????" -
RE: Lọc điều kiện theo nhiều dòng trong 1 Listbox hoặc nhiều Listbox
ongke0711 > 23-09-17, 01:57 PM
Câu thông báo lỗi là gì bạn? Nói chung chung vậy làm sao biết được.