Access - Urgente: workspaces

 
Vista:

Urgente: workspaces

Publicado por maria (7 intervenciones) el 10/06/2004 17:14:18
Hola, otra preguntita, ....
tengo una aplicación en Access 2000, para ser usada por varios usuarios. Quiero usar transacciones en algunas operaciones. ¿Es necesario crear un workspace distinto para cada usuario?, o puedo usar el por defecto creado po V.B. Si tengo que crearlos, como puedo coger, por ejemplo el usuario del sistema?. Muchas gracias.
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

Urgente: workspaces

Publicado por Alejandro (4142 intervenciones) el 08/05/2023 19:20:36
En Access 2000, puedes utilizar el objeto Workspace para gestionar las transacciones en tu aplicación. Sin embargo, no es necesario crear un workspace separado para cada usuario. Puedes utilizar el workspace predeterminado creado por Access a través de Visual Basic.

Aquí tienes un ejemplo de cómo puedes utilizar el workspace predeterminado para gestionar transacciones en tu aplicación:

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
Sub RealizarTransaccion()
    Dim ws As Workspace
    Dim db As Database
    Dim t As DAO.Transaction
 
    ' Obtén el workspace predeterminado
    Set ws = DBEngine.Workspaces(0)
 
    ' Obtén la referencia a la base de datos actual
    Set db = CurrentDb
 
    ' Inicia la transacción
    Set t = ws.BeginTrans
 
    On Error GoTo Rollback
 
    ' Realiza las operaciones dentro de la transacción
    ' ...
 
    ' Commit (confirmar) la transacción si todo es exitoso
    ws.CommitTrans
 
    Exit Sub
 
Rollback:
    ' En caso de error, deshacer (rollback) la transacción
    ws.Rollback
    MsgBox "Error en la transacción. Se ha deshecho (rollback) la operación."
End Sub

En este ejemplo, utilizamos el objeto DBEngine para obtener el workspace predeterminado (`DBEngine.Workspaces(0)`). A continuación, iniciamos la transacción utilizando `ws.BeginTrans`. Dentro de la transacción, puedes realizar las operaciones que deseas.

Si ocurre algún error durante la transacción, puedes utilizar `ws.Rollback` para deshacer los cambios realizados y mostrar un mensaje de error adecuado. Si todo es exitoso, utilizamos `ws.CommitTrans` para confirmar los cambios y finalizar la transacción.

Respecto a obtener el usuario del sistema, en Access 2000, puedes utilizar la función `Environ("USERNAME")` para obtener el nombre del usuario actualmente conectado al sistema.

Espero que esto te ayude a utilizar transacciones en tu aplicación de Access 2000. ¡Buena suerte!
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