Salve a tutti,

ho scritto già su un vecchio post ma non ho trovato soluzione.

Il mio problema è utilizzare le transazioni affinchè tutto ciò che faccio in un form, alla fine possa essere annullato riportando i dati del db sqlserver alla situazione iniziale.

Utilizzo gli oggetti ado e sql server

Perchè nel codice il metodo Begintrans, commit e rollback non mi vengono riconosciuti?

Cosa sbaglio?

Trascino un oggetto ado sul form chiamato adolotti

Apro la connessione al db sqlserver
adolotti.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=magazzinitirreni;Data Source=ANGELO\SQLEXPRESS"

Faccio la query e aggiungo un nuovo record
adolotti.RecordSource = "select * from tab_lotti"
adolotti.Refresh
adolotti.Recordset.AddNew
adolotti.Recordset("numdep") = Text1.Text
adolotti.Recordset("codmag") = Text2.Text
adolotti.Recordset("numlotto") = Text3.Text
adolotti.Recordset.Update

MsgBox "Il lotto è stato associato al container", vbDefaultButton1
adolotti.RecordSource = "select * from tab_lotti where numdep='" & Text1.Text & "' AND codmag='" & Text2.Text & "' "
adolotti.Refresh

Se inserisco il codice

adolotti.BeginTrans

appare
Impossibile trovare il metodo o il membro dei dati

Cosa c'è di sbagliato?

Come mai non funziona?

I metodi vanno inseriti in un punto preciso del codice? Dopo la stringa di connessione o dopo la query?

Non riesco a capire e a risolvere.

Grazie 1000