Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Transacciones anidadas

Estas en el tema de Transacciones anidadas en el foro de Visual Basic clásico en Foros del Web. 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. ...
  #1 (permalink)  
Antiguo 30/08/2006, 10:54
 
Fecha de Ingreso: febrero-2003
Mensajes: 40
Antigüedad: 22 años, 2 meses
Puntos: 0
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
__________________
Yayi :adios:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:34.