Visual Basic - ABRIR TABLA EN MODO EXCLUSIVO

Life is soft - evento anual de software empresarial
 
Vista:

ABRIR TABLA EN MODO EXCLUSIVO

Publicado por IVAN (1040 intervenciones) el 24/10/2005 19:35:17
Necesito saber cómo abrir una tabla de Access en Modo Exclusivo, o sea, que un usuario la abra y que mientras la tenga abierta, ningún otro usuario pueda acceder a ella.

Por ejemplo, estoy capturando pagos, los cuales tienen esta estructura..:

Clave Otros Datos....
00001 .......
00002 ......

Cuando agrego un pago, la clave es generada automáticamente, a como se vayan agregando se va generando, mi forma de generar esa clave es así.... antes de grabar el nuevo registro, abro la tabla con un "SELECT MAX(clave) AS maximo FROM Tabla....." le sumo uno y ya tengo la clave, mi pregunta es....

Quiero que al momento de grabar el pago, se abra la tabla "TABLA" en modo exclusivo, o sea, bloquearla al resto de los usuarios para que no puedan abrirla mientras busco el MAXIMO y le agrego el nuevo registro....

¿CÓMO HAGO ESO..........?

La operación de agregar lo hago asi...:

Set Rs = New ADODB.RecordSet
Rs.Open "select max(Clave) as mayor from Pagos", Rc, adOpenKeyset, adLockOptimistic
If Not IsNull(Rs("mayor")) Then
Nva_Cve = Val(Rs("mayor")) + 1
Else
Nva_Cve = 1
End If
Rs.Close
Rs.Open "select * from Pagos", Rc, adOpenKeyset, adLockOptimistic
Rs.AddNew
Rs("clave") = Nva_Cve
Rs......
Rs.Update
Rs.Close

Lo que pretendo es que la tabla PAGOS quede bloqueada al resto de los usuarios mientras hago la operación de sacar el Máximo y grabar el registro..

Uso Access 2000, y ADODB para manejar los archivos
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

RE:ABRIR TABLA EN MODO EXCLUSIVO

Publicado por Cecilia Colalongo (3117 intervenciones) el 24/10/2005 20:12:31
Puedes utilizar un campo autonumérico y luego si necesitas recuperar valor insertado con SELECT @@IDENTITY, sino utilizar transacciones mientras buscas el máximo y lo grabas.

En http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q232/1/44.ASP&NoWebContent=1 tienes un ejemplo de @@IDENTITY.
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