Condividi tramite


Metodo Delete (Recordset - ADO)

Elimina il record o un gruppo di record corrente.

Sintassi

  
recordset.Delete AffectRecords  

Parametri

AffectRecords
Valore AffectEnum che determina il numero di record su cui il metodo Delete avrà effetto. Il valore predefinito è adAffectCurrent.

Nota

adAffectAll e adAffectAllChapters non sono argomenti validi per Delete.

Osservazioni

L'utilizzo del metodo Delete contrassegna il record corrente o un gruppo di record in un oggetto Recordset per l'eliminazione. Se l'oggetto Recordset non consente l'eliminazione dei record, si verifica un errore. Se si è in modalità di aggiornamento immediato, le eliminazioni vengono eseguite immediatamente nel database. Se un record non può essere eliminato correttamente (a causa di violazioni dell'integrità del database, ad esempio), il record rimarrà in modalità di modifica dopo la chiamata a Update. Ciò significa che è necessario annullare l'aggiornamento con CancelUpdate prima di spostare il record corrente, ad esempio con Close, Move o NextRecordset.

Se si è in modalità di aggiornamento in batch, i record vengono contrassegnati per l'eliminazione dalla cache e l'eliminazione effettiva avviene quando si chiama il metodo UpdateBatch. Utilizzare la proprietà Filter per visualizzare i record eliminati.

Il recupero dei valori del campo dal record eliminato genera un errore. Dopo l'eliminazione del record corrente, il record eliminato rimane corrente fino a quando non si passa a un record diverso. Una volta spostato dal record eliminato, non è più accessibile.

Se si annidano le eliminazioni in una transazione, è possibile ripristinare i record eliminati con il metodo RollbackTrans. Se si è in modalità di aggiornamento in batch, è possibile annullare un'eliminazione in sospeso o un gruppo di eliminazioni in sospeso con il metodo CancelBatch.

Se il tentativo di eliminazione dei record ha esito negativo a causa di un conflitto con i dati sottostanti (ad esempio, un record è già stato eliminato da un altro utente), il provider restituisce avvisi alla raccolta Errors ma non interrompe l'esecuzione del programma. Si verifica un errore di run-time solo se sono presenti conflitti in tutti i record richiesti.

Se la proprietà dinamica Unique Table è impostata e Recordset è il risultato dell'esecuzione di un'operazione JOIN in più tabelle, il metodo Delete eliminerà solo le righe dalla tabella denominata nella proprietà Unique Table.

Si applica a

Oggetto Recordset (ADO)

Vedere anche

Esempio del metodo Delete (VB)
Esempio del metodo Delete (VBScript)
Esempio del metodo Delete (VC++)
Metodo Delete (raccolta Fields ADO)
Metodo Delete (raccolta Parameters ADO)
Metodo DeleteRecord (ADO)