Lo más básico es verificar que ambos forms tienen sesión privada de
datos, de manera que lo que hagas en uno de ellos no afecta para nada lo
que hagas en el otro.
El exe del programa debería estar en cada una de las máquinas,
accediendo a los datos que tienen que estar en una sola máquina, la que
hace de server.
Que abras las tablas en el load event con "use tutabla alias tualias" o
en el entorno de datos no afectaría. Pero no creo que te haga falta usar
again, aunque eso tampoco afecta la velocidad.
Una forma alternativa sería abrir las tablas, seleccionar los registros
con un select, cerrar la tabla original, modificar el select y al grabar
abrir la tabla, grabar y volver a cerrar.
Pero no creo que en un escenario de dos máquinas ese sea el problema.
Si usás vistas, deberías tenerlas en una DBC separada de la DBC de las
tablas y poner en cada una de las máquinas la DBC de las vistas. Con eso
te asegurás un encapsulamiento completo de los datos. Mejor que vistas
es usar cursor adapters, entre otras cosas porque no necesitás una DBC
donde alojarlos, quedan simplemente formando parte del código del programa.
No uses browse en los forms sino grids. Y como digo arriba, en las grids
usa cursores, no la tabla directamente, y en cada cursor traé solamente
la cantidad de registros que se ven en la grid, por ejemplo 10 o 20.
Para ver otro lote de 10 o 20 registros, usá paginación. De esa forma el
tránsito en la red se reduce al mínimo y por ende aumenta la velocidad.
No necesitás cambiar de máquinas ni migrar a SQL
Rafael Copquin
On 08/11/2016 14:37, Claudio Villarreal wrote:
Hola Colisteros
Tengo un problema con un form el cual les paso a detallar.
En un sistema de una clínica tengo instalado el sistemas en 2 PC (win
XP y Seven). El sistema esta instalado en unas de la PC, la cual hace
las veces de servidor. Las tablas (Nativas de FOX) las abro con AGAIN
y ALIAS en cada vez que se abre el form. El problema es que cuando se
abre el form de AMB de Turnos en una de la PC servidor esta funciona
bien y el medico abre su agenda en la otra PC, la agenda se vuelve muy
lenta en todo (cuando se abre el form, cuando actualiza las vistas,
cuando sale de la atención del paciente y vuelve a la agenda, etc.).
Pase el sistema a la PC del medico, la cual es mas nueva, y el
problema sigue, pero al contrario, la agenda del medico funciona bien
y el ABM de Turnos se pone lento.
Si paso el sistema a una tercera PC se ponen lentos los dos forms.
Alguna idea de como solucionarlo? Necesitare un server? O tendre
que migrar todo a SQL ?
Desde ya muchas gracias
Claudio