-
[Phần 2] Demo Hàm Xếp hạng
maidinhdan > 27-06-19, 02:18 AM
Trưước đây tôi có 1 Hướng Dẫn Demo Code Xếp hạng trong Query giống như hàm Rank trong Excel hạn chế của nó là nó bị nhảy bậc.
Và thể theo yêu cầu của nguyenvanhongthang@gmail.com ta se viết 1 hàm ngắn gọn và dùng được trên mọi địa hình.
Trích dẫn:từ:Nguyễn Văn Hồng Thắng <nguyenvanhongthang@gmail.com>
tới:maidinhdan@gmail.com
ngày:21:05, 26 thg 6, 2019
Bạn có thể huớng dẫn mình xếp thứ hạng mà không bị nhảy bậc được không
ạ? Thấy cái bạn làm ở đây nó bị nhảy bậc khi có người bằng nhau mất.
Mong bạn giúp đỡ ạ!
* Để thực hiện được ta viết 1 hàm như sau
Mã PHP:'---------------------------------------------------------------------------------------
' Procedure : HamXepHang (I)
' Author : HENDAN_WIN10PRO
' Date : 27/06/2019
' Purpose : HamXepHang("BangLuong","NGAYCONG",[NGAYCONG])
'---------------------------------------------------------------------------------------
'
Function HamXepHang(TenTable As String, TenCotCanXepHang As String, SoCanXep As Integer) As Integer
Dim rs As Recordset
Dim sql As String
Dim i As Integer
On Error GoTo Loi
sql = "SELECT " & TenCotCanXepHang & " FROM " & TenTable & " GROUP BY " & TenCotCanXepHang & " ORDER BY " & TenCotCanXepHang
Set rs = CurrentDb.OpenRecordset(sql)
If rs.RecordCount > 0 Then
rs.MoveFirst
i = 1
Do Until rs.EOF
If rs.Fields(TenCotCanXepHang) = SoCanXep Then
HamXepHang = i
GoTo ThoatLoi
End If
i = i + 1
rs.MoveNext
Loop
Else
MsgBox "Khong co nguoi nao de xep hang"
End If
ThoatLoi:
rs.Close
Exit Function
Loi:
Resume ThoatLoi
End Function
* Cú pháp gọi để sử dụng
Mã PHP:HamXepHang("Tên table của bạn","Tên cột cần xếp hạng",[Tên đối tượng cần phân loại hạng mấy])
* Lưu ý, 2 tham số đầu 1 kiểu chuỗi phải đặt trong dấy nháy đôi, còn cái thứ 3 phải để trong dấy []
* Đính kèm Demo.
Thân mếm -
RE: [Phần 2] Demo Hàm Xếp hạng
Thang0977427268 > 28-06-19, 10:46 AM
Cảm ơn bạn maidinhdan nhiều ạ! -
RE: [Phần 2] Demo Hàm Xếp hạng
Thang0977427268 > 28-06-19, 12:27 PM
Bạn maidinhdan ơi! Cho mình hỏi xíu cái này mình thực hiện từ nguồn Query không phải là Table có được không nhỉ? Do mình làm nó cứ bị treo chứ không chạy được? Nguồn của mình là Query không phải Table -
RE: [Phần 2] Demo Hàm Xếp hạng
maidinhdan > 29-06-19, 11:20 PM
(28-06-19, 12:27 PM)Thang0977427268 Đã viết: Bạn maidinhdan ơi! Cho mình hỏi xíu cái này mình thực hiện từ nguồn Query không phải là Table có được không nhỉ? Do mình làm nó cứ bị treo chứ không chạy được? Nguồn của mình là Query không phải Table
Lỗi này có thể do form không thích hợp với bản office cua bạn.
Bạn tạo 1 file Access mới tinh, chỉ import Table, Query, Modules ( ngoại trừ form).... rồi tự làm cái form mới sẽ hết treo thôi.
Cách khác: Dùng Demo [Hàm] [Phần 3] Demo Xếp hạng (Dùng Mãng Array) -
RE: [Phần 2] Demo Hàm Xếp hạng
Nguyễn Thị Thuận > 09-09-24, 05:58 PM
Dear Anh Maidinhdan,
Hiện em cũng đang có một danh sách là số kg của vận động viên theo đội, sắp xếp thứ tự trong đội, và nếu trùng kg với các bạn trong đội thì sẽ không trùng xếp hạng. Nhờ anh hỗ trợ giúp em ạ.
Cách khác: Dùng Demo [Hàm] [Phần 3] Demo Xếp hạng (Dùng Mãng Array)
[/quote] -
RE: [Phần 2] Demo Hàm Xếp hạng
ongke0711 > 09-09-24, 06:36 PM
(09-09-24, 05:58 PM)Nguyễn Thị Thuận Đã viết: Dear Anh Maidinhdan,
[/quote]
Hiện em cũng đang có một danh sách là số kg của vận động viên theo đội, sắp xếp thứ tự trong đội, và nếu trùng kg với các bạn trong đội thì sẽ không trùng xếp hạng. Nhờ anh hỗ trợ giúp em ạ.
Cách khác: Dùng Demo [Hàm] [Phần 3] Demo Xếp hạng (Dùng Mãng Array)
Bạn gửi cái file đó lên đây với dữ liệu giả thôi và bảng kết quả mong muốn để mọi người mới có thể xử lý được nhé. -
RE: [Phần 2] Demo Hàm Xếp hạng
Nguyễn Thị Thuận > 10-09-24, 12:22 AM
Dear Anh/Chị,
Em gửi file ạ, nhờ Anh/Chị xem giúp em, Hiện em cũng đang có một danh sách là số kg của vận động viên theo đội, sắp xếp thứ tự trong đội, và nếu trùng kg với các bạn trong đội thì sẽ không trùng xếp hạng. Nhờ anh hỗ trợ giúp em ạ.
Em có file access, Nhưng không biết làm sao gửi lên đây được em chép tạm bên dưới ạ. Nhờ Anh/Chị giúp đỡ. Em cảm ơn ạ.
TblKG
MaSale
TenSale
TenNhomTruong
MaNhom
SoKg
A719213
Triệu Bảo Long
Nguyễn Đại Ka
A706671
15.6
A719930
Hứa văn Được
Nguyễn Đại Ka
A706671
55.9
A719668
Phan Văn Tài
Phan Minh Nguyệt
A715693
67.5
A719546
Bảo Bảo
Phan Minh Nguyệt
A715693
87.999
A719781
Nguyễn Văn Tý
Phan Minh Nguyệt
A715693
45.7
A719058
Ngọc Quế
Trấn Thành
A716628
67.5
A719053
Văn Đức
Trấn Thành
A716628
67.5
A719522
Trấn Thành
Trấn Thành
A716628
0
A719968
Cam Thị Hòa
Trấn Thành
A716628
8.7
A719959
Phan Chí Thắng
Trấn Thành
A716628
99
A719958
Nguyễn Văn Bo
Trấn Thành
A716628
89.2
A719151
Phạm Văn Tèo
Lê Văn Đẹp
A717219
53.6