Importar rangos no contiguos de excel a access

La forma más sencilla de realizar la importación de dos rangos no contiguos, es hacerlo mediante un macro.
En dicha macro realizaremos las siguientes acciones:

Importaremos toda la hoja de Excel y la guardaremos en una primera tabla.

Realizaremos una consulta de creación de tabla basada en la tabla anterior. En esta consulta seleccionaremos solamente aquellos campos que nos interesen.

Proceso a seguir:

Partimos de una hoja de cálculo de Excel con todos los datos. Este archivo lo llamamos libro1.xls



Abrimos la base de datos de Access, a la cual queremos importar los datos.


Accedemos a Macros – Nuevo para crear una nueva macro, que en principio, nos permita importar toda la hoja de cálculo de Excel, con todos los datos.

En Acción seleccionamos del desplegable: TransferirHojaCálculo

En la parte inferior de la ventana indicamos los argumentos de la acción:

Tipo de transferencia: dejamos importar, puesto que lo que queremos hacer es importar los datos que tenemos en Excel.

Tipo de hoja de cálculo: el valor predeterminado es Microsoft Excel 8-10. Dejamos este valor.

Nombre de la tabla: escribimos el nombre de la tabla de Access que vamos a crear con los datos importados. En nuestro ejemplo: tabla1

Nombre de archivo: indicamos el nombre del archivo de Excel que vamos a importar. En nuestro ejemplo libro1. No indicamos la ruta de acceso si lo hemos guardado en el mismo directorio que la base de datos de Access.

Contiene nombres de campo: indicamos Sí, puesto que la primera fila de la hoja de cálculo contiene los nombres de los campos. En nuestro ejemplo: codigo, mes, nombre, apellido, ciudad, fecha y edad.



A continuación guardamos la macro, con el nombre Macro 1 y la ejecutamos pulsando el botón de la admiración roja.

Al ejecutar la macro hemos creado una tabla llamada Tabla1 con todos los datos de la hoja de cálculo de Excel.

Lo comprobamos, pulsando en tablas y abriendo el objeto Tabla1:



Cerramos la tabla.

A continuación creamos una consulta basada en la tabla1, que seleccione solamente los campos que nos interesan. En nuestro ejemplo solo nos interesan los campos código, mes, nombre, apellido y edad.



Esta consulta es una consulta de Creación de Tablas, así el resultado de la consulta se almacenará en una tabla.

Para ello, una vez bajados los campos que nos interesan a la cuadrícula QBE, accedemos al desplegable tipo de consulta y seleccionamos Consulta de creación de tablas:



El nombre de la tabla debe describir su contenido, por ejemplo, la podemos llamar:

Tabla_con_campos_seleccionados

A continuación guardamos la consulta, por ejemplo, con el nombre Consulta1 y la ejecutamos desde el botón ejecutar consulta de la admiración roja.


Al ejecutar la consulta crearemos una tabla en la que solo están los campos que nos interesan:


De esta forma ya habríamos importado correctamente los campos y los datos que nos interesan a una tabla de Access.

Podemos incluir o no esta acción en la macro creada anteriormente.


Para incluir este paso en la macro, volvemos al diseño de la Macro:


En la segunda línea de la columna Acción seleccionamos Abrir Consulta:

En la parte inferior de la ventana, en Argumentos de acción seleccionamos en Nombre de la consulta: Consulta 1, que es la consulta de creación de tablas de hemos diseñado en el paso anterior.

De esta forma, hemos incluido en la macro la importación de los datos, la creación de la tabla 1 con todos los datos y la creación de la tabla definitiva con los campos seleccionados a través de una consulta.


Antes de probar el funcionamiento de la macro la guardamos y eliminamos las tablas Tabla 1 y Tabla_con_campos_seleccionados. Así cada vez que ejecutemos la macro se crearán nuevamente estas tablas y obtendremos los datos únicamente de los campos que nos interesan, aunque originalmente estuvieran en Excel en rangos no contiguos.

0 comentarios:

Publicar un comentario

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Top WordPress Themes