Access - Limitar a 1 usuario a la vez

   
Vista:

Limitar a 1 usuario a la vez

Publicado por Lluís (5 intervenciones) el 02/05/2013 18:30:33
Buenas tardes,

Tengo una base de datos compartida con sólo las tablas y otra en cada pc con el resto y tablas vinculadas.
Uso el formulario "Ventas" para seleccionar los registros que se van a vender y para guardar los datos del albarán en la tabla "Albaranes". Una vez rellenado, clicando un botón, doy de alta nuevo albarán en "Albaranes" y actualizo en los registros seleccionados el núm de albarán.
Funciona perfectamente si lo usa un solo usuario pero si són mas de uno a la vez, da error porque intentan guardar en tabla "Albaranes" con el mismo número de albarán (no puede ser autonumérico)
Lo he solucionado a medias, he creado la tabla "Frmventas" en la bd compartida, tiene valor "cerrado". El código del botón de "Ventas" hace lo siguiente:
do
doevents
loop while forms![Frmventas]![Frmventas] = "abierto" 'Hago un bucle mientras "Frmventas" = abierto
DoCmd.OpenQuery "VENTA ABIERTO", acViewNormal, acEdit 'actualizo "Frmventas" a abierto mediante consulta de actualización
Me.TXTULTALBARAN.Requery 'calculo el núm de albarán según el último guardado
DoCmd.OpenQuery "ALTA ALBARAN", acViewNormal, acEdit 'guardo el nuevo albaran
.....
DoCmd.OpenQuery "VENTA CERRADO", acViewNormal, acEdit 'actualizo "Frmventas" a cerrado
El problema surge cuando, desde dos pcs, clican el botón a la vez. Deben de tardar un poco las consultas porque ocurre más a menudo de lo que esperaba.
¿Cómo puedo solucionarlo?

Saludos y gracias de antemano.
Lluís.
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

Limitar a 1 usuario a la vez

Publicado por jose (741 intervenciones) el 02/05/2013 18:58:35
http://vexpert.mvps.org/Articles/vbLocks.htm
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
Imágen de perfil de Norberto

Limitar a 1 usuario a la vez

Publicado por Norberto (432 intervenciones) el 07/05/2013 09:16:38
Hola Lluis.

Hace tiempo posteé, como respuesta, un ejemplo para autonumerar facturas sin usar Autonumérico y sin que existan conflictos entre varios usuarios. Si miras mis posts igual tienes suerte y lo encuentras (al ser una respuesta igual es difícil). No obstante te comento el método.

Se trata de obtener el nuevo número en el evento Antes de insertar con DMax(...) de esa forma tenemos un número "provisional". Luego y para evitar duplicados, volvemos a localizar el número en el evento Antes de actualizar cuando estamos en un registro nuevo (Me.NewRecord)

Espero que te sirva.

Un saludo.
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

Limitar a 1 usuario a la vez

Publicado por Lluís (5 intervenciones) el 07/05/2013 12:11:41
Hola Norberto,

Muchas gracias, para este caso tengo solucionado con el link de jose (por ahora parece que funciona) aunque tomo nota, seguro que me es útil en adelante.

Saludos
Lluís.
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
Imágen de perfil de Norberto

Limitar a 1 usuario a la vez

Publicado por Norberto (432 intervenciones) el 07/05/2013 15:36:27
Me alegro y voy a echar un vistazo a dicho link, que seguro que algo bueno saco.
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