Varias instancias de formularios

Hola a todos soy nuevo en el tablón, quería saber si alguien encontró alguna solución al siguiente problema.
Cuando se abren dos instancias de un formulario y en el medio se cambia algún dato en la tabla desde otra pc al realizar la búsqueda en el segundo formulario no trae los cambios grabados aunque se haga una nueva consulta sql sobre la tabla. Esto no sucede ci se cierran todos los formularios y se vuelve a abrir.
Respuesta
1
El problema radica en como estas abriendo la tabla principal, me explico, supongamos que tienes la tabla clientes:
1.- La abres en buffers 3
2.- Abres las dos instancias de la forma de clientes
3.- Realizas los cambios y no vez los cambios. Esto es debido a que los cambios no pueden ser vistos por los demás hasta que le hagas un tableupdate a la tabla clientes o cierres la tabla
Yo te recomiendo que abras la tabla clientes en buffers 0 y en los formularios abras un alias de dicha tabla en buffers 3 al hacerle tableupdate al alias sera actualizado inmediatamente en la tabla principal y podrá ser visto por todas las demás estaciones
Entiendo lo que me dices, el hecho es que realizo siempre un tableupdate(2,.T.) forzando los cambios. Probé agregar la siguiente línea en los init de los formset antes de abrir las tablas "SET REFRESH TO 1" y se actualizan luego pasado un segundo, pero no me convence. ¿Dices abrir la tabla clientes en la sesión predeterminada de datos sin buffering y luego volver a abrirla en los formset con buffering 3 y un alias?
Me excplico en el pragrama principal de tu sistema elaboras una función que abra todas las tablas de tu sistema ej:
function abrir_datos
Open databases midb shared
Use clientes in 0 again shared
return
En el entrono de datos del formulario colocas autoopen .t. y autoclose .f. la tabla va a tener un alias clientes_10 y esta en buffers 3 al realizar el tableupdate o realizas así
=tableupdate(.f.,.f.,'clientes_10') para buffers3 y
=tableupdate(.t.,.f.,'reng_fact_10') para buffers 5
de esta menera al hacer el table update en el alias se actualiza automaticamente en todos los alias que abras de dicha tabla

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas