jueves, 30 de abril de 2009

Sobre Front-End, Back-End y Mde



Ya es un clasico la magnifica explicacion que en su dia hizo Anna sobre la división de bases de datos. La recojo en el blog, aunque esta en muchos sitios, simplemente por que es genial.

¿Que buscamos con esto de Back-End, Front-End en MDE y Red?


- Tener una aplicación a la cual varios usuarios puedan acceder al mismo tiempo
- Los usuarios podran ver las actualizaciones de la aplicación en tiempo real, es decir cada vez que alguien cree un registro nuevo o realice alguna modificación, el resto de los usuarios podran verlo.
- Evitar que los usuarios tengan accesso a la tablas de manera directa, solo podran hacerlo por medio de los formularios y consultas.
- Evitar que los usuarios puedan modificar el codigo de la aplicacion y el diseño de los formularios e informe

Diferencia entre Back-End y Front-End

- Back-End es una mdb que se encuentra en un servidor o en un ordenador que funciona como servidor, dentro de una carpeta compartida y la cual solamente contiene las tablas. Esta mdb es recomendable que tenga contraseña para su apertura.
- Front-End un mde que puede estar en local en cada estacion u ordenador por usuario, tambien puede ser una sola que estara en una carpeta compartida y los usuarios tendran accessos directos instalados en su estacion u ordenador. Esta base tendra todos los objetos para la exploracion, edicion y creacion de archivos, es decir formularios, consultas, macros, informes, codigo VBA. Pero no contendra ninguna tabla en local, a esta base se vincularan las tablas del Back-End por medio de Archivo >>> Obtener datosexternos >>>> Vincular. En caso de que el Back-End contenga contraseña la pedira al principio. Otra opcion es utilizar alguno de los ejemplos del Buho para vinculación o revinculacion de tablas.

Archivo mde

- Un archivo mde lo que hace es ocultar o eliminar el codigo de la aplicacion pero mantendra el funcionamiento, bloqueara la vista diseño de formularios e informes, asi como la creacion de nuevos. Sin embargo las macros y consultas si podran ser modificadas y se podra crear nuevas.
- Un archivo mde se obtiene por medio de Herramientas >>>> Utilidad de la base de datos >>> Crear archivo MDE... OJO: este proceso no es reversible, por lo que debe realizarse sobre una copia
- En caso de que esta opcion aparesca deshabilitada (atenuada) se debera convertir la base a una version superior por medio de Herramientas >>> Utilidad de la base de datos >>> Convertir base de datos
- Si al convertir la base en mde se recibe un mensaje de error, se debe a que existe alguna falla en la ventana de VBA, presiona Atl+F11 luego en Depuración >>>> Compilar, si hay algo lo mostrara, si aun asi no es posible crear la mde entonces es posible que en el codigo existan procedimientos sin origen, es decir si creaste un combo con el asistente y luego borraste ese combo en el formulario el codigo se ha quedado huerfano en la ventana VBA ya que no se borra al borrar el combo. Una buena opcion aunque lenta es crear una base nueva en blanco e ir importando los objetos de poco en poco e ir creando la mde, en el momento que no deje crear la mde sabras cual es el objeto que requiere revisión. Nota de Xavi: tambien puedes utilizar herramientas para analizar el código como MZ-Tools
- Si un formulario esta basado en una consulta, lo mejor para evitar que esa consulta sea modificada es que el formulario en origen de datos no tenga la consulta como tal (una consulta que aparece en la ventana base de datos) pinchando en los ... podras crear la consulta para dar origen al formulario y al crear el archivo mde esta no podra ser modificada

Consideraciones

- Back-End debera estar establecida en Herramientas >>>> Opciones >>>>> Avanzadas >>>>> Modo predeterminado de apertura compartida
- Front-End debera estar establecida en Herramientas >>>> Opciones >>>>> Avanzadas >>>>> Modo predeterminado de apertura compartida y bloqueo de registro >>>>> registro modificado
- La opcion del registro modificado se puede sustituir para el Front-End al establecer por cada formulario bloqueo por registro modificado, con esto lo que se logra es que la aplicacion no permitira que dos usuarios modifiquen el mismo registro al mismo tiempo, lo que crearia perdida de datos y confusion en los usuarios.

lunes, 27 de abril de 2009

Avisos con alarma sonora


Sencillo ejemplo para incorporar sonidos (en este caso tipo wav o mid) en una aplicación de access. El ejemplo trae adjunta una carpeta con varios sonidos para poder elegir. Al abrir el archivo, se cargan 2 registros a los que le faltan 2 y 4 minutos para cumplirse, así podrás comprobar rápidamente el funcionamiento del ejemplo.

Descargatelo aquí


Para Access 2000 o superior

viernes, 24 de abril de 2009

Control de Entrada



Un sencillo formulario de control de entrada, que permite establecer varios niveles de acceso. En principio se puede entrar como administrador o como usuario "normal". El ejemplo permite modificar la contraseña, controla el numero de intentos de acceso y, como valor añadido adicional, incorpora unas funciones de Chea para ocultar o mostrar las tablas de la aplicacion. Si se entra como administrador se muestras y si no, se ocultan

Descargatelo Aqui

Para Access 2000 o superior.

jueves, 23 de abril de 2009

Simular InputBox con un Combo



A la hora de abrir un informe o consulta filtrada, una opcion es usar el criterio de la consulta con el tipico [Introduzca el dato buscado], pero en ocasiones nos gustaria "limitar" esta posibilidad de introduccion de datos para filtrar a traves de un combobox, ya que el inputbox esta abierto a quialquier introduccion. Pues bien, en este sencillo ejemplo tienes como simular un inputbox con un combo, para solventar este escollo

Descargatelo Aqui

Para Access 2000 o superior.

martes, 21 de abril de 2009

Mensaje Ejecutando Tareas



En ocasiones realizamos procesos largos y que resulta complejo conocer de antemano su duracion y poder asi ejecutar una barra de progreso realista. una posible solucion es este ejemplo, donde se usa la dll Gif89.dll para dar algo de animacion al mensaje. Se puede llamar al formulario al comenzar el proceso, y cerrarlo cuando este concluya. El archivo viene con la dll adjunta, que hay que registrar.

Descargatelo Aqui

Para Access 2000 o superior.

Listas con multiples columnas



En access 2000 aun no esta disponible para los cuadros de listas los metodos AddItem y removeItem, por lo que se hace algo tedioso trabajar con ellas. Aqui hay un ejemplo en el que interactuan dos listas, con la particularidad de que tiene multiples columnas. Se puede ordenar, pasar items de una lista a otra, borrar items.....

Desacargatelo aqui


Para Access 2000 o superior.

Menu ¿chulo?


Ya se que hay muchos, pero para los que aun usamos access 2000, he "sacado" este menu de una de mis aplicaciones y adaptado por si a alguien le sirve.

Descargatelo Aqui

Para Access 2000 o superior.

Seleccionar Archivo


Un ejemplo sencillo para mostrar el cuadro de dialogo "selecionar archivo", y obtener la ruta del archivo elegido, en este caso, utilizando el objeto Indocumentado Wizhook de Access:
una forma ingeniosa, gracias a la labor de investigación de Juan M.Afan sobre el objeto indocumentado WizHook. Otra formas de usar un cuadro de dialogo las puedes ver en este enlace:

http://www.retena.es/personales/hualde.retena/access/abrirficherometodos.txt


Descargatelo Aqui

Para Access 2000 o superior.