Thông báo Access: Enter Parameter value, không hiện giá trị query

Liên hệ QC

dhn46

Hướng tới tương lai
Tham gia
1/3/11
Bài viết
3,252
Được thích
3,868
Chào các bạn/anh/chị,

Các bạn/anh/chị cho dhn46 hỏi về Access.

Trong file đính kèm tại sao:

1/ Khi mở Query Qry_LeavingInOfficial hay Qry_LeavingInProbation thì hiện thông báo Enter Parameter value, có cách nào tắt thông báo đó

2/ Khi mở Query Qry_LeavingSummarize thì không hiện giá trị tổng hợp, hiện thông báo như trên, khi bỏ 1 đối tượng design thì giá trị lại hiện lên.

Do mới tìm hiểu nên mong các bạn/anh /chị hỗ trợ.

Xin cảm ơn
 

File đính kèm

  • Hoi GPE.zip
    36.7 KB · Đọc: 25
Lần chỉnh sửa cuối:
Chào các bạn/anh/chị,

Các bạn/anh/chị cho dhn46 hỏi về Access.

Trong file đính kèm tại sao:

1/ Khi mở Query Qry_LeavingInOfficial hay Qry_LeavingInProbation thì hiện thông báo Enter Parameter value, có cách nào tắt thông báo đó

2/ Khi mở Query Qry_LeavingSummarize thì không hiện giá trị tổng hợp, hiện thông báo như trên, khi bỏ 1 đối tượng design thì giá trị lại hiện lên.

Do mới tìm hiểu nên mong các bạn/anh /chị hỗ trợ.

Xin cảm ơn

mình hổng biết nhiều về access đâu , nhưng có nói 1 câu , chưa có thấy file của bạn .--=0--=0
 
Bạn sai ở Field công thức ở cả 2 Query. Trong query bạn không thể sử dụng Tên Field bạn tự gán cho một field nào đó trong công thức tính toán.
Vd: trong Qry_LeavingInOfficial bạn gán [OfficialLeavingTotal]: [LeavingTotal] sau đó lại sử dụng tên [OfficialLeavingTotal] cho công thức của Field LeavingInOfficialSalary: [BasicSalary]/[WorkingDayPerMonth]*[OfficialLeavingTotal]*[CoefficientSalary]. Bạn phải đổi lại thành: LeavingInOfficialSalary: [BasicSalary]/[WorkingDayPerMonth]*[LeavingTotal]*[CoefficientSalary]
- Áp dụng tương tự cho Qry_LeavingInProbation.
- Khi bạn sửa 2 query này thì cái query Sum tự động không hiện parameter nữa.

 
Bạn sai ở Field công thức ở cả 2 Query. Trong query bạn không thể sử dụng Tên Field bạn tự gán cho một field nào đó trong công thức tính toán.
Vd: trong Qry_LeavingInOfficial bạn gán [OfficialLeavingTotal]: [LeavingTotal] sau đó lại sử dụng tên [OfficialLeavingTotal] cho công thức của Field LeavingInOfficialSalary: [BasicSalary]/[WorkingDayPerMonth]*[OfficialLeavingTotal]*[CoefficientSalary]. Bạn phải đổi lại thành: LeavingInOfficialSalary: [BasicSalary]/[WorkingDayPerMonth]*[LeavingTotal]*[CoefficientSalary]
- Áp dụng tương tự cho Qry_LeavingInProbation.
- Khi bạn sửa 2 query này thì cái query Sum tự động không hiện parameter nữa.


Cảm ơn bạn, chính xác ý thứ 1 của câu hỏi.

Vậy với ý thứ 2 thì dhn46 phải giải quyết như thế nào

Xin cảm ơn.
 
Mã:
Vậy với ý thứ 2 thì dhn46 phải giải quyết như thế nào

Nhờ các anh chị tư vẫn dhn46 phần còn lại của thắc mắc.

Xin cảm ơn
 
Giá trị tổng hợp là field nào? và bạn bỏ field nào thì nó chạy?
Bạn kiểm tra lại relationship giữa các query có đúng chưa.
 
Giá trị tổng hợp là field nào? và bạn bỏ field nào thì nó chạy?
Bạn kiểm tra lại relationship giữa các query có đúng chưa.
Rất cảm ơn bạn đã phản hồi.

Trong query đó có 1 table và 2 query. Khi bỏ 1 query đi thì giá trị sẽ hiện, còn giữ nguyên thì không có dữ liệu.

Bạn mở Query: Qry_LeavingSummarize sẽ thấy không có dữ liệu.

Cảm ơn bạn.
 
Access khác với Excel là chuyên về CSDL nên trong Access, cái quan trọng nhất ban đầu là thiết kế table và tạo quan hệ (Relationship) giữa các table. Cái CSDL của bạn tạo chưa chuẩn.
Table:
- Chưa tạo relationship giữa các table.
- Tbl_DataLeaving đặt Primary Key sai. Table này có nhiệm vụ ghi nhận ngày nghỉ của các nhân viên do vậy 1 mã nhân viên có thể sẽ xuất hiện nhiều lần (trùng lắp) vì nghỉ ở những khoản thời gian khác nhau. Do vậy bạn không thể set field
Mã:
 là Primary Key được (không được trùng lắp), sau này khi nhập liệu sẽ báo lỗi trùng lắp mã nhân viên. Bạn nên set field [Code] có Index: Yes (Duplicates OK). Ở table này không cần lặp lại field [Name] để tránh 1 thông tin được lưu tại nhiều chỗ, làm cho CSDL phình ra. Bạn chỉ cần tham chiếu [Code] là được rồi.
[B]Query:[/B]
- Đối với Qry_LeavingSumarize, bạn set quan hệ giữa field [Code] của Tbl_Data với field [Code] của 2 Qry kia là quan hệ 1-1, có nghĩa là chỉ hiển thị những [mã nhân viên] nào vừa có ngày nghỉ trong Qry_LeavingInOfficial và vừa có ngày nghỉ trong Qry_LeavingProbation mà trong 2 cái query này không có nhân viên nào trùng nhau => kết quả 0 record.
- Sửa lại: 
    + Set quan hệ 1-nhiều giữa Tbl_Data và 2 Qry.
    + Thêm điều kiện field cho field LeavinhInOfficial <>0 OR LeavingProbation<>0. Copy câu lệnh SQL  cho cái Qry_LeavingSumarize như bên dưới.
 [COLOR=#0000FF]"SELECT Tbl_Data.Code, Tbl_Data.ProbationDate, Tbl_Data.OfficalContractSigningDate, Tbl_Data.Department,    Tbl_Data.Position, Tbl_Data.BasicSalary, Tbl_Data.ProbationSalary, Sum(Qry_LeavingInOfficial.OfficialLeavingTotal) AS SumOfOfficialLeavingTotal, Sum(Qry_LeavingInProbation.ProbationLeavingTotal) AS SumOfProbationLeavingTotal[/COLOR][COLOR=#0000FF]FROM (Tbl_Data LEFT JOIN Qry_LeavingInOfficial ON Tbl_Data.Code = Qry_LeavingInOfficial.Code) LEFT JOIN Qry_LeavingInProbation ON Tbl_Data.Code = Qry_LeavingInProbation.Code[/COLOR]
[COLOR=#0000FF]GROUP BY Tbl_Data.Code, Tbl_Data.Name, Tbl_Data.ProbationDate, Tbl_Data.OfficalContractSigningDate, Tbl_Data.Department, Tbl_Data.Position, Tbl_Data.BasicSalary, Tbl_Data.ProbationSalary[/COLOR]
[COLOR=#0000FF]HAVING (((Sum(Qry_LeavingInOfficial.OfficialLeavingTotal))<>0)) OR (((Sum(Qry_LeavingInProbation.ProbationLeavingTotal))<>0));[/COLOR]
 
Xin cảm ơn sự giúp đỡ nhiệt tình của bạn.

Trân trọng.
 
dhn46: Học Access khác xa với excel, cần học về database bố trí cơ sở dữ liệu và các relationship của các tables, vv, hiệu quả sử dụng là các bố trí tối ưu tối giản của database và relationship như 1-1, 1-n, hay 1-n-1 ...vv, Còn các lệnh khi đó chỉ là khai thác mà thui
 
Web KT
Back
Top Bottom