Discussion:
Programa Access en Red muy lento
(demasiado antiguo para responder)
Wynaby
2005-05-09 10:42:02 UTC
Permalink
Hola Foro,
he realizado un pequeño programita en Access y lo he puesto en la RED de la
oficina, cuando el programita está abierto por sólo un usuario, el programa
va fenomenal, pero cuando lo abre otro usuario el programa sigue funcionando
pero va muy lento.
Lo que he realizado, es lo siguiente:
1. Dividí la Bd
2. Puse la parte las tablas en el servidor
3. Puse la parte con los formularios y las tablas vinculadas, lo puse,
primero en el servidor, y a todo los ordenadores le puse un acceso directo al
archivo de los formularios del servidor. Al comprobar que cuando dos usuarios
se conectaban, la red iba lenta, opté por poner en el Disco Duro de cada
ordenador de la oficina, el archivo con los formularios y las tablas
vinculadas, pero nada sigue con el mismo problema.
¿Esto es así, cómo podría solucionarlo?

Gracias
Carlos Lagares
Principiante
2005-05-09 11:29:57 UTC
Permalink
Te copio lo que guardé hace tiempo (creo que del Búho) que quizás puede
ayudarte:

'**********************************************************************

Crea una Tabla «tonta» en el .mdb que no sirva para nada y en cada
puesto de trabajo, en el formulario de inicio que tengas o mejor, en uno
oculto que se abra nada mas arrancar la aplicacion y permanezca abierto
todo el tiempo, establece (abre) un recordset DAO a dicha tabla y no le
cierres hasta el final de la sesión.(LE puedes cerrar en el Unload de
dicho form oculto, que se cerrará, cuando alguien cierre la MBD de cada
puesto)

¿Mejora la velocidad?


Esto en el modulo del formulario oculto:

Option Compare Database
Option Explicit
Dim Rst As DAO.Recordset
Private Sub Form_Load()
Set Rst = CurrentDb.OpenRecordset("Tablatonta")
End Sub

Private Sub Form_Unload(Cancel As Integer)
Rst.Close
Set rts = Nothing
End Sub

'************************************************************************
Mejor quizás de esta otra manera:

Se crea un formulario cuyo origen del registro sea la tabla tonta.
También puede ser una consulta si los datos estan repartidos
en mas de una base con lo que conseguiriamos mantenerlas
todas permanentemente abiertas.

Si el formulario se abre desde un formulario de inicio
se abre así: DoCmd.OpenForm "nombreForm", , , , , acHidden

'************************************************************************


Principiante.
Post by Wynaby
Hola Foro,
he realizado un pequeño programita en Access y lo he puesto en la RED de la
oficina, cuando el programita está abierto por sólo un usuario, el programa
va fenomenal, pero cuando lo abre otro usuario el programa sigue funcionando
pero va muy lento.
1. Dividí la Bd
2. Puse la parte las tablas en el servidor
3. Puse la parte con los formularios y las tablas vinculadas, lo puse,
primero en el servidor, y a todo los ordenadores le puse un acceso directo al
archivo de los formularios del servidor. Al comprobar que cuando dos usuarios
se conectaban, la red iba lenta, opté por poner en el Disco Duro de cada
ordenador de la oficina, el archivo con los formularios y las tablas
vinculadas, pero nada sigue con el mismo problema.
¿Esto es así, cómo podría solucionarlo?
Gracias
Carlos Lagares
Maki
2005-05-12 15:37:20 UTC
Permalink
Hola foro !!!

En el caso de no utlizar formulario de inicio (uso barra de menus
personalizada), como haria para lanzar el formulario en hidden??

Lo quiero usar para ver si solvento las continuas desconexiones que sufro
con una MySQL remota
En cualquier caso, manteniento la tabla abierta, al rato desconecta, asi que
no se yo si la cosa punzionará.

Alguno sabeis algun sistema para que al hacer una peticion reintente la
conexion en el caso de fallar ?
He probado con los intervalos de tiempo de espera y reconexion que tiene
para tal efecto las opciones generales de access, pero ni flores, y es que
al margen de que la conexion se pierde, si reintento el proceso, Access se
cuelga (operacion no valida, debe cerrarse, copia de seguridad y bla bla
bla). Para evitarlo, debo abrir la tabla directamente y despues ejecutar el
proceso, y aunque vuelva a fallar, al menos no se me cuelga Access

Salu2 !!!
Post by Principiante
Te copio lo que guardé hace tiempo (creo que del Búho) que quizás puede
'**********************************************************************
Crea una Tabla «tonta» en el .mdb que no sirva para nada y en cada puesto
de trabajo, en el formulario de inicio que tengas o mejor, en uno oculto
que se abra nada mas arrancar la aplicacion y permanezca abierto todo el
tiempo, establece (abre) un recordset DAO a dicha tabla y no le cierres
hasta el final de la sesión.(LE puedes cerrar en el Unload de dicho form
oculto, que se cerrará, cuando alguien cierre la MBD de cada puesto)
¿Mejora la velocidad?
Option Compare Database
Option Explicit
Dim Rst As DAO.Recordset
Private Sub Form_Load()
Set Rst = CurrentDb.OpenRecordset("Tablatonta")
End Sub
Private Sub Form_Unload(Cancel As Integer)
Rst.Close
Set rts = Nothing
End Sub
'************************************************************************
Se crea un formulario cuyo origen del registro sea la tabla tonta.
También puede ser una consulta si los datos estan repartidos
en mas de una base con lo que conseguiriamos mantenerlas
todas permanentemente abiertas.
Si el formulario se abre desde un formulario de inicio
se abre así: DoCmd.OpenForm "nombreForm", , , , , acHidden
'************************************************************************
Principiante.
Post by Wynaby
Hola Foro,
he realizado un pequeño programita en Access y lo he puesto en la RED de
la oficina, cuando el programita está abierto por sólo un usuario, el
programa va fenomenal, pero cuando lo abre otro usuario el programa sigue
funcionando pero va muy lento.
1. Dividí la Bd
2. Puse la parte las tablas en el servidor
3. Puse la parte con los formularios y las tablas vinculadas, lo
puse, primero en el servidor, y a todo los ordenadores le puse un acceso
directo al archivo de los formularios del servidor. Al comprobar que
cuando dos usuarios se conectaban, la red iba lenta, opté por poner en el
Disco Duro de cada ordenador de la oficina, el archivo con los
formularios y las tablas vinculadas, pero nada sigue con el mismo
problema.
¿Esto es así, cómo podría solucionarlo?
Gracias
Carlos Lagares
Loading...