Administrar y actualizar una base de datos MySQL desde Access

Valoración del artículo:
Si nuestras páginas utilizan una base de datos debemos contar con una herramienta de administración y actualización de la base de datos, o programarla nosotros. Ilustramos como Access puede ayudarnos a hacerlo fácil.
Publicado: 20/10/02
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
Uno de los mayores problemas de los que adolece actualmente Mysql es el no poseer un entorno gráfico que satisfaga a la mayor parte de los usuarios. Existen magníficos proyectos a través de página Web, como PHPmysqlAdmin, pero muchas veces te encuentras con gente que le gustaría tener algo parecido a un Access, posibilidad de incluir formularios para la entrada de datos, o de informes sobre los datos almacenados dentro de una tabla.

Dado que no existe hoy en día ninguna herramienta parecida al Access para trabajar con Mysql, el presente artículo expondrá la forma de trabajar con las bases de datos de Mysql utilizando el entorno gráfico de Access. Al terminarlo, podrás utilizar los formularios, consultas e informes de Access con los datos de los ficheros de Mysql.

De esta forma, el encargado de actualizar los datos de una página, podrá trabajar desde Access, con la comodidad de los formularios, los menús desplegables etc., y los datos serán enviados automáticamente a Mysql.

Imagen de la consola de MySQL
Imagen de la consola de MySQL

Formulario de Access que accede a una base de datos MySQL
Formulario de Access que accede a una base de datos MySQL

Nota: Dos imágenes que se diferencian un mundo. Con las dos se puede administrar una base de datos MySQL, una corresponde a la consola MySQL (la herramienta más básica) y la otra a un formulario con Access, que sin duda ofrece una interfaz mucho más agradable.

Además, para la generación de formularios e informes se pueden utilizar los asistentes... todo un ahorro de tiempo!!

Referencia: Para realizar esta tarea es necesario que hayamos descargado el driver ODBC y lo hayamos instalado en nuestro sistema Windows. Esta labor se puede conocer en un artículo de DesarrolloWeb.com: Instalar el driver ODBC para MySQL.

Una vez tenemos el driver MyODBC instalado, lo primero que hay que hacer es crear una base de datos en blanco desde la cual se vincularán las tablas. Una vez creada, se hace clic sobre la opción de crear nueva tabla. Aparecerá la siguiente ventana en la que se seleccionará crear nueva tabla vinculada:

Ventana de vincular una tabla

Aparece la ventana de vincular una tabla de una base de datos, en la parte inferior se selecciona en tipo de archivo:
fuente de datos ODBC()

Seleccionamos el tipo de fuente: ODBC

Al hacer clic sobre Vincular, aparece la ventana para seleccionar un Origen de datos, se selecciona dentro de la pestaña de fuentes de datos del Equipo, la fuente de datos que creamos en la primera parte del artículo:

Seleccionamos la fuente de datos ODBC de entre las que tengamos creadas en nuestro sistema

Una vez se selecciona, se hace clic sobre Aceptar, y aparece la ventana de configuración de la fuente de datos ODBC de Mysql. Como ya esta configurada, hacemos clic sobre OK, y aparecerá la ventana en la que se pueden elegir entre las tablas que contiene la base de datos para la cual hemos configurado la fuente de datos ODBC.

Se selecciona una tabla, y a continuación aparecerá una ventana donde deberemos especificar, hasta un máximo de diez, los campos que forman parte de la clave.

Seleccionamos la clave principal

Se seleccionan los campos, y se hace clic sobre aceptar.

Aparecerá una nueva tabla dentro de la base de datos de Access. A diferencia del resto de tablas, esta no existe físicamente dentro del fichero de Access, sino que todas las modificaciones que se realizan sobre la misma, se envían a través de ODBC al fichero MYSQL.

Imagen de tabla vinculada

A partir de ahora, se podrán crear formularios, consultas e informes sobre esta tabla tal y como se hace normalmente desde Access.

Nota: Algunos proveedores de Hosting no incluyen en su paquete básico el acceso remoto al servidor de base de datos, o requiere de un aviso explicito por parte del cliente para su configuración.

Comentarios
Fueron enviados 15 comentarios al artículo
2 comentarios no revisados
13 comentarios revisados:
Por: jorge
24/7/03
Pero, el uso del phpmyadmin, ¿no es eficiente para admistrar la base de datos ???

RESPUESTA

PhpMyAdmin es un programa muy eficaz y sencillo de utilizar y de instalar. Además, se puede utilizar con cualquier proveedor, porque en realidad no son más que unas páginas web que consultan con tu base de datos.

Ahora bien, otras herramientas como Access o MyCC, los dos comentados en el Taller de MySQL, realizan conexiones con una interfaz de trabajo a través de aplicaciones Windows típicas en lugar de interfaz web. La interfaz de programa o aplicación tiene algunas ventajas como la rapidez y sencillez de manejo.

Además, con una aplicación instalada en tu ordenador local, evitas un posible agujero de seguridad porque tener un PhpMyAdmin colgado de la web puede ser un problema si alguien encuentra la URL donde está publicado y accede a la base de datos de nuestro sitio web sin ninguna protección.

Así pues, aunque no digamos a nadie donde está colocado el PhpMyAdmin, será necesario protegerlo para que no de lugar a accesos no autorizados. Si utilizamos una aplicación, con asegurarnos que nadie más tiene acceso a nuestro ordenador, estaríamos seguros de que no se realizan accesos no permitidos.

Por: Jose Antonio Espinosa
28/7/03
Problemas al importar

¿No te ha dado nunca problemas con los tipos de datos al vincular la tabla? Aparentemente parece que las vincula, pero o bien los tipos de datos no coinciden o no las vincula en absoluto...

Por: Manuel
02/10/04
A mi me funciona bien la insercion de datos desde access, pero no puedo modificar ni borrar datos, me da un error de que hay un usuario que esta usando el registro despues que yo lo modifique. No hay manera de borrar y modificar, a ver si me podeis dar una solucion. Saludos

RESPUESTA

No se si esto te servirá, porque resulta muy obvio. Si tienes la tabla abierta con Access y al mismo tiempo haces una consulta, puede que te diga que la tabla está abierta de manera exclusiva por otro usuario. La solución sería cerrar Access y en último caso, reiniciar el ordenador para que el usuario libere el recurso.

Por: Fernando
10/2/05
a mi tamb ien me da el error de q otro usuario esta utilizando el registro. la solucion de reiniciar la maquina no es efectiva asi q a ver si alguien nos puede dar una solucion.

muchas gracias
Por: Rafael Noguera
26/3/05
Funciona perfectamente la vinculación de tablas mysql a access, el problema viene cuando cierras la base de datos access y la vuelves a abrir...Tienes que volver a vincularlo todo de nuevo ya que no mantiene la conexión. ¿Hay alguna solución?..
Por: Emilio
08/3/06
Si no tenemos más remedio que utilizar el front-end de Access, el sistema de conectar por ODBC está bien.

Pero si queremos administrar y gestionar una base de datos MySQL seamos prácticos. No nos compliquemos, deberíamos recurrir a un cliente gráfico de MySQL.

A mi me encanta Navicat de Premiumsoft. Es excelente y muy sencillo, pero es de pago.

Si queréis una opción gratuita, en la página www.mysql.com tenéis GUI para Windows que pueden administrar bases de datos de este tipo.
También podéis recurrir a la útil herramienta DBDesigner 4 http://fabforce.net/dbdesigner4/
Por: Renato
02/9/06
La vinculacion de tablas desde mysql - access no es del toda perfecta, tiene problemas con el tipo de campo tiempo del mysql, el access no reconoce ese tipo de campo, ademas si quieres tener integridad referencial tienes que necesariamente usar tablas tipo inodb ya que el access actua solo como interfaz, creo q como solucion momentanea esta bien usar el access pero para cosas serias es mejor usar algun lenguaje de programacion mas solido.
Por: Hector Ballester
25/10/06
Estoy trabajando muy bien con la base de datos de MySQL vinculada a Access, les recomiendo utilizar WAMP5 para poder instalar Apache, PHP y MySQL en una sola operación. Es muy facil de utilizar.

Por: gloria
15/11/06
Hola, nosotros tenemos nuestra base de datos en Access ya que tenemos una serie de formularios hechos en Access para gestionar las tablas(mostramos y modificamos tablas). Las pasamos al servidor de MySQL sin ningún problema, sin embargo, al pasarlas notamos bastante lentitud en las consultas. He oido que el motivo es que Access se descarga todas las tablas de MySQL para realizar la consulta desde aquí(por eso la lentitud). ¿Cómo puedo hacer consultas en Access, que las mande al servidor MyQSL y sea éste el que ejecute la consulta devolviendo a Access el resultado?
Gracias por adelantado
Por: alfil106
08/12/06
Si quieren una ide como access usen OpenOffice
En la nueva version se puede enlazar MySQL con un DNS.
Solo se tiene que tener el codeck ODBC

Se crea la DB en myql
Se crea el dns
y al iniciar en openoffice se da la opcion de usar base de datos con dns
y listo se salva
Cada vez que se desee ver la DB se puede acceder desde Base.
Se puede modificar la estructura y no hay problema
solo hay que reabrir el archivo
Por: Juan David Benìtez Ecuador
23/2/07
Ok la soluciòn es la siguiente fijense que toda table que importen vinculando tablas ocea odbc tenga siempre una clave primeria access funciona con claves primarias sino le ponen clave primaria a la tabla exportada jamaz les va dejar actualizar editar borrar etc saludos desde Ecuador!!!!!!!!!!! wahahaha
Por: david
15/12/08
no veo el driver en el panel de control, y tengo instalado mysql yog enterprise
Por: Gejo
22/12/08
Gracias por el tutorial. En mi caso sólo necesitaba poder generar las SELECT más complejas desde Access. Me ha sido muy útil.

Manuales relacionados
Categorias relacionadas
El autor
Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Alojados en el grupo