Help: Báo cáo: Đếm toàn bộ số phiếu bảo hành đã hoàn thành/chưa hoàn thành trong khoảng thời gian

  • Thread starter tungnt_dk
  • Ngày gửi
T

tungnt_dk

Guest
8/5/15
9
0
1
39
Hiện tại em có 1 CSDL bao gồm bảng:
TTBH (trung tâm bảo hành)
Bảng bao gồm các trường:
  • SOPHIEU (Số phiếu: Autonumber)
  • NGAYTIEPNHANTT (Ngày tiếp nhận thông tin: Long Date)
  • SANPHAM (Sản phẩm: Text)
  • IMEI (Số Imei hoặc serial: Text)
  • LOI (Mô tả lỗi: Memo)
  • KETQUABH (Kết quả bảo hành: Text (nhưng chỉ có 1 trong 2 giá trị: Đã hoàn thành/ Chưa hoàn thành)
Em tạo 1 Query:
Thongkebaocao (thống kê báo cáo) (nguồn dữ liệu là bảng TTBH)
Query bao gồm tất cả các trường như bảng TTBH
  • SOPHIEU
  • NGAYTIEPNHANTT (Criteria: Between [nhập ngày bắt đầu] And [ngày kết thúc]) => Để lọc báo cáo theo ngày cần xem
  • SANPHAM
  • IMEI
  • LOI
  • KETQUABH
Mình cần tạo 1 Form Report:

Baocao (báo cáo) (nguồn lấy từ query Thongkebaocao)
Tổng số trường hợp bảo hành : =Count([Thongkebaocao]![SOPHIEUBH])
=> Đếm tất cả số phiếu BH trong khoảng thời gian nhập vào => Câu lệnh này cho ra kết quả đúng

Tổng số trường hợp đã hoàn thành: =DCount("[SOPHIEUBH]","thongkebaocao","[KETQUABH] = 'Đã hoàn thành'")
=> Đếm tất cả số phiếu BH “Đã hoàn thành” trong khoảng thời gian nhập vào => Câu lệnh này cho ra kết quả #Error

Tổng số trường hợp chưa hoàn thành: =DCount("[SOPHIEUBH]","thongkebaocao","[KETQUABH] = 'Chưa hoàn thành'")
=> Đếm tất cả số phiếu BH “Chưa hoàn thành” trong khoảng thời gian nhập vào => Câu lệnh này cho ra kết quả #Error

Không rõ nguyên nhân tại sao câu lệnh trên chỉ đúng với hàm Count không có điều kiện, và cho ra kết quả đúng.
Còn hàm DCount thì không đúng và cho ra kết quả #Error.
Nhờ các cao thủ chỉ giúp xem nguyên nhân là do đâu với ạ.

P/s:
Nếu em bỏ điều kiện nhập ngày tiếp nhận thông tin khi chạy báo cáo thì tất cả các hàm trên đều cho ra kết quả đúng!
 
Khóa học Quản trị dòng tiền
O

ongke0711

Sơ cấp
11/7/07
43
16
8
50
HCM
Em up cái file lên đây để dễ kiểm tra.
Theo câu lệnh Dcount của em thì không sai, nhưng cái thiết kế form lọc như thế nào có thể gây lỗi.
Có thể dùng DCount với điều kiện Date luôn cũng được,
 
O

ongke0711

Sơ cấp
11/7/07
43
16
8
50
HCM
DCount không chạy được với Query mà có parameter nhé.
Tốt nhất là tạo chạy report thông qua 1 form. Form này đưa tham số từ ngay, đến ngày rồi chạy report.
Tôi đã chỉnh lại như file đính kèm.
Góp ý thêm là cái field [KETQUABH] nên đổi thành dạng Yes/No hoặc combobox với value list (1;"Chưa hoàn thành",2,"Đã hoàn thành") để query tìm dạng số (1, 2) nhanh hơn dạng text
 

Đính kèm

  • TTBH(revised).accdb.zip
    43.5 KB · Lượt xem: 90
  • Like
Reactions: tungnt_dk
T

tungnt_dk

Guest
8/5/15
9
0
1
39
DCount không chạy được với Query mà có parameter nhé.
Tốt nhất là tạo chạy report thông qua 1 form. Form này đưa tham số từ ngay, đến ngày rồi chạy report.
Tôi đã chỉnh lại như file đính kèm.
Góp ý thêm là cái field [KETQUABH] nên đổi thành dạng Yes/No hoặc combobox với value list (1;"Chưa hoàn thành",2,"Đã hoàn thành") để query tìm dạng số (1, 2) nhanh hơn dạng text
Rất cám ơn ongke0711 đã giúp đỡ. em sẽ nghiên cứu thêm và chỉnh sửa lại chương trình của mình.
Bài viết của anh rất hữu ích đối với em.

Cám ơn anh!
 

Xem nhiều