Por que você deseja classificar / reverter a
em vez de recordSet
?
Use o% recordset.Sort = recordSet.Fields(1).Name & " ASC"
Mais detalhes: link
Estou tentando obter registros de um banco de dados e preenchê-los no Excel.
É assim que recebo os dados e os preencho (nota: a consulta é simplificada, não posso apenas ORDER BY DESC
):
Sub FillPersons(ByRef connection As ADODB.connection)
Dim recordSet As ADODB.recordSet
Set recordSet = New ADODB.recordSet
Dim sql As String
sql = "SELECT TOP 2 Id FROM Persons"
recordSet.activeconnection = connection
recordSet.Open sql
Dim a As Variant
If Not recordSet.EOF Then
a = recordSet.GetRows
a.Reverse (a)
Sheet1.Cells(10, 2).Resize(UBound(a, 1) + 1, UBound(a, 2) + 1).Value = a
End If
'Sheet1.Range("B10").CopyFromRecordset recordSet
recordSet.Close
connection .Close
Set connection = Nothing
End Sub
Infelizmente, o resultado é assim:
B10 B11
2 1
em vez de
B10 B11
1 2
Eu tentei reverter a
, mas infelizmente não consigo fazer isso funcionar.
Existe algum truque para obter o resultado correto?
Obrigado antecipadamente
Por que você deseja classificar / reverter a
em vez de recordSet
?
Use o% recordset.Sort = recordSet.Fields(1).Name & " ASC"
Mais detalhes: link
Tags microsoft-excel vba