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 = rs
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
questo quarto spezzone invece non funziona (Errore : Impossibile assegnare segnalibri al gruppo di righe.)
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 debug.print mi segnala che i 2 campi del recordset sono riempiti correttamente.
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