Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Gammino
    Registrato dal
    Nov 2001
    Messaggi
    195

    [VB6] ADO e DataBinding

    Ho una semplice form che contiene un TextBox associato ad un controllo ADODC.

    All'apertura della form il TextBox visualizza correttamente il valore del campo associato, MA se lo modifico e subito dopo clicco direttamente sulla X della form chiudendola il valore modificato non viene salvato nel record.

    Inserendo nell'evento Form_QueryUnload il seguente codice:

    codice:
    Adodc1.Recordset.Update
    non mi salva niente...

    Lo so che esistono mille altri modi, ma vorrei capire perchè col controllo Data di DAO si può mentre col controllo ADO no.

    Grazie...
    Ci sono giornate in cui mi sembra che il mondo giri al contrario... poi mi sveglio e mi accorgo che purtroppo gira sempre nella stessa direzione: quella sbagliata!
    (Gammino)

  2. #2
    L'aggiornamento del Recordset avviene o tramite lo spostamento tra records (avanti/Indietro) o giustamente con l'evento Update. Non sò perchè con DAO si possa fare ma io farei in questo modo:

    codice:
    Private Sub Form_Unload (Cancel As Integer)
        If Adodc1.Recordset.EditMode = adEditIn Progress Then
            x= MsgBox("Record non salvato. Salvare le modifiche?", vbOKCAncel,"Messaggio di conferma")
            If X = 1 Then
                Adodc1.Recorset.Update
            Else
                Adodc1.Recorset.CancelUpdate
            End if
        End if
    End Sub
    Spero di non aver scritto c.....e!!!


  3. #3
    Utente di HTML.it L'avatar di Gammino
    Registrato dal
    Nov 2001
    Messaggi
    195
    Il tuo codice non è sbagliato, ma non salva il valore della TextBox appena modificato.

    Esempio pratico:
    [list=1][*]Apro la form (il focus è gia su Text1),[*]modifico il valore nella textbox,[*]Clicco sulla X in alto a destra per chiudere la form.[/list=1]

    Il valore modificato non viene salvato nel recordset!

    Comunque ieri sera davanti alla tele mi è venuto un flash ed ho inserito nell'evento QueryUnload della form la riga:
    codice:
    Adodc1.Recordset.MoveNext
    Giustamente sullo spostamento tra record, come avevi scritto tu, avviene l'aggiornamento del Recordset e questa metodologia funziona!

    :quipy:

    Grazie dell'aiuto!
    Ci sono giornate in cui mi sembra che il mondo giri al contrario... poi mi sveglio e mi accorgo che purtroppo gira sempre nella stessa direzione: quella sbagliata!
    (Gammino)

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    243
    Dopo update scrivi subito sotto
    adodc1.recorset..requery

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 © 2025 vBulletin Solutions, Inc. All rights reserved.