Volevo farvi partecipi , è dirvi ke con ado o risolto il problema in 1 giorno, con DAO ero + di mese e non avevo cavato un ragno dal buco. Valutate il tipo di controllo da utilizzare prima di affrontare un programma lungo.
Ciao e buon lavoro

codice:
Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
Dim strColName As String
    Static bSortAsc As Boolean
    Static strPrevCol As String
    
    strColName = DataGrid1.Columns(ColIndex).DataField
    
    'La pressione sulla colonna provoca un Not
    'di ordinamento Ascendente/Discendente
    
    If strColName = strPrevCol Then
        If bSortAsc Then
            Rs.Sort = strColName & " DESC"
            bSortAsc = False
        Else
            Rs.Sort = strColName
            bSortAsc = True
        End If
    Else
        Rs.Sort = strColName
        bSortAsc = True
    End If
    strPrevCol = strColName

End Sub