AjpdSoft
Principal
· Inicio
· Buscar
· Contactar
· Descargas
· Enciclopedia
· Estadísticas
· Eventos
· Foros
· Manuales, Artículos
· Nuestra historia
· Quiénes somos
· Recomiéndanos
· Temas
· Top 10
· Trucos Delphi, PHP, Java, Visual Studio
· Tu cuenta
Descargas

Últimas Descargas
· AjpdSoft Obtener datos procesador WMI

· AjpdSoft Mover ratón con teclado

· AjpdSoft Esquema XML Tree

· AjpdSoft Quitar dispositivos USB de forma segura

· AjpdSoft Ping ICMP

· AjpdSoft Búsqueda Completa MySQL

· AjpdSoft RGB Código Fuente Delphi

· AjpdSoft Acceso MySQL Linux

· AjpdSoft Keylogger Código Fuente Delphi

· AjpdSoft Modificar fechas de fichero Código Fuente Delphi


Lo más descargado
· AjpdSoft Generador de códigos de barras

· AjpdSoft Registro de OCX y DLL Código Fuente Delphi

· AjpdSoft Conversor Hexadecimal, Decimal, Texto - Código Fuente Delphi

· AjpdSoft Inventario PCs

· AjpdSoft Aviso cambio IP pública

Términos enciclopedias
Últimos
· WMI
Enc.: Informática

· ISO
Enc.: Informática

· cluster
Enc.: Comandos Windows XP/Windows 2000/2003 (consola MS-DOS)

· DMZ - Zona desmilitarizada
Enc.: Informática

· MAC (Dirección MAC)
Enc.: Informática

· SSL (Secure Sockets Layer)
Enc.: Informática


Lo más visitado

· At
Enc.: Comandos Windows XP/Windows 2000/2003 (consola MS-DOS)

· Attrib
Enc.: Comandos Windows XP/Windows 2000/2003 (consola MS-DOS)

· Arp
Enc.: Comandos Windows XP/Windows 2000/2003 (consola MS-DOS)

· net use unidad: \\nombrepc\recursocompartido
Enc.: Comandos Windows XP/Windows 2000/2003 (consola MS-DOS)

· bootcfg addsw
Enc.: Comandos Windows XP/Windows 2000/2003 (consola MS-DOS)

· MSKSrvr.exe
Enc.: Procesos en memoria
Eventos
Julio

DLMMJVS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Consejos
Lenguajes
Selecciona Idioma de la Interfaz:

Webs recomendadas
Orasite.com



Coloca tu web aquí
 
| Más
 
 Access (mdb): Cómo compilar un fichero Access (de MDB a MDE)
Bases de Datos

Os explicamos en este artículo cómo generar, a partir de una base de datos Access (.mdb), un fichero no modificable por un usuario "normal" (mde). Lo que explicaremos paso a paso es como "compilar" un fihero mdb para convertirlo en mde y evitar que el usuario pueda modificar objetos (tablas, formularios, consultas, macros, etc.). También expicamos cómo dividir una base de datos access en dos, separando las tablas del resto de los objetos.



Preparar la seguridad del fichero Access (mdb) para convertirlo a MDE

A continuación explicamos cómo convertir una base de datos Access (con extensión .mdb) que es modificable directamente (formularios, consultas, tablas, etc.) en un fichero compilado no modificable (salvo los datos de las tablas) MDE.

Abriremos Microsoft Access, crearemos las tablas, consultas, formularios, macros, etc que deseemos. Crearemos también un formulario "principal" que contendrá los accesos (botones) a los demás formularios, consultas o tablas que deseemos.

Cuando tengamos creada la base de datos Access, la abriremos y accederemos a la opción del menú “Herramientas” – “Inicio…”:

Cómo compilar un fichero Access (de MDB a MDE)

En la ventana de "Inicio" seleccionaremos las opciones que queramos según el nivel de seguridad que se quiera, a continuación explicamos las opciones de seguridad disponibles para el fichero Access y MDE que se generará:

  • Título de la aplicación: nombre que aparecerá en la barra de título del fichero MDE resultante, será el nombre de la aplicación Access (por ejemplo "AjpdSoft Facturación".
  • Icono de la aplicación: si queremos que nuestro fichero MDE tenga un icono asociado (como si de un ejecutable se tratase) seleccionaremos aquí un icono (con extensión .ico).
  • Barra de menús: si hemos creado una barra de menús personalizada podremos seleccionarla para que aparezca en la aplicación MDE.
  • Permitir el uso de menús no restringidos: mostrar menús estándar de Access.
  • Permitir el uso de menús contextuales predeterminados: mostrar menús contextuales (al pulsar el botón derecho) estándar de Access (filtros, búsquedas, etc.).
  • Usar las teclas especiales de Access: esta opción no es recomendable marcarla, si la marcamos permitirá al usuario que al abrir la aplicación MDE con la tecla shift pulsada aparezca la ventana de la base de datos, lo que le permitirá modificar los objetos de la misma: consultas, tablas, formularios, macros, etc.
  • Mostrar formulario/página: si tenemos un formulario creado con los botones y demás para que el usuario pueda acceder a las tablas, consultas u otros formularios lo seleccionaremos en esta opción. El formulario que seleccionemos en esta opción será el primero que aparezca al ejecutar el fichero MDE, por lo que es recomendable que sea un formulario que permita acceso al resto de opciones de la aplicación.
  • Presentar la ventana Base de datos: si marcamos esta opción aparecerá la ventana de Base de datos, lo que permitirá al usuario modificar y eliminar objetos (formularios, tablas, consultas, macros, etc.).
  • Presentar la barra de estado: mostrará una barra inferior con información adicional.
  • Barra de menú contextual: si hemos creado una barra de botones personalizada para nuestra aplicación MDE la podremos seleccionar en esta opción.
  • Permitir el uso de las barras de herramientas incorporadas: mostrará las barras de botones propias de Access, no es recomendable marcar esta opción.
  • Permitir cambios en barras de herramientas y menús: permitirá que el usuario pueda modificar y personalizar las barras de herramientas añadiendo o quitando opciones, no es recomendable marcar esta opción.

Cómo compilar un fichero Access (de MDB a MDE)

Con estas opciones lograremos un poco de seguridad para que el usuario no vea “a simple vista” las tablas, el código, las consultas y los menús propios de Access. Pero, por supuesto, aún faltaría un paso para hacer una aplicación “auténtica” (dentro de las posibilidades de Access), es decir, para que el usuario no pueda modificar los formularios, los informes, los macros, …

Con lo anterior, si un usuario pulsa la tecla F11 ó mantiene las mayúsculas pulsadas al abrir el fichero Access podría modificar todo, incluido el código fuente. Para solucionar esto hay una opción en Access llamada “Crear un archivo MDE”, para ello accederemos al menú “Herramientas” – “Utilidades de la base de datos” – “Crear archivo MDE”:

Cómo compilar un fichero Access (de MDB a MDE)

Esta opción “compila” la base de datos Access lo que permitirá que el código fuente (macros), los formularios, los informes, la estructura de las tablas y consultas ya no serán modificables, sí que seguirán siendo modificables. Al finalizar creará un fichero MDE que sería como el ejecutable de una aplicación. Este será el fichero que utilizará el usuario final.

 

Recomendaciones importantes antes de crear un fichero MDE

Antes de crear el fichero MDE es recomendable dividir el fichero mdb de Access en dos para separar los datos (tablas) de los formularios, de esta forma, si tenemos que realizar alguna modificación en los formularios (que será lo habitual) podremos actualizar el fichero más fácilmente:

  • El primero contendrá sólo las tablas (que son menos propensas a modificaciones). Este fichero no será compilado, de esta forma, si realizamos alguna modificación en las tablas no será necesario volver a compilarlo. Como método de protección contra las modificaciones indebidas por parte de usuarios malintencionados le añadiremos una contraseña. Para ello abriremos la BD de las tablas en modo exclusivo, desde el menú "Archivo" - "Abrir", seleccionaremos la mdb que contenga sólo las tablas y en la parte derecha del botón "Abrir" seleccionaremos "Abrir en modo exclusivo":

Cómo compilar un fichero Access (de MDB a MDE)

Estableceremos la contraseña para la base de datos, para ello accederemos al menú "Herramientas" - "Seguridad" - "Establecer contraseña para la base de datos...":

Cómo compilar un fichero Access (de MDB a MDE)

Es conveniente introducir una contraseña larga y con caracteres “raros” por ejemplo: “estoesunapruebaññ#”, pues existen programas capaces de obtener la contraseña de los ficheros Access, con esto se lo pondremos un poco más complicado:

Cómo compilar un fichero Access (de MDB a MDE)

  • El segundo fichero contendrá todo lo demás (consultas, formularios, código fuente, macros, etc) que suelen modificarse más a menudo. Este fichero contendrá las tablas de forma vinculada (enlace a las tablas del fichero de datos anterior), para ello abriremos la mdb con los objetos modificables (formularios, informes, macros, módulos, consultas) y accederemos a la opción "Tablas", pulsaremos el botón "Nuevo". En la ventana de "Nueva tabla" seleccionaremos "Vincular tabla" y pulsaremos "Aceptar":

Cómo compilar un fichero Access (de MDB a MDE)

Seleccionaremos el fichero que contiene las tablas (el que hemos protegido con una contraseña), en nuestro caso "datos.mdb" y pulsaremos el botón "Vincular":

Cómo compilar un fichero Access (de MDB a MDE)

Introduciremos la contraseña (sólo la pedirá una vez):

Cómo compilar un fichero Access (de MDB a MDE)

Y seleccionaremos la tabla o tablas a vincular:

Cómo compilar un fichero Access (de MDB a MDE)

Con esto lo que conseguimos es que cuando tengamos que hacer algún cambio en los formularios, consultas, informes, código,... y lo compilemos será suficiente con que al usuario le reemplacemos dicho fichero por el nuestro. Separando así los datos de los objetos modificables. Si no hacemos esta división tendremos muchos problemas para las actualizaciones, pues habrá que descompilar el MDE para convertirlo en mdb y realizar las modificaciones, en este proceso el usuario no podrá trabajar con la base de datos. En cambio, al hacer la división, los desarrolladores podremos modificar los informes, formularios, consultas, código sin molestar al usuario y actualizar este fichero en el último momento.

Una vez que hayamos realizada nuestra aplicación entregaremos al usuarios el fichero de las tablas (protegido con contraseña) y el fichero MDE resultante de la compilación del fichero del código fuente y los formularios (tal y como se indica al principio de este manual).

Por supuesto, si tenemos que hacer alguna modificación en el fichero de las tablas tendremos que anotar dichas modificaciones para hacerlas luego en las tablas del usuario. Salvo en el caso en que sea una nueva tabla que será suficiente con copiar (de nuestro fichero) y pegar (en el del cliente). En tablas ya creadas y que contengan información válida no habrá más remedio que hacer las modificaciones manualmente.

Con estos pasos conseguiremos que el usuario sólo podrá abrir el fichero MDE (el compilado y, con lo cual, protegido) y no podrá acceder al fichero de los datos directamente (pues tiene una contraseña).

Aún se puede proteger un poco más el fichero del código fuente compilado, pues si el usuario mantiene pulsada la tecla mayúsculas mientras ejecuta el fichero MDE podrá modificar y eliminar las consultas, las tablas vinculadas y las macros. Aunque esto no es del todo problemático pues sería suficiente con volver a entregar el fichero MDE, es conveniente ocultar todos los objetos para que, al menos, el usuario no los vea directamente. Para ello accederemos al fichero del código fuente (antes de compilarlo) y cambiaremos la propiedad “Oculto” de todos los objetos (Tablas, Consultas, Macros, Informes, Módulos,…), pulsando con el botón derecho del ratón sobre el objeto a ocultar y seleccionando "Propiedades":

Cómo compilar un fichero Access (de MDB a MDE)

En Atributos marcaremos la opción "Oculto" y pulsaremos "Aceptar":

Cómo compilar un fichero Access (de MDB a MDE)

Una vez que hayamos ocultado todos los objetos compilaremos el fichero y abriremos el fichero MDE resultante manteniendo pulsada la tecla mayúsculas, accederemos al menú “Herramientas” – “Opciones…”, seleccionaremos la pestaña “Ver” y desmarcaremos la opción ”Objetos ocultos” y “Objetos del sistema”:

Cómo compilar un fichero Access (de MDB a MDE)

Este fichero será el que entreguemos al usuario.

Los ficheros resultantes:

Cómo compilar un fichero Access (de MDB a MDE)

  • datos.mdb: base de datos Microsoft Access que contendrá sólo las tablas de la aplicación.
  • Ejecutable.mdb: base de datos Microsoft Access que contendrá todos los objetos salvo las tablas: formularios, consultas, informes, macros, módulos. Esta tabla se vinculará a "datos.mdb" mediante tablas vinculadas.
  • Ejecutable.mde: fichero MDE resultante de la compilación del fichero anterior, "Ejecutable.mdb".

(Puedes descargar los ejemplos desde aquí)

Al usuario se le entregará el fichero "datos.mdb" (protegido por contraseña) y "Ejecutable.mde".

Tecnologías empleadas

Para realizar este artículo hemos utilizado Microsoft Access 2002. Para el resto de versiones este proceso es parecido. En el caso de Microsoft Access 2007 hemos de decir que incluye una utilidad para dividir la base de datos en dos de forma automática (separando las tablas del resto de los objetos).

Artículos relacionados

 

Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.

Enviado el Martes, 14 julio a las 14:06:30 por ajpdsoft
 
Enlaces Relacionados
· Crear aplicación APEX
· Oracle XE en Linux Ubuntu
· Cargar fichero en MySQL
· MySQL Server 6.0 Windows
· Instalar MSDE
· Oracle 10g en Windows
· Tipos de datos Oracle
· Oracle Management Server
· Recuperar con RMAN
· Modo Archive Log
· Secuencias en Oracle
· Disparadores (triggers) Oracle
· MySQL Server en Ubuntu
· Más Acerca de Bases de Datos
· Noticias/artículos de ajpdsoft


Noticia/artículo más leída sobre Bases de Datos:
Cómo instalar MySQL Server en Windows

Votos del Artículo
Puntuación Promedio: 0
votos: 0

Por favor tómate un segundo y vota por este artículo:

Excelente
Muy Bueno
Bueno
Regular
Malo


Opciones

 Versión Imprimible  Versión Imprimible

 Enviar a un Amigo  Enviar a un Amigo

Puntos
Los comentarios son propiedad de quien los envió. No somos responsables por su contenido.

No se permiten comentarios Anónimos, Regístrese por favor
Esta web NO CONTIENE ningún tipo de software malicioso (malware), por ello podéis descargar el código fuente de los programas gratuitamente