Lọc dữ liệu trong bảng

  • Thread starter dinhhe213
  • Ngày gửi
D

dinhhe213

Guest
2/1/10
12
0
1
41
HT
Xin hoi! Tôi muốn tạo một form trên form này gồm các combo lọc.
- Lọc theo thời gian (vd: từ ngày 1/1/2010 đến 31/12/2010)
- Lọc theo Mã
- Lọc theo tên
.....
Tất cả trên cùng 1 form. Và khi chọn lọc thì hiển thị lên form này luôn. Có thể hiện trên datalist hoặc subform tùy. Không dùng query,không dùng wizard, chỉ dùng lập trình có được không?
 
Khóa học Quản trị dòng tiền
H

haquocquan

Trung cấp
19/4/08
68
0
6
Bắc Giang
Bạn xem File DBTIM có hợp ý bạn không.
 

Đính kèm

  • DBTIM.rar
    229.4 KB · Lượt xem: 866
D

dinhhe213

Guest
2/1/10
12
0
1
41
HT
Cảm ơn nhiều! Đúng là đúng ý rồi đó nhưng mà bạn phải nói rõ hơn cho mình chút được không? Ở phần list ấy mình không hiểu, và cũng không hiểu được thiết kế như thế nào nữa. Mấy ô MASO, TENKH, NGAY đó là text box mà. Tóm lại là không hiểu mấy, bạn chỉ rõ hơn cho chút được chứ.
 
H

haquocquan

Trung cấp
19/4/08
68
0
6
Bắc Giang
Cảm ơn nhiều! Đúng là đúng ý rồi đó nhưng mà bạn phải nói rõ hơn cho mình chút được không? Ở phần list ấy mình không hiểu, và cũng không hiểu được thiết kế như thế nào nữa. Mấy ô MASO, TENKH, NGAY đó là text box mà. Tóm lại là không hiểu mấy, bạn chỉ rõ hơn cho chút được chứ.

Mình sơ bộ thiết kế một số nội dung chính như vậy. Bạn thêm mắm, thêm muối vào cho phù hợp.
Giải thích:
- FORM đó là continuos form, có record source là table tblDs.
- Dùng Filter để lọc các bản ghi hiện lên form. Và mỗi một cách tìm sử dụng một điều kiện filter khác nhau.
Bạn xem code sự kiện after update ở các textbox.
 
D

dinhhe213

Guest
2/1/10
12
0
1
41
HT
Cảm ơn bạn! Để mình thử xem có gì giúp mình hoàn thành nốt phần này nhé.
 
D

dinhhe213

Guest
2/1/10
12
0
1
41
HT
Không ổn rồi! Cái đó chỉ lọc theo textbox thôi. Nếu mình làm một combobox thì nó báo lỗi. Phải làm combobox để người không nhớ mã cũng có thể lọc được. Làm combo thì nó cho mình hiển thị được cả một loạt giá trị như vậy hay hơn. Chỉ giáo...........
 
D

dinhhe213

Guest
2/1/10
12
0
1
41
HT
Thế này là thế nào vậy.
59048776.png

Có ai đó giúp mình với mình gần phải nộp báo cáo rồi.
 
D

dinhhe213

Guest
2/1/10
12
0
1
41
HT
À có lẽ mình biết lỗi rồi! Mình lúc đầu tạo một combo bằng wizard sau đó mình xoá đi tạo textbox xem sao. Nó báo lỗi giống lúc đầu, bạn chỉ giùm mình cách lập trình khi click vào combo thì xuất hiện MaKH,TenKH,DT để lựa chọn. Sau khi lựa chọn thì kết quả sẽ hiển thị những nhân viên có mã giống với mã trong combo đó. Giống như đề bài mình nói đó nhưng chỉ thay cái ô textbox bằng combo thôi.
 
H

haquocquan

Trung cấp
19/4/08
68
0
6
Bắc Giang
À có lẽ mình biết lỗi rồi! Mình lúc đầu tạo một combo bằng wizard sau đó mình xoá đi tạo textbox xem sao. Nó báo lỗi giống lúc đầu, bạn chỉ giùm mình cách lập trình khi click vào combo thì xuất hiện MaKH,TenKH,DT để lựa chọn. Sau khi lựa chọn thì kết quả sẽ hiển thị những nhân viên có mã giống với mã trong combo đó. Giống như đề bài mình nói đó nhưng chỉ thay cái ô textbox bằng combo thôi.

Xem bài của bạn, theo mình thấy:
- record source của form không nhất thiết phải dùng Select. lấy đầy đủ danh sách là được rồi: DSLamviec
- Sự kiện TxtTenKH_beforeupdate của bạn phải là:
Mã:
Private Sub TxtTenKH_BeforeUpdate(Cancel As Integer)
    DoCmd.ApplyFilter "", "[TenKH] = [Forms]![Form1]![TxtTenKH]"
End Sub
- cbotungay và cbodenngay: bạn đặt format là shortdate nhưng input mask lại là kiểu nhập của long date.
- Fields tên khách hàng của bạn không có một quy chuẩn, nên rất khó tạo điều kiện để tìm kiếm. Trong trường hợp bạn tạo cboTenKH, nếu bạn có hàng ngàn khách hàng thì dò tìm trong cboTenKH đến bao giờ mới thấy. Bạn nên đặt textbox và tìm kiếm theo ký tự đại diện thì hay hơn.
Theo mình: fields tên khách hàng bạn nên tách làm 2 fields: tenkh và diạchi, để tìm theo điều kiện tên khách hàng.
điều kiện ngày cũng vậy: bạn đặt là textbox thì chỉ việc gõ từ ngày đến ngày là được rồi.
Bạn nên đặt thêm một nút tìm kiếm.
Còn nếu bạn vẫn dùng combobox thì đặt ApplyFilter trong sự kiện afterupdate của combox.

Xin lỗi nhé, mấy hôm nay mình bận quá. không thể chỉnh sửa lại file cho bạn được.
Bạn thử theo hướng trên xem sao. Nếu vẫn chưa được, tiếp tục lên diễn đàn mọi người sẽ giúp. (mình cũng học chính từ diễn đàn)
 
D

dinhhe213

Guest
2/1/10
12
0
1
41
HT
Cảm ơn bạn. Mình sẽ hỏi một câu hỏi khác trên diễn đàn hi vọng được mọi người giúp đỡ mình.
 

Xem nhiều