Hola. diran que yo si pregunto, pero es q si me salen errores que yo ni sabia q existian.
mi problema es el siguiente; estoy usando
begintrans,committrans y RollbackTrans todo funciona bien pero siempre hay un pero. Cuando ocurre un error donde no se a entrado al begintrans, me sale un error con el rollbacktrans.
COMO HAGO PARA QUE EL SISTEMA SE DE CUENTA QUE NO SE HA EJECTUTADO UN BEGINTRANS( en el manejador de error. donde esta el rollback).miren. este es parte de un codigo
Public Sub MUESTRA()
On Error GoTo Err
Dim cnn1 As ADODB.Connection
Dim rstTitles As ADODB.Recordset
Dim strCnn As String
Dim strTitle As String
Dim strMessage As String
' Open connection.
strCnn = "Provider=sqloledb;" & _
"Data Source=MyServer;Initial Catalog=Pubs;User Id=sa;Password=; "
Set cnn1 = New ADODB.Connection
cnn1.Open strCnn
' Open Titles table.
Set rstTitles = New ADODB.Recordset
rstTitles.CursorType = adOpenDynamic
rstTitles.LockType = adLockPessimistic
rstTitles.Open "titles", cnn1, , , adCmdTable
rstTitles.MoveFirst
cnn1.BeginTrans
' Loop through recordset and ask user if she wants
' to change the type for a specified title.
Do Until rstTitles.EOF
If Trim(rstTitles!Type) = "psychology" Then
strTitle = rstTitles!title
strMessage = "Title: " & strTitle & vbCr & _
"Change type to self help?"
' Change the title for the specified
' employee.
If MsgBox(strMessage, vbYesNo) = vbYes Then
rstTitles!Type = "self_help"
rstTitles.Update
End If
End If
rstTitles.MoveNext
Loop
cnn1.CommitTrans
EXIT SUB
ERR:
CALL ManejadordeError
End Sub
Function ManejadordeError()
MsgBox "El servidor SQL Server está presentando problemas" + Chr(10) + _
"Causas posibles:" + Chr(10) + _
"-Puede que haya problemas con la conexion de la red" + Chr(10) + _
"-Puede ser que la Base de Datos o alguna de sus tablas tenga problemas de acceso" + Chr(10) + _
"Por favor localize al Adminstrador del Sistema lo antes posible, para que corrija el error" + Chr(10) + _
CStr(Err.Number) & " " & Err.Description, vbInformation
CnSQLconexion.RollbackTrans
end function
SE LOS AGRADECERIA MUCHO, Y DISCULPEN Q MOLESTE DEMASIADO.
SALUDOS