Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VB6] Errore: Impossibile assegnare segnalibri al gruppo di righe

    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
    Ultima modifica di giustavalla; 17-07-2019 a 18:40

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,246
    Prova ad usare adOpenStatic
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Prova ad usare adOpenStatic
    Fatto, senza successo ahimè. Ho provato anche numerose altre varianti, compresa quella di non specificare i 2 parametri dopo cnnSQL.
    Pongo l'attenzione sul fatto che l'errore rimane anche se cambio tabella
    (criterio = "SELECT ClienteSigla,ClienteNome FROM TabEnti ORDER BY ClienteSigla")

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,214
    Potrebbe essere causato dal fatto che tu, diversamente dai 3 esempi precedenti, imposti:
    codice:
    rsD.CursorType = adUseClient

    invece dovresti impostare:
    codice:
    rsD.CursorLocation = adUseClient
    ------
    N.B.
    Se imposti la CursorLocation = adUseClient della connessione, poi non serve farlo per ogni recordset, che la eredita dalla connessione.

  5. #5
    @ gibra
    L'hai trovato !!!
    Mi ero scervellato a lungo senza riuscirci !!
    Grazie @gibra

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2019 vBulletin Solutions, Inc. All rights reserved.