Access - Se me bloquea en una transacción

   
Vista:

Se me bloquea en una transacción

Publicado por CyRuS (127 intervenciones) el 23/11/2007 16:29:27
Tengo un problema bastante gordo con una transacción. El caso es que yo tengo el siguiente código más o menos:

BeginTrans
' un montón de operaciones vendrían aquí, las cuales usan: dim db as
'DAO.Database y rs as DAO.Recordset
tran = MsgBox("¿Desea realizar los cambios?", vbYesNo + vbQuestion)

If tran = vbNo Then
Rollback
MsgBox "Ha cancelado la acción"
Else
CommitTrans
End If

El problema que tengo es que cuando por cualquier cosa algo no va bien, es como si se me bloqueara toda la base de datos. Porque a partir de ese momento no puedo ejecutar de nuevo este mismo código. Sólo se soluciona si salgo del Access, este compacta, y genera un error con un db1.mdb. Entiendo que el Access resetea la transacción o simplemente borra lo que tenga en la memoria.
He probado a poner:

On Error GoTo tratarError

tratarError:
db.Close: db = Nothing
rs.Close: rs = Nothing
Rollback

incluso he puesto estas líneas en el caso de que tran = vbNo . Pero nada de nada. O una de 2. O elimino la transacción (no es una opción demasiado buena) o salgo de access para que genere un error.

Grandes sabios. ¿ cómo puedo solucionarlo ? , ¿ No existe alguna función en la que pueda "resetear" esa transacción ?

Agradecería mucho vuestra ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder