Access - DBEngine.Workspaces(0).BeginTrans

 
Vista:

DBEngine.Workspaces(0).BeginTrans

Publicado por Daniel (10 intervenciones) el 01/08/2002 23:30:58
una transaccion de un procedimiento abierto con

DBEngine.Workspaces(0).BeginTrans

DBEngine.Workspaces(0).CommitTrans

quisiera saber cuando controlo el error de un procedimiento determinado en que estado esta esa transaccion, es decir si esta abierta, o sea si el error fue detectado dentro o fuera de la transaccion para aplicar o no el RollBack
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

RE:DBEngine.Workspaces(0).BeginTrans

Publicado por Luis Fernando Melo (323 intervenciones) el 02/08/2002 04:19:43
Hola, lo que hago normalmente es esto:

sub Trans()
on error goto err_trans
DBEngine.Workspaces(0).BeginTrans
....
....
DBEngine.Workspaces(0).CommitTrans
exit_trans:
exit sub
err_trans:
DBEngine.Workspaces(0).Rollback
msgbox err.description
resume exit_trans
end sub

Debes asegurar que si se persenta un error este sea dentro de la transacciòn , para hacer el rollback...

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DBEngine.Workspaces(0).BeginTrans

Publicado por Daniel (10 intervenciones) el 02/08/2002 11:52:26
Como primera medida, muchas gracias por molestarte en contestar, pero yo tengo por ej. el siguiente procedimiento:

private sub ppp()
on error
....... procedimiento fuera de la transaccion
......
..... fin procedimiento fuera de la transaccion

beginstrans()
.....
....
commit()

..... procedimiento fuera de la transaccion
....
... fin procedimiento fuera de la transaccion

control de errores
end sub

bien este es un procedimiento mixto, con y sin transacciones, mi pregunta es si hay alguna funcion o variable de entorno que yo pueda consultar para determinar si en la corrida del sub en el momento de ocurrir un error, estaba o no dentro de la transaccion para aplicar el roolback o no, yo no quiero definir una bandera antes del comienzo de la transaccion y consultarla en el tratamiento de errores
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DBEngine.Workspaces(0).BeginTrans

Publicado por Victoria (1530 intervenciones) el 04/08/2002 13:47:15
Hola
No conozco ninguna variable o funcion como pides, pero, si te puedo decir lo que he hecho yo: poner una bandera (true/false) que dé el valor correspondiente y te diga si la transación se ha hecho correcta
Un saludo
Victoria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar