-
sắp xếp thứ hạng trong access!
hjhjngon > 08-09-12, 09:59 PM
các bạn chỉ mình cách sắp xếp thứ hạng theo điểm trong access với, dùng lệnh trong query để sắp xếp ở table
xếp thứ hạng theo điểm chứ k phải là xếp theo thứ tự đâu nhé, xếp như rank trong excel nhưng mà không nhảy cóc thứ hạng khi có nhiều điểm bằng nhau thì càng tốt
bài làm của mình đây: http://www.mediafire.com/download.php?vq0hrsn879f9j8t -
RE: sắp xếp thứ hạng trong access!
cpucloi > 09-09-12, 12:45 PM
Bạn post file lên mọi người giúp cho bởi vì không hiểu ý bạn lắm. -
RE: sắp xếp thứ hạng trong access!
hjhjngon > 09-09-12, 01:45 PM
đã thêm file nhé bạn
ý mình làm xếp thứ hạng VD: điểm cao nhất thì hạng 1, điểm cao thứ 2 thì đứng hạng 2, nếu có 2 người đồng hạng thì người sau sẽ là hạng 3, hoặc là hạng 4 nếu bị nhảy cách -
RE: sắp xếp thứ hạng trong access!
Nguyendinhthanh > 10-09-12, 10:16 PM
-
RE: sắp xếp thứ hạng trong access!
hjhjngon > 10-09-12, 10:24 PM
nhưng mà bài tập của mình nó như thế, mình k biết nên mới post lên đây mà, giúp mình với -
RE: sắp xếp thứ hạng trong access!
Xuân Thanh > 11-09-12, 10:14 AM
(08-09-12, 09:59 PM)hjhjngon Đã viết: các bạn chỉ mình cách sắp xếp thứ hạng theo điểm trong access với, dùng lệnh trong query để sắp xếp ở table
xếp thứ hạng theo điểm chứ k phải là xếp theo thứ tự đâu nhé, xếp như rank trong excel nhưng mà không nhảy cóc thứ hạng khi có nhiều điểm bằng nhau thì càng tốt
bài làm của mình đây: http://www.mediafire.com/download.php?vq0hrsn879f9j8t
1/ Đúng là việc này ít sử dụng
2/ Nếu muốn làm thì làm thủ công thế này
2.1/ Tạo query từ table HoSo, chọn Acending cho trường HoTen, Decending cho truong Tong
2.2/ Chạy query trên và gõ số thứ tự từ 1 đến hết cho trường XepThu (Trong bài Demo của bạn là từ 1 - 10)
2.3/ Chuyển query trên thành query Update, Update To [XepThu]
2.4/ Run query Update vừa làm ở trên, bạn sẽ có kết quả như mong muốn
Nếu muốn nhanh và chính xác thì dùng VBA
Lưu ý : Với cách dùng query như trên, trình tự ưu tiên sẽ là Tong, nếu Tong bằng nhau thì ai có HoTen xếp trước theo vần ABC sẽ có thứ hạng đứng trước
Xem file đính kèm -
RE: sắp xếp thứ hạng trong access!
tracanhtam > 11-09-12, 11:31 AM
(11-09-12, 10:14 AM)Xuân Thanh Đã viết:
Vậy bạn viết dùm code VBA xếp hạng luôn đi, xin cám ơn(08-09-12, 09:59 PM)hjhjngon Đã viết: các bạn chỉ mình cách sắp xếp thứ hạng theo điểm trong access với, dùng lệnh trong query để sắp xếp ở table
xếp thứ hạng theo điểm chứ k phải là xếp theo thứ tự đâu nhé, xếp như rank trong excel nhưng mà không nhảy cóc thứ hạng khi có nhiều điểm bằng nhau thì càng tốt
bài làm của mình đây: http://www.mediafire.com/download.php?vq0hrsn879f9j8t
1/ Đúng là việc này ít sử dụng
2/ Nếu muốn làm thì làm thủ công thế này
2.1/ Tạo query từ table HoSo, chọn Acending cho trường HoTen, Decending cho truong Tong
2.2/ Chạy query trên và gõ số thứ tự từ 1 đến hết cho trường XepThu (Trong bài Demo của bạn là từ 1 - 10)
2.3/ Chuyển query trên thành query Update, Update To [XepThu]
2.4/ Run query Update vừa làm ở trên, bạn sẽ có kết quả như mong muốn
Nếu muốn nhanh và chính xác thì dùng VBA
Lưu ý : Với cách dùng query như trên, trình tự ưu tiên sẽ là Tong, nếu Tong bằng nhau thì ai có HoTen xếp trước theo vần ABC sẽ có thứ hạng đứng trước
Xem file đính kèm -
RE: sắp xếp thứ hạng trong access!
hjhjngon > 11-09-12, 01:10 PM
bạn code lun VBA rùi chỉ mình cách dùng lun với -
RE: sắp xếp thứ hạng trong access!
Xuân Thanh > 11-09-12, 03:30 PM
(11-09-12, 01:10 PM)hjhjngon Đã viết: bạn code lun VBA rùi chỉ mình cách dùng lun với
1/ Tạo một table XepHangHocSinh có cấu trúc giống hệt table HoSo nhưng không cập nhật di74 liệu
2/ Tạo một query qryXepHang như sau ;
3/ Tạo một modul mới rồi chép hai hàm sau vào modulMã:SELECT HoSo.STT, HoSo.HoTen, HoSo.NgaySinh, HoSo.NoiSinh, HoSo.Toan, HoSo.Van, HoSo.Anh, HoSo.Tong, HoSo.XepLoai
FROM HoSo
ORDER BY HoSo.Tong DESC , HoSo.HoTen;
Mã:Option Compare Database
Option Explicit
Function XoaTable(TabName As String)
Dim CauSQL As String
CauSQL = "DELETE * FROM " & TabName
DoCmd.SetWarnings False
DoCmd.RunSQL CauSQL
DoCmd.SetWarnings True
End Function
Function XepHang()
Dim HS As Recordset
Dim XH As Recordset
Dim QX As QueryDef
Dim i As Integer, k As Integer
Set QX = CurrentDb.QueryDefs("qryXepHang")
Set HS = QX.OpenRecordset()
Set XH = CurrentDb.OpenRecordset("XepHangHocSinh", dbOpenTable)
If XH.RecordCount > 0 Then Call XoaTable("XepHangHocSinh")
HS.MoveFirst
For i = 1 To HS.RecordCount
XH.AddNew
For k = 0 To HS.Fields.Count - 1
XH.Fields(k) = HS.Fields(k)
Next
XH!XepThu = i
XH.Update
HS.MoveNext
Next
XH.Close: HS.Close
End Function
4/ Chạy hàm XepHang bằng một nút bấm hoặc gì gì đó tùy bạn
Lưu ý : Khi chạy hàm XepHang, đầu tiên nó sẽ xóa toàn bộ table XepHangHocSinh, sau đó nhặt từng record của table HoSo vào và xếp hạng học sinh như tôi đã nói ở trên. Vì thế bạn cứ thoải mái cập nhật cho table HoSo mà không phải bận tâm tới Table XepHangHocSinh
Thân mến -
RE: sắp xếp thứ hạng trong access!
ndthanh29 > 13-06-14, 01:49 PM
bạn Xuân Thanh có file demo không bạn?