Em gặp một ca khó, mong các bác chỉ giáo giúp em:
Bài toàn của em gồm 2 bảng: "Doanh so" và "Diem doanh so"
Trong đó:
- Bảng "Doanh so" gồm các trường: [Nhan vien], [Doanh so] là số liệu doanh số thật của từng nhân viên;
- Bảng "Diem doanh so" gồm các trường: [Doanh so]; [Diem] quy định việc cho điểm theo mức doanh số cụ thể. Việc tính điểm được thực hiện theo quy định cứ vượt mỗi 10 đơn vị doanh số được tính 1 điểm. Từ 50 đơn vị doanh số trở lên thì không cộng điểm nữa, tức là điểm doanh số tối đa là 5 điểm.
Để tính toán điểm doanh số cho từng nhân viên, em thiết lập query "Tinh diem doanh so" gồm các trường sau:
[Nhan vien]; [Doanh so]; [Diem doanh so].
Trong đó,
+ [Nhan vien] và [Doanh so] lấy trực tiếp từ bảng "Doanh so"
+ [Diem doanh so] được tra cứu từ trường [Diem] ở bảng "Diem doanh so" với doanh số tương ứng của từng nhân viên. Để tra cứu được cột [Diem doanh so] em dùng công thức sau:
Mã:
Diem doanh so: IIf(IsNull([Doanh so]),"N/A",DLookUp("[Diem]","Diem doanh so","[Doanh so]=" & DMax("[Doanh so]","Diem doanh so","[Doanh so] <= " & [Doanh so])))
Cơ bản công thức trên đã cho em kết quả đúng khi tra cứu [Diem doanh so] cho từng nhân viên. Tuy nhiên, sau khi em thử các trường hợp thì phát sinh vấn đề là:
Nếu [Doanh so] của nhân viên là
số thập phân thì công thức không thể đọc được, ô [Diem doanh so] hiện
"#Error" với thông báo
"Syntax error (comma) in query expression" và khi em bấm Help thì Help báo lỗi cụ thể là
"<Message> in query expression <expression>. (Error 3075)"
Em không rõ cách khắc phục vấn đề này như thế nào và sửa công thức trên query ra sao.
Bác nào biết xin chỉ giáo giùm em.
Xin đa tạ... đa tạ...
PS: Em không biết up file lên thế nào để các bác xem chi tiết. Mong các bác thông cảm.