ACCESS-BBDD compartida

Elisa
15 de Septiembre del 2004
Hola,
Tengo una Base de Datos puesta en un directorio compartido en el servidor que abren y utilizan varios usuarios desde diferentes terminales.
El problema que tengo es que cuando actualizo un formulario desde otro formulario (con Recalc o Requery o Repaint o Refresh), sólo me actualiza el fomulario en el PC en el que he dado la orden de actualizar.
La pregunta es: ¿cómo lo hago para que me actualice los datos en todos los ordenadores en los que esté abierto dicho formulario?
¿Alguien tiene idea? Me estoy temiendo que no se pueda hacer....
Bueno, un saludo y muchas gracias.

Sergok
15 de Septiembre del 2004
Si entiendo bien la pregunta me temo que no lo puedes hacer. Cada sesión es independiente: variables globales, pantallas, ... son independientes para cada usuario que abrió la base de datos.
Dandole alguna vuelta podrías solucionarlo con el evento Timer del formulario, me explico:
1) Creas una tabla en la que indiques si se debe refrescar la pantalla (el contenido de las tablas es común para todos los puestos).
2) En el evento Timer del formulario lees este dato y refrescas si asi lo indica.
3) Para volver a indicar que no debe seguir actualizando tendrás que volver a modificar el campo de la tabla. Para eso yo crearía una variable boolean estática (en el evento) o global al procedimiento que me indicaría si el cliente activo es el que mando el refresco, de ser asi lo vuelve a modificar para que el resto dejen de refrescar.
También deberás tener en cuenta si dos puestos mandan refrescar al resto dentro del intervalo... algún semáforo y fin del problema.
Comentame si tienes alguna duda.

Un saludo y espero que te sirva...