自定义分段函数/求第N名成绩,需要的朋友可以参考下。
代码如下:
Function splitx(strs1 As String, strs2 As String, n As Integer)
'自定义分段函数 splitx([字符串],"分隔符",第n段)
Dim groupST() As String
groupST = Split(strs1, strs2)
If UBound(groupST) < n - 1 Then
splitx = 0
Else
splitx = groupST(n - 1)
End If
End Function
'/-------------------------------------
Function minx(KSMC As String, lb As String, kmi As String, n As String)
'第N名的成绩 minx([考试名称],[类别],[科目],n)
Dim con As Object
Dim RS As Object
Dim stsql As String
Dim kmf As String
kmf = Mid(kmi, 1, 1) & "组"
Set con = Application.CurrentProject.Connection
Set RS = CreateObject("ADODB.Recordset")
STRSQL = "SELECT top 1 " & kmi & " as 达标分 FROM 成绩总表 "
STRSQL = STRSQL + " WHERE ((( " & kmf & " ) <= " & n & ") And ((类别) = '" & lb & "' and 考试名称='" & KSMC & "'))"
STRSQL = STRSQL + " ORDER BY " & kmi
RS.Open STRSQL, con, 3, 3
If RS.EOF Then
minx = 0
Else
minx = RS("达标分")
End If
RS.Close
Set RS = Nothing
Set con = Nothing
End Function