Utilizamos cookies propias y de terceros. Al navegar entendemos que aceptas el uso de cookies. +Info.
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Usuario
· Wiki

Nick


Contraseña


Nuevo usuario


English

Access: Actualizar datos de tabla MySQL desde consulta Microsoft Access
Bases de Datos


Tutorial donde explicamos cómo actualizar los datos de una tabla MySQL Server de forma automática usando Microsoft Access, con tablas vinculadas mediante ODBC. Explicamos cómo conectar Microsoft Access con un servidor de MySQL Server. Mostramos también cómo importar una hoja de Excel a Microsoft Access.



 

Requisitos para actualizar datos de una tabla MySQL desde Microsoft Access

En este tutorial explicaremos cómo utilizar la herramienta Microsoft Access para actualizar datos de una tabla MySQL Server de forma automática, con consultas Microsoft Access. Para ello, el primer requisito es disponer de un servidor con MySQL Server, que será donde tengamos las tablas a las que accederemos desde Microsoft Access. En los siguientes tutoriales explicamos cómo instalar MySQL Server en distintos sistemas operativos:

Puesto que usaremos Microsoft Access 2007 (es válida cualquier versión) necesitaremos tener esta herramienta instalada con su correspondiente licencia.

Para enlazar Microsoft Access 2007 con MySQL Server usaremos ODBC, en el siguiente tutorial explicamos paso a paso cómo instalar el driver ODBC y cómo vincular tablas de MySQL Server con Microsoft Access:

Como ejemplo, el origen con los datos válidos para actualizar será una hoja de Excel, explicaremos también cómo importar una hoja de Excel a Access.

 

Vincular tabla de MySQL en Microsoft Access

Para realizar este tutorial necesitaremos vincular en Microsoft Access una tabla de MySQL Server, a continuación mostramos un tutorial sobre cómo vincular tablas de MySQL en Access:

Vincular tabla de MySQL en Microsoft Access

 

Importar hoja de Excel en Access

Como ejemplo para actualizar los datos de una tabla MySQL Server desde Microsoft Access usaremos los datos de un libro Excel, por lo tanto en primer lugar importaremos esos datos de Excel a Access, para ello desde la bd de Access con la tabla vinculada a MySQL (como hemos explicado aquí) pulsaremos en "Datos externos" - "Excel":

Importar hoja de Excel en Access

Seleccionaremos el fichero Excel a importar, para ello pulsaremos en "Examinar":

Importar hoja de Excel en Access

Elegiremos el fichero de Excel a importar a Access y pulsaremos "Abrir":

Importar hoja de Excel en Access

Seleccionaremos el tipo de importación/vinculación:

  • Importar el origen de datos en una nueva tabla de la base de datos actual: se creará una nueva tabla en Access con los datos importados de Excel. La tabla de Access no tendrá relación con la origen de Excel, cualquier cambio en Excel no se actualizará en Access y viceversa.
  • Anexar una copia de los registros a la tabla...: si la tabla seleccionada de Access ya existe, agregará los registros a la tabla existente. La tabla de Access no tendrá relación con la origen de Excel, cualquier cambio en Excel no se actualizará en Access y viceversa.
  • Vincular al origen de datos creando una tabla vinculada: Access creará una tabla que mantendrá un vínculo a los datos de Excel. Los cambios realizados en los datos de origen Excel se reflejarán en la tabla vinculada. Sin embargo, los datos de la tabla vinculada Access no podrán ser modificados.

En nuestro caso seleccionaremos "Importar el origen de datos en una nueva tabla de la base de datos actual" y pulsaremos "Aceptar":

Importar hoja de Excel en Access

Se iniciará el asistente para importación de hojas de cálculo, si la primera fila de la hoja de Excel contiene encabezados de columna (título), marcaremos "Primera fila contiene encabezados de columna" y pulsaremos "Siguiente":

Importar hoja de Excel en Access

El asistente para importar hojas de cálculo a Access nos mostrará las columnas de Excel, seleccionaremos cada una e indicaremos los siguientes datos:

  • Nombre de campo: nombre que Access asignará a la columna actual de Excel.
  • Tipo de dato: tipo de dato que se asignará al campo de la tabla Access.
  • Indexado: si queremos establecer un índice para el campo seleccionaremos "Sí" en el desplegable.
  • No importar el campo (Saltar): si no queremos que Access importe este campo marcaremos esta opción.

En nuestro ejemplo la primera columna será "DNI", de tipo "Texto":

Importar hoja de Excel en Access

La segunda columna será el campo "Horas", de tipo "Doble":

Importar hoja de Excel en Access

El asistente nos detecta una tercera columna que no queremos importar, la seleccionaremos y marcaremos "No importar el campo (Saltar)":

Importar hoja de Excel en Access

A continuación el asistente nos permitirá elegir la clave primaria (primary key) de la tabla Access que se creará con los datos Excel, las opciones son:

  • Permitir a Access agregar la clave principal: el asistente creará una columna autoincremental que será clave primaria de la tabla.
  • Elegir la clave principal: podremos seleccionar como clave primaria alguno de los campos que se importarán de Excel.
  • Sin clave principal: no se creará la clave principal.

En nuestro caso, puesto que será una tabla temporal que solo usaremos para realizar la actualización de datos MySQL no agregaremos clave principal por lo que marcaremos "Sin clave principal" y pulsaremos "Siguiente":

Importar hoja de Excel en Access

Indicaremos el nombre para la tabla Access que se creará con los datos de la hoja Excel seleccionada y pulsaremos "Finalizar":

Importar hoja de Excel en Access

Tras la importación de Excel a Access el asistente nos indicará que el proceso ha finalizado y si queremos guardar los pasos datos de importación para poder usarlos posteriormente como una plantilla. Pulsaremos "Cerrar":

Importar hoja de Excel en Access

Si todo ha sido correcto tendremos una nueva tabla en nuestra base de datos Access con los datos de Excel:

Importar hoja de Excel en Access

 

 

Crear consulta Access para actualizar datos de tabla MySQL

En el ejemplo de este tutorial hemos vinculado una tabla MySQL llamada "usuario" y hemos importado una hoja Excel en una tabla de nuestra bd Access llamada "usuario_horas". La tabla que queremos actualizar, "usuario", entre otros campos, tiene uno que es unívoco y clave principal llamado "DNI" y tiene otro campo llamado "Horas" que será el que actualicemos. Para actualizar datos de una tabla a otra en Access hay que usar una columna común entre ambas tablas cuyos datos sean unívocos (no se repitan), por lo tanto en la tabla importada de Excel también usaremos el "DNI" como enlace entre ambas.

Crearemos la consulta Access pulsando en "Crear" - "Diseño de consulta":

Crear consulta Access para actualizar datos de tabla MySQL

Seleccionaremos las dos tablas "usuario" y "usuario_horas" y pulsaremos "Agregar":

Crear consulta Access para actualizar datos de tabla MySQL

A continuación indicaremos el tipo de consulta, en nuestro caso será de actualización, por lo que pulsaremos en "Actualizar":

Crear consulta Access para actualizar datos de tabla MySQL

Ahora realizaremos el enlace que comentamos al principio, usaremos la columna "DNI" como enlace entre ambas tablas, por lo que seleccionaremos "DNI" de la tabla "usuario" (tabla de MySQL a actualizar) y lo arrastraremos al campo "DNI" de la tabla "usuario_horas" (tabla Excel que contiene los datos a actualizar en MySQL):

Crear consulta Access para actualizar datos de tabla MySQL

En la parte inferior de la consulta de actualización indicaremos los siguientes datos:

  • Campo: nombre del campo de la tabla MySQL que queremos actualizar, en nuestro caso "horas".
  • Tabla: nombre de la tabla de MySQL que queremos actualizar, en nuestro caso "usuario".
  • Actualizar a: indicaremos aquí el nombre de la tabla y campo con los datos para actualizar (la tabla que proviene de Excel), con el formato [nombre_tabla].[campo], en nuestro caso "[usuarios_horas].[horas].
  • Criterios: si queremos utilizar algún filtro para la actualización, por ejemplo actualizar sólo aquellos registros de la tabla MySQL "usuario" que tengan el campo "activo" a valor "S", podremos indicarlo con [usuario].[activo]="S".

Crear consulta Access para actualizar datos de tabla MySQL

Si queremos ver la consulta SQL que se Access creará automáticamente para la actualización pulsaremos en "SQL" en la parte inferior derecha:

Crear consulta Access para actualizar datos de tabla MySQL

La consulta SQL generada por el asistente para esta actualización será:

UPDATE usuario
INNER JOIN usuarios_horas ON usuario.dni = usuarios_horas.DNI
SET usuario.horas = [usuarios_horas].[HORAS]
WHERE (([usuario].[activo]="S"));

Crear consulta Access para actualizar datos de tabla MySQL

Una vez creada la consulta de actualización pulsaremos en "Ejecutar" para proceder a actualizar los datos de la tabla Excel a la tabla MySQL usando Access:

Crear consulta Access para actualizar datos de tabla MySQL

El asistente para actualizar datos nos mostrará el número de registros que se actualizarán, si es correcto pulsaremos "Sí":

Crear consulta Access para actualizar datos de tabla MySQL

Tras el proceso, podremos comprobar los datos actualizados en la tabla vinculada a MySQL "usuario":

Crear consulta Access para actualizar datos de tabla MySQL

Y, por supuesto, al ser una tabla vinculada, la actualización realizada en Access se habrá aplicado en MySQL directamente, usando cualquier aplicación para ejecutar consultas y mostrar el resultado en un servidor MySQL podremos comprobar que los datos se han actualizado correctamente en la tabla MySQL:

Crear consulta Access para actualizar datos de tabla MySQL

 

Artículos relacionados

Créditos

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

Artículo en inglés.


Anuncios


Enviado el Sábado, 25 agosto a las 22:22:01 por ajpdsoft
Este sitio web NO CONTIENE malware, todos los programas con código fuente aquí. Autor: Alonso Javier Pérez Díaz Google+ Síguenos en Google+