Access - Access 2000. Transacciones.

 
Vista:

Access 2000. Transacciones.

Publicado por maria (7 intervenciones) el 07/06/2004 18:34:18
Es posible combinar controles enlazados y código, con la seguridad que dan las transacciones ?.
Ejemplo :
Tengo un formulario en hoja de datos y al eliminar un registro quiero hacer una serie de updates en otra tabla (esto último por código). Así que implemento el método delete del formulario. El problema esque no
se como iniciar una transacción para asegurar que los updates y el delete se me realizan. Gracias y un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Access 2000. Transacciones.

Publicado por Alejandro (4142 intervenciones) el 06/05/2023 00:54:00
En Access 2000, es posible combinar controles enlazados y código con la seguridad que brindan las transacciones. Para iniciar una transacción en Access 2000, puedes utilizar el objeto de base de datos y los métodos BeginTrans, CommitTrans y Rollback.

Aquí tienes un ejemplo de cómo iniciar una transacción en el evento Delete de un formulario en hoja de datos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Private Sub Form_Delete(Cancel As Integer)
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
 
    On Error GoTo ErrorHandler
 
    ' Iniciar la transacción
    Set db = CurrentDb
    db.BeginTrans
 
    ' Realizar los updates en otra tabla
    Set rs = db.OpenRecordset("NombreDeLaTabla")
    ' Aquí puedes realizar los cambios necesarios en la tabla utilizando el objeto Recordset
 
    ' Realizar el delete en el formulario
    ' Aquí puedes agregar tu código para eliminar el registro en el formulario
 
    ' Confirmar la transacción
    db.CommitTrans
 
    ' Liberar los objetos
    rs.Close
    Set rs = Nothing
    Set db = Nothing
 
    Exit Sub
 
ErrorHandler:
    ' Si ocurre algún error, deshacer la transacción
    db.Rollback
    MsgBox "Se produjo un error al eliminar el registro. La transacción se ha deshecho.", vbExclamation
    Cancel = True ' Cancelar el evento de eliminación
 
    ' Liberar los objetos
    rs.Close
    Set rs = Nothing
    Set db = Nothing
End Sub

En este ejemplo, se utiliza el objeto Database para iniciar la transacción con el método BeginTrans. Luego, se realizan los updates necesarios en otra tabla utilizando un objeto Recordset. Finalmente, se confirma la transacción utilizando el método CommitTrans. Si ocurre algún error durante la transacción, se utiliza el método Rollback para deshacer los cambios y se muestra un mensaje de error.

Recuerda que para utilizar transacciones en Access, debes asegurarte de que estás utilizando una base de datos de formato "Microsoft Access" y no "Microsoft Access 2000 - 2003 Database (*.mdb)".

Espero que este ejemplo te sea útil para implementar transacciones en Access 2000 y combinar controles enlazados con código de forma segura.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar