Raramente ho trovato un errore così misterioso
Ho 4 diverse form in ciascuna delle quali c'è un DataGrid. In form load riempo i datagrid.
I seguenti 3 spezzoni di codice funzionano perfettamente
codice:Set rsP = New ADODB.Recordset criterio = "SELECT * FROM TabPatologie ORDER BY Numero" rsP.CursorLocation = adUseClient rsP.Open criterio, cnnSQL, adOpenForwardOnly, adLockReadOnly Set DataGrid1.DataSource = rsP
codice:Set rs = New ADODB.Recordset criterio = "SELECT MedicoSigla,MedicoNome FROM TabMedici ORDER BY MedicoSigla" rs.CursorLocation = adUseClient rs.Open criterio, cnnSQL, adOpenForwardOnly, adLockReadOnly Set DataGrid1.DataSource = rsquesto quarto spezzone invece non funziona (Errore : Impossibile assegnare segnalibri al gruppo di righe.)codice:Set rs = New ADODB.Recordset criterio = "SELECT ClienteSigla,ClienteNome FROM TabEnti ORDER BY ClienteSigla" rs.CursorLocation = adUseClient rs.Open criterio, cnnSQL, adOpenForwardOnly, adLockReadOnly Set DataGrid1.DataSource = rs
Il debug.print mi segnala che i 2 campi del recordset sono riempiti correttamente.codice:Set rsD = New ADODB.Recordset criterio = "SELECT AbbrevNumero,AbbrevDescrizione FROM TabAbbreviazioni ORDER BY AbbrevNumero" rsD.CursorType = adUseClient rsD.Open criterio, cnnSQL, adOpenForwardOnly, adLockReadOnly Debug.Print rsD(0), rsD(1) Set DataGrid1.DataSource = rsD
Il recordset (rsP o rs o rsD) è dichiarato all'inizio del codice di ciascuna form come variabile valida in tutto il form.
Il medesimo errore permane anche se scrivo
criterio = "SELECT ClienteSigla,ClienteNome FROM TabEnti ORDER BY ClienteSigla" da cui capisco che non è la tabella a causare l'errore.
Oppure
criterio = "SELECT AbbrevNumero,AbbrevDescrizione FROM TabAbbreviazioni ORDER BY AbbrevNumero LIMIT 0,1" da cui capisco che non è un record successivo al primo a causare l'errore.
Preciso che il database è MySQL.
Ho anche una versione del database in MSAccess ed un'altra in SQLServer: nessun errore con questi database; stesso codice ovviamente.
Ho anche provato a fare un copia e incolla del DataGrid di una delle prime 3 form nella quarta, pensando che il componente fosse bacato.
La variabile rsD compare, nel form, solo nei posti giusti. Lo stesso dicasi per DataGrid1.
Cosa fare ???
Grazie per l'attenzione

Rispondi quotando
