Ciao a tutti,
in una maschera di access ho questo codice:
codice:
Private Sub nota_avanzo_Change()
    Call ModificaNotaAvanzo
End Sub


Private Sub ModificaNotaAvanzo()
    Dim SQL As String
    Dim RS As DAO.Recordset
    Dim DB As DAO.Database
    
    Set DB = CurrentDb
    SQL = "SELECT nota_avanzo FROM pratiche WHERE pratica=" & Me.nPratica  ' - 1
	SQL = "SELECT nota_avanzo FROM pratiche WHERE idpratica=" & Me.idPR    ' - 2
    Set RS = DB.OpenRecordset(SQL)
    RS.Edit
    
    RS!nota_avanzo = Me.nota_avanzo.Text
    RS.Update
    RS.Close
    Set RS = Nothing
    DB.Close
    Set DB = Nothing
End Sub



Nota_avanzo su database e' un campo memo, nella maschera si tratta di una textbox che quando viene modificata salva il suo contenuto su DB.
Nella tabella pratiche ho due campi uno che si chiama pratica e uno idpratica.
Il campo idpratica e' numerico intero lungo autoincrementante e indicizzato con duplicati non ammessi e chiave primari, il campo pratica e' numerico precisione doppia indicizzato duplicati non ammessi.
Se uso SQL 1 per modificare il dato impiega 0,02 - 0,05 secondi, se uso SQL 2 ogni carattere che premo ci vogliono dai 4 ai 7 secondi per avere nuovamente il controllo della maschera e poter digitare un altro carattere.
Mi e' successo anche di avere bisogno di una query che si basa sul campo idpratica e risultava molto lenta.
Volevo capire il motivo di una differenza cosi elevata, nella tabella ci sono 176762 record, mi sapete aiutare?