Per salvare l'ordinamento delle colonne devi registrarti la lista dei campi(indice del campo nel tuoRS) da mettere in ogni colonna che ti caricherai in un array (aCols).
Poi fai un ciclo del genere per impostare le colonne e caricare i dati.
codice:
'Intestazioni colonna
listview.ColumnHeaders.Clear
for i=0 to ubound(aCols)
Select case aCols 'verifichi il campo da immettere
Case 0 'Nome
listview.ColumnHeaders.add ,"Nome","Nome"
Case 1 'Cognome
listview.ColumnHeaders.add ,"Cognome","Cognome"
Case 2 'Indirizzo
listview.ColumnHeaders.add ,"Indirizzo","Indirizzo"
...
end select
next i
'popolamento
while not tuoRS.eof
ListItems.ListItems.add ,tuaChiave,tuors(acols(0))
ListItems.ListItems(tuaChiave).SubItems(1)=tuoRS(acols(1))
ListItems.ListItems(tuaChiave).SubItems(2)=tuoRS(acols(2))
...
tuoRS.movenext
wend