dungnvl08 > 29-02-12, 02:05 PM
huylam > 29-02-12, 06:28 PM
dungnvl08 > 01-03-12, 02:08 PM
(29-02-12, 06:28 PM)huylam Đã viết: Chào bạn! Dữ liệu của bạn còn thiếu 1 cái là mỗi môn sẽ có 1 tổng hệ số riêng, ví dụ môn Văn tổng hệ số là 8, môn Toán tổng hệ số là 10, vv...
Theo dữ liệu của bạn thì tất cả các môn học đều có tổng hệ số là 8
Cách tính trung bình môn cho trường hợp này của bạn là:
Xây dựng 2 query:
-QueryDiemNhanHeSo: Tính điểm nhân với hệ số theo từng môn học của Học viên
SELECT T_Diem.Hocky, T_DSHocsinh.Mahocsinh, T_Diem.Mamon, T_Diem.Diem, T_Diem.Madiem, T_PLDiem.HeSo, [T_Diem.Diem]*[T_PLDiem.HeSo] AS DiemNhanHeSo
FROM T_PLDiem INNER JOIN (T_DSHocsinh INNER JOIN T_Diem ON T_DSHocsinh.Mahocsinh = T_Diem.Mahocsinh) ON T_PLDiem.Madiem = T_Diem.Madiem;
-QueryTrungBinhMon: Tính trung bình theo từng môn học của học viên
SELECT QueryDiemNhanHeSo.Hocky, QueryDiemNhanHeSo.Mahocsinh, QueryDiemNhanHeSo.Mamon, Sum(QueryDiemNhanHeSo.DiemNhanHeSo) AS SumOfDiemNhanHeSo, DSum("[HeSo]","T_PLDiem") AS TongHeSo, [SumOfDiemNhanHeSo]/[TongHeSo] AS TrungBinhMon
FROM QueryDiemNhanHeSo
GROUP BY QueryDiemNhanHeSo.Hocky, QueryDiemNhanHeSo.Mahocsinh, QueryDiemNhanHeSo.Mamon;
------------------
Hi vọng sẽ giúp ích được bạn!
huylam > 01-03-12, 10:42 PM
dungnvl08 > 02-03-12, 02:08 PM
(01-03-12, 10:42 PM)huylam Đã viết: Chào bạn!
Đây là cách tính theo bạn yêu cầu của bạn (Nếu học sinh A có 02 điểm miệng, 04 điểm 15 phút, 03 điểm 1 tiết, 01 điểm học kỳ thì tổng hệ số của học sinh A là: Tổng hệ số: 2X1 + 4x1 + 3x2 + 1x3 = 15)
SELECT T_Diem.Hocky, T_DSHocsinh.Mahocsinh, T_Diem.Mamon, Sum([T_Diem.Diem]*[T_PLDiem.HeSo]) AS SumOfDiemNhanHeSo, Sum(T_PLDiem.HeSo) AS SumOfHeSo, [SumOfDiemNhanHeSo]/[SumOfHeSo] AS TrungBinhMon
FROM T_PLDiem INNER JOIN (T_DSHocsinh INNER JOIN T_Diem ON T_DSHocsinh.Mahocsinh = T_Diem.Mahocsinh) ON T_PLDiem.Madiem = T_Diem.Madiem
GROUP BY T_Diem.Hocky, T_DSHocsinh.Mahocsinh, T_Diem.Mamon;
Have fun!
huylam > 02-03-12, 07:22 PM
(02-03-12, 02:08 PM)dungnvl08 Đã viết:Bạn lên đây down về nhé: http://www.mediafire.com/?3hoskvtp7495fpp(01-03-12, 10:42 PM)huylam Đã viết: Chào bạn!
Đây là cách tính theo bạn yêu cầu của bạn (Nếu học sinh A có 02 điểm miệng, 04 điểm 15 phút, 03 điểm 1 tiết, 01 điểm học kỳ thì tổng hệ số của học sinh A là: Tổng hệ số: 2X1 + 4x1 + 3x2 + 1x3 = 15)
SELECT T_Diem.Hocky, T_DSHocsinh.Mahocsinh, T_Diem.Mamon, Sum([T_Diem.Diem]*[T_PLDiem.HeSo]) AS SumOfDiemNhanHeSo, Sum(T_PLDiem.HeSo) AS SumOfHeSo, [SumOfDiemNhanHeSo]/[SumOfHeSo] AS TrungBinhMon
FROM T_PLDiem INNER JOIN (T_DSHocsinh INNER JOIN T_Diem ON T_DSHocsinh.Mahocsinh = T_Diem.Mahocsinh) ON T_PLDiem.Madiem = T_Diem.Madiem
GROUP BY T_Diem.Hocky, T_DSHocsinh.Mahocsinh, T_Diem.Mamon;
Have fun!
Cảm ơn bạn. Theo hướng dẫn của bạn mình đã làm được.
Nhưng hiện giờ mình gặp phải một khó khăn nữa là thiết kế Forms nhập điểm. (Mình làm hoài mà nhập điểm nhảy lung tung: điểm miệng -> 15 phút, điểm 1 tiết -> học kỳ)
Bạn giúp mình nhé!