Oppure

Loading
18/11/09 8:48
symonx80
Ciao, ho un problema con una recordset che non ne vuole sapere di aggiornarsi, vi posto il codice

'variabili globali per la form
....
Global strConnection As String
Global dbConnection As New ADODB.Connection
Global rsSolleciti As New ADODB.Recordset
....
...
'funzione che carica i dati da un db sql server 2005 su una tabella VSFlexGrid e li mostra a video
 .....
.........

strConnection= "Provider=SQLNCLI;Server=localhost;Database=EXPORT_DATA;Uid=userr;Pwd=psw;"

    dbConnection.ConnectionTimeout = 5 
    dbConnection.CursorLocation = adUseClient 
    dbConnection.Mode = adModeShareDenyNone
    
    dbConnection.Open strConnection

    rsSolleciti.Open "select CODCLI,DESTINATARIO,RESIDUO_TOT,num_fatture,doc from estrazione order by RESIDUO_TOT asc", dbConnection, adOpenStatic, adLockOptimistic, adCmdUnknown
        
        Set VSFlexGridSolleciti.DataSource = rsSolleciti
        
        VSFlexGridSolleciti.Visible = True
        
        VSFlexGridSolleciti.Editable = True

        VSFlexGridSolleciti.AllowSelection = False
        
        VSFlexGridSolleciti.AllowBigSelection = False
 ....
.......


Il caricamento sulla tabella avviene correttamente, l'ultimo campo è un boolean e viene visualizzato con il consueto checkbox.
L'utente ha la possibilità di modificare il valore del checkbox e poi eseguire un button che aggiorna i valori sul db, o almeno che dovrebbe aggiornare i valori sul db..

Private Sub mnuUpdate_Click()
    
    rsSolleciti.Update
    
        Do While Not rsSolleciti.EOF
        If (rsSolleciti(4) = True) Then
            Debug.Print ("checkbox true per " & rsSolleciti(0))
        End If
        rsSolleciti.MoveNext
    Loop
End Sub



Questa funzione dovrebbe fare un semplice update e poi controllare quale checkbox ha valore true e stamparlo in debug. Ma il db non vuole sapere di aggiornare la tabella, dov'è il mio errore?
Grazie per chi mi darà una mano.. 8-|
aaa
18/11/09 14:38
GrG
non ho molta esperienza in questo campo, però potresti provarlo ad aggiornarlo "manualmente" ossia con una query: "UPDATE db SET ..."
aaa