Newsgroup: it.comp.lang.visual-basic
Titolo: Ordinare un DataGrid, con l'uso di ADO

Scusate ancora, ma non ho ancora risolto il mio problema (è chi, tra quelli
che scrivono in questa NewsGroup, non ha problemi!?), però grazie ai vostri
commenti già ricevuti, ho chiarito parecchi miei dubbi. E di questo, ve ne
sono molto grato, grazie di cuore a chi mi ha risposto (specie per "Jabba
The Hut").
Il mio problema era appunto di riordinare una tabella, DataGrid, attraverso
un click sulla testa della stessa tabella.
L'evento funziona ed è HeadClick, di seguito c'èil codice dell'evento,
debuggato e corretto
Private Sub GrdClienti_HeadClick(ByVal ColIndex As Integer)
'cliccando sulla testa delle colone, ordino la tabella in base alla colonna
selezionata
'richiamo una funzione/routine, che legge la colonna cliccata e che in base
ad essa realizza una query ordinando
'la stessa in funzione della scelta dell'utente.
Select Case ColIndex
Case Is = 0
paramOrdinamento = "IDCliente"
Case Is = 1
paramOrdinamento = "RagioneSociale"
Case Is = 2
......
End Select
riordinaDataGrid
End Sub
Il casino invece è la Sub riordinaDataGridHeadClick.
Public Sub riordinaDataGrid()
Set rs = Nothing
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
sQuery = "select * from Clienti order by " & paramOrdinamento
rs.CursorLocation = adUseClient ' adUseClient, adUseServer
rs.Open sQuery, cn, adOpenKeyset, adLockOptimistic, adCmdText
Set rs.ActiveConnection = Nothing
FrmCliente.GrdClienti.DataSource = rs
FrmCliente.GrdClienti.Refresh
End Sub
Questo è quanto mi è stato consigliato, allora ho fatto esegutire questo
codice e il debugger, mi rifila la seguente risposta:
mi evidenzia nella riga di istruzione: FrmCliente.GrdClienti.DataSource = rs
.DataSource =
e dice "Errore di Compilazione" e aggiunge "Impossibile trovare il metodo o
il membro dei dati".
Allora mi viene il dubbio (una trave negli occhi :-(( ), ma questo messaggio
vuole dire che non assegna/riconosce per quella DataGrid il metodo
DataSource per quella griglia,che magari i settaggi sono sbagliati? Eppure
impostato nelle proprietà per ciò che riguarda i dati DataSource: AdoClienti
il mio Ado inserito nel form, poi:
AllowAddNew AllowDelete e AllowUpdate tutti a true.
No è che ci sono errori nel settaggio delle proprietà del DataGrid, quelle
impostate da menu contestuale con tasto dx mouse, tramite il quale si accede
ad una finestra di dialogo.
Quello che voglio ulteriormente aggiungere è che quando voglio aggiornare il
contenuto della tabella, aggiungendo un nuovo record, alla stessa,
(inserimento che faccio attraverso un'altro form di inserimento, che
contiene: textbox, combobox e datacombobox, una volta salvati i dati), devo
uscire dal form di inserimento, e da quello che contiene la griglia,
scaricando i form e rientrando in quello della griglia.
Insomma ciò che mi salva è il collegamento con Ado, inutile tentativi di
generare l'aggiornamento da codice. Ma questa è un'altra storia....
quello che voglio dire e che mi sembra di constatare che il problema sia
nelle proprietà dei controlli, ch non dai metodi.
Insomma se potete aiutarmi, quanto meno a capire, ve ne sarei grato.
Sperando in una vostra risposta

Perchè vuoi complicarti la vita?
Private Sub GrdClienti_HeadClick(ByVal ColIndex As Integer)
        rsClienti.Sort =  GrdClienti.Columns(ColIndex).DataField
End Sub
supponendo che rsClienti sia il tuo recordset che già è Datasource della
datagrid.
ciao
ugo