ledangvan > 23-12-19, 10:04 PM
(25-12-18, 03:27 PM)ongke0711 Đã viết: Chào các bạn,
Tôi chia sẻ với các bạn một kiểu thiết kế Form kết hợp tìm kiếm, lọc dữ liệu kèm theo sắp xếp dữ liệu tăng giảm tuỳ theo cột dữ liệu bạn bấm chọn trên form.
- Đây là Form dạng Continuous và kiểu thiết kế này tôi thường dùng cho việc liệt kê cách danh sách, danh mục.
- Kết hợp tìm kiếm, sắp xếp dữ liệu theo cách này để tăng tiện ích cho người dùng và tiết kiệm không gian trên Form.
- Form dạng Continuous này có cái hạn chế là không dùng được tính năng Freeze Panel như Datasheet Form.
Về thiết kế:
- Do form có dùng nhiều icon sắp xếp và icon ComboBox tương ứng với mỗi cột tiêu đề nên tôi viết Class cho nó để tái sử dụng, dễ sửa và code cũng gọn gàng hơn chút trong form. Khi form có nhiều cột thì việc gọi class cũng tương tự, không phải thêm code.
- Để Class chạy đúng yêu cầu thì phải tuân thủ các cách đặt tên cho các control trong form. Tôi luôn dùng các tiền tố đại diện cho control + tên Field để đặt Name cho nó. Trong Form có dùng thuộc tính Tag để lưu tên Field. Các Control.Name, Control.Tag này đều phục vụ cho Class sắp xếp, lọc dữ liệu.
Form này chủ yếu demo cho các bạn việc sắp xếp và lọc dữ liệu của subform nên các nút lệnh trên mainform toi chỉ làm thiết kế cơ bản để chạy test thôi nhé.
Class chạy cũng chưa thật sự trơn tru vì nó còn bị Flick (nhấp nháy) khi di chuyển chuột trên các control.
File này tôi làm trên Access 2013 và không chuyển về Access 2003 được nhé các bạn vì câu lệnh sắp xếp dữ liệu ở 2 phiên bản khác nhau. Muốn chuyển về 2003 phải vô đổi code lại chút nên làm biếng .
Vd: lệnh Form.SetOrderBy chỉ có ở Acces 2007 trở lên, còn Access 2003 là Form.OrderBy...
Link file demo: http://www.mediafire.com/file/qhk7em0qc1...s.rar/file
lamvankhanh > 24-12-19, 03:09 PM
nguyencaothong > 27-12-21, 01:01 PM
ongke0711 > 27-12-21, 01:13 PM