Nhưng nếu top 2 sotien không thỏa dk là HLMT, thì nó kg chịuAnh thử Select Top 2 xem coi được hong nhé.
VD: Max là 100.000 và 111.000 nhưng là XN
PHP:
Sub LocADO_04()
Dim ST01, ST02
Dim iR&, iC&
Dim sTxT$
Dim fDate$: fDate = "01/07/2012"
Dim eDate$: eDate = "14/07/2012"
Dim sArr, rArr
sTxT = "HLMT"
Dim lsSQL As String: Dim rst As New ADODB.Recordset
If cnn.State = 1 Then cnn.Close
With Sheet4
.[A2].Resize(1000, 3).ClearContents
End With
Moketnoi
lsSQL = "SELECT [NCC], [Ten_NCC], [sotien] FROM [data$]"
lsSQL = lsSQL & "where left([NCC],4) like '" & sTxT & "'"
lsSQL = lsSQL & "and [Ngay] >=#" & fDate & "#"
lsSQL = lsSQL & "and [Ngay] <=#" & eDate & "#"
lsSQL = lsSQL & "and sotien in (select top 2 sotien from [data$] order by sotien DESC)"
rst.Open lsSQL, cnn, adOpenStatic, adLockReadOnly
If rst.RecordCount Then
sArr = rst.GetRows()
ReDim rArr(1 To UBound(sArr, 2) + 1, 1 To UBound(sArr) + 1)
For iR = 0 To UBound(sArr, 2)
For iC = 0 To UBound(sArr)
rArr(iR + 1, iC + 1) = sArr(iC, iR)
Next iC
Next iR
Else
Exit Sub
End If
With Sheet4
.[A2].Resize(rst.RecordCount, 3) = rArr
End With
rst.Close: Set rst = Nothing
cnn.Close: Set cnn = Nothing
Erase sArr, rArr
End Sub