Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Giúp mình hàm tính điểm TB môn
#1
Mình có CSDL như demo.
Các bạn giúp mình hàm tính điểm TB môn theo Qui chế của Bộ GDĐT:
TB môn = Điểm các bài kiểm tra X hệ số/ Tổng hệ số.

Đây là demo của mình http://www.box.com/s/v3shekmpo2ic89idpsch
Chữ ký của dungnvl08 Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#2
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!
Chữ ký của huylam Xin chào, mình là huylam, Tham gia http://thuthuataccess.com/forum từ ngày 29-02 -12.
Reply
Những người đã cảm ơn Noname
#3
(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!

Cảm ơn bạn rất nhiều. Ở dữ liệu của mình không có tổng hệ số từng môn vì tổng hệ số = các hệ số cộng lại
Ví dụ: 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
Chữ ký của dungnvl08 Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#4
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!
Chữ ký của huylam Xin chào, mình là huylam, Tham gia http://thuthuataccess.com/forum từ ngày 29-02 -12.
Reply
Những người đã cảm ơn
#5
(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é!
Chữ ký của dungnvl08 Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#6
(02-03-12, 02:08 PM)dungnvl08 Đã viết:
(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é!
Bạn lên đây down về nhé: http://www.mediafire.com/?3hoskvtp7495fpp
Xem form frmDiem
Lần sau bạn đừng sử dụng font .VnTime nữa nhé! không hổ trợ tốt cho lập trình đâu! bạn hãy sử dụng font của Unicode, ví dụ như font Arial chẳng hạng.
Have fun!
Chữ ký của huylam Xin chào, mình là huylam, Tham gia http://thuthuataccess.com/forum từ ngày 29-02 -12.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Cần giúp đỡ chuyển số có thập phân ra chữ ledangvan 12 629 07-11-16, 03:56 PM
Bài mới nhất: maidinhdan
  Xin giúp đỡ về VBA Access ! vocan 12 659 11-07-16, 10:45 PM
Bài mới nhất: ongke0711
Photo Hướng dẫn tính tôn kho từ một bảng chi tiết nhập xuất tt1212 8 398 17-06-16, 04:47 PM
Bài mới nhất: tt1212
  [Help] Tính lãi suất vay ngân hàng dangh5 2 171 31-05-16, 12:25 AM
Bài mới nhất: dangh5
  [Help] phép tính có điều kiện thanhquyt 2 256 22-01-16, 11:00 PM
Bài mới nhất: thanhquyt

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ