Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Visual Basic clásico (http://www.forosdelweb.com/f69/)
-   -   Transacciones anidadas (http://www.forosdelweb.com/f69/transacciones-anidadas-421616/)

yayita1502 30/08/2006 10:54

Transacciones anidadas
 
No sé como realizar una transacción anidada.
El siguiente codigo me permite realizar las dos transacciones pero no me permite volver atras las dos transacciones. Uso Visual Basic y Access 97 y DAO.

Dim resVerifico As Recordset, strSQL As String

MousePointer = 11
DATAX = "UPDATE ESCUELAS SET IDGestion=" & cboGestion.ItemData(cboGestion.ListIndex) & ",IDCodPresu='" & txtEscuela.Text & "',IDRegion=" & cboRegion.ItemData(cboRegion.ListIndex) & ",IDDepartamento=" & cboDepartamento.ItemData(cboDepartamento.ListIndex ) & ",IDLote=" & cboLote.ItemData(cboLote.ListIndex) & ",IDFuncion=" & cboFuncion.ItemData(cboFuncion.ListIndex) & " " & _
"WHERE IDEscuelas=" & txtIDEscuela.Text & ""
On Error GoTo controlador
wrkPredeterminado.BeginTrans
CTRLNUM = 0
dbBase.Execute DATAX, dbFailOnError
wrkPredeterminado.CommitTrans
On Error GoTo 0
MousePointer = 0

'Actualizar la escuela en la tabla de devoluciones
MousePointer = 11
DATAX = "UPDATE DEVOLUCIONES SET IDFuncion=" & cboFuncion.ItemData(cboFuncion.ListIndex) & " " & _
"WHERE IDCodPresu='" & txtEscuela.Text & "' and IDRegion=" & cboRegion.ItemData(cboRegion.ListIndex) & " and IDDepartamento=" & cboDepartamento.ItemData(cboDepartamento.ListIndex ) & " and IDLote=" & cboLote.ItemData(cboLote.ListIndex) & " "

On Error GoTo controlador
'wrkPredeterminado.BeginTrans
CTRLNUM = 0
dbBase.Execute DATAX, dbFailOnError
wrkPredeterminado.CommitTrans
On Error GoTo 0
MousePointer = 0

exit sub

controlador:
If CTRLNUM = 1000 Then
Rollback
MousePointer = 0
On Error GoTo 0
DATAX = "No se pudieron registrar los cambios."
MsgBox DATAX, vbCritical, "Sistema Bloqueado."
Else
CTRLNUM = CTRLNUM + 1
Resume
End If


La zona horaria es GMT -6. Ahora son las 08:09.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.