![]() |
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.