Está en la página 1de 6

Creacin de Aplicaciones multiusuario 1

Ejecucin de Access en red


La primera decisin a que tenemos que enfrentarnos cuando creamos una aplicacin
multiusuario de Access es dnde poner los archivos de la Base de Datos. Podemos elegir
instalar de dos formas:
1. Instalar la Base de Datos completa de Access en el servidor, lo que permite a todos los
usuarios ejecutar Access desde su estacin de trabajo hacia el servidor.
2. Instalar la aplicacin de Access con tablas vinculadas en cada estacin de trabajo y
compartir solamente los datos de la Base de Datos entre los usuarios de la red.

Instalacin de la aplicacin en el servidor

Muchos programadores noveles en las aplicaciones de Access en red eligen instalar Access
Access en el servidor, como se indica en la primera opcin.
La ejecucin de Access en el servidor tiene las ventajas siguientes:

Se emplea poco espacio o ninguno en las estaciones de trabajo.

El software se actualiza fcilmente, porque solamente es preciso actualizar un


conjunto de archivos.

Aunque sta es la solucin ms fcil, no es la mejor. Durante la ejecucin de Access


se producen numerosos accesos al servidor de red. Cuando todos los archivos estn situados
en el servidor de red, ste acceso constante degrada el rendimiento de la red y ralentiza la
aplicacin de forma significativa. Sin contar con otros problemas habituales de bloqueo de la
aplicacin por un uso inadecuado del bloqueo de registros.

Instalacin de Access en cada estacin de trabajo


Para solucionar ste problema de rendimiento en la ejecucin de Access en red, se
puede ejecutar localmente en cada estacin de trabajo, accediendo solamente a los datos
compartidos que se almacenan en una Base de Datos en el servidor que contiene solamente
las tablas de la Aplicacin. Dado que la conexin de red se emplea nicamente para la
transmisin de datos y no para cargar y ejecutar Access, el funcionamiento general de la
Aplicacin es mucho ms rpido, ms seguro, y sin duda alguna, la forma correcta de instalar
la Aplicacin en red.
La nica desventaja real de sta forma de instalacin es el incremento en el tiempo
de mantenimiento. An as, hay formas de realizarlo que resultan extremadamente sencillas,
como ms adelante se indicar.
Para realizar la instalacin de Access de sta forma

se deben llevar a cabo los

siguientes procesos:
1. Dividir la Base de Datos mediante el asistente de Access, de forma que en una Base de
Datos Back End - quedarn las tablas, y en la otra Front End - el resto, con las
consultas, formularios, informes etc.
2. Instalar el Backend , la parte de las tablas en el servidor de la red
3. Instalar el Frontend en una de las estaciones de trabajo. Con el asistente para
administrar las tablas vinculadas apuntar cuando salga el buscador hacia el Frontend
instalado en el servidor.
4. Hacer una copia de ste Frontend, que ya tiene las tablas bien vinculadas, e instalar
en cada estacin de trabajo. Mi hbito personal es renombrar luego cada Frontend
para evitar cualquier conflicto de nombres, por ejemplo, MiBase1, MiBase2, etc.
Una vez realizados todos los pasos, tenemos ya lista la aplicacin para trabajar desde
cada puesto de trabajo, con la ventaja de que por la red solamente circularn los datos
almacenados en la aplicacin.

Dividir la Base de Datos


Para poder instalar Access a nivel de estaciones de trabajo tenemos que empezar por
dividir las tablas donde se almacenan los datos, de todos los dems objetos de la Base de
Datos, de forma que obtengamos dos Bases de Datos para la Aplicacin.

DISEO

TABLAS

Consultas
Formularios
Macros

Vinculos con
Tablas

Tablas

Informes
Mdulos

Divisin de los objetos en dos Bases de Datos

Al tener en cada estacin de trabajo la parte de formularios, informes, etc, el


rendimiento es muy superior a la primera opcin que hemos sealado. Imaginemos abrir un
formulario complejo, cuyo diseo tuviramos que pasarlo a travs de la red para cada
estacin de trabajo. En poco tiempo, la capacidad de trfico de la red se podra ver
colapsada. De sta segunda manera, los formularios estn en cada estacin de trabajo, por lo
que su apertura es prcticamente instantnea.
Una vez dividida la Base de Datos, el propio asistente genera la vinculacin de las
tablas. Pero como normalmente la divisin la realizamos en el puesto de trabajo del
programador de la aplicacin, cuando pongamos la base de datos de las tablas en el servidor,
el Frontend tendr un vnculo a las tablas que no es el actual. Para ello, en la Barra de mens
de Access, en Herramientas > Administrador de tablas vinculadas tenemos un asistente que
nos permite buscar la ubicacin actual del backend de las tablas y actualizar los vnculos.

En este punto hay que sealar que la divisin de una base de datos no es solo
conveniente por una cuestin de trfico de red, sino necesario cuando estamos desarrollando
la aplicacin para poder actualizar los cambios en el diseo de consultas, formularios,
informes, cdigo VBA, etc. Si no hemos dividido la Base de Datos y el cliente nos solicita
algunos cambios, qu vamos a hacer si ya est introduciendo datos?

Si hemos dividido

previamente la base de datos, la parte de las tablas seguir siendo la misma, y podremos
cambiar cualquier parte de diseo, simplemente cambiando el frontend de cada estacin de
trabajo por el Frontend con las nuevas modificaciones. Eso s, en todo momento vigilando que
la vinculacin de las tablas sea la correcta.

Actualizacin de vnculos de las tablas


Con independencia de qu mtodo utilicemos para vincular tablas, ya sea mediante el
asistente de Access o mediante cdigo VBA, es preciso capacitar a nuestra aplicacin para
reparar los vnculos rotas, si no queremos acudir a repararlos personalmente cada vez que un
usuario o el administrador de la red mueva la carpeta que contiene la base de datos o cambie
el nombre.
La forma manual de vincular tablas mediante el asistente de Access ya la hemos
explicado. Existe una forma de hacerlo mediante cdigo VBA que nos va a permitir que el
usuario disponga de un botn que le permita de forma sencilla actualizar los vnculos.
- Detectar cuando se rompe un vnculo
Para evitar sorpresas al usuario poco experto en temas de programacin es
conveniente proveer a la aplicacin de un sistema que al iniciarse detecte si se ha roto algn
vnculo de las tablas. De sta manera, podemos parar la ejecucin de la aplicacin e indicarle
al usuario que las tablas no estn donde estaban y que hay que decirle al programa dnde se
encuentran.
Para comprobar la validez de un vnculo, simplemente hay que hacer referencia a una
propiedad TableDef de la tabla vinculada y tratar los errores que se produzcan. Supongamos
que se produce el error siguiente:
Error 3265 El elemento no se encuentra en sta coleccin

Este error indica sencillamente que el vnculo se ha perdido. Entonces, para hacer
sta primera comprobacin, crearemos una funcin en la ventana mdulos que compruebe si
efectivamente hay error o no.

Esta funcin mira si se produce el error que detecta si el vnculo se ha roto o no. Si se
ha roto devuelve False y si no se ha roto devuelve True. Ahora podremos utilizar ste
resultado para, primero, avisar al usuario del problema, y despus revincular las tablas.
Esto lo podemos hacer en un formulario de inicio de la aplicacin, que lo abrimos de
forma predeterminada, y para ello creamos un procedimiento en el evento Al abrir del
formulario Inicio:

Una vez que hayamos determinado que se ha roto un vnculo de las tablas, hay que buscar el
nuevo emplazamiento de la base de datos del servidor, la que contiene las tablas. Para ello
implantaremos un nuevo mdulo que se lo facilitaremos a nuestro cliente.
En el prximo captulo veremos cmo realizar sta operacin que, sin duda, nos
evitar muchos problemas de mantenimiento una vez instalada la aplicacin.

También podría gustarte