Exportar grandes cantidades de datos de Access a Excel con SELECT TOP
Imaginemos que tenemos una base de datos de Access de varios millones de registros y los queremos pasar a Excel, lo cual puede resultar una tarea extenuante (creanme, jajaja!!).
Como primera opción podemos hacer una consulta de datos de Excel a Access con las herramientas que nos ofrece Excel (Datos > Desde Access), pero llegará el momento en nos arroje un mensaje de advertencia como “La consulta devolvió más datos de los que se admiten en una hoja de cálculo”. Excel 2010 sólo acepta 1’048,576 filas de datos, lo cual puede ser suficiente para ciertas bases de datos, pero insuficientes para bases ‘enormes’.
Procedimiento
Abrimos nuestra base de datos de Access, la cual contiene más de 1 millón de registros. El primer pasó será crear una consulta: Crear > Asistente para consultas > Asistente para consultas sencillas… Elegimos los campos que queremos consultar y damos Finalizar.
La consulta nos arrojará todos nuestros datos de la tabla. Ahorá el momento de realizar una consulta SQL para seccionar nuestra tabla y así hacer exportaciones a Excel con registros de hasta 1 millón.
Elegimos el botón que dice SQL en la parte inferior derecha, tal como se muestra en la imagen:
Nos mostrará una pantalla blanca donde realizaremos nuestras consulta SQL:
Traer los primeros 1 millón de registros
SELECT TOP 1000000 *
FROM BASE_110408
ORDER BY ID ASC;
Traer los últimos 500,000 registros del final
SELECT TOP 500000 *
FROM BASE_110408
ORDER BY ID DES;
Traer el 50% de los primeros registros
SELECT TOP 50 PERCENT *
FROM BASE_110408
ORDER BY ID ASC;
Traer el 50% de los últimos registros
SELECT TOP 50 PERCENT *
FROM BASE_110408
ORDER BY ID DESC;
Exportar datos a Excel
Una vez que ejecutamos nuestra consulta, podemos exportar los datos a Excel. Sólo elegimos Datos externos > Excel… y seguimos los pasos.
muchas gracias por la ayuda pero cuando ejecuto el codigo me aparece un error de Se encontraron caracteres después del final de la instrucción SQL. Mira este el código que estoy colocando, no se si deba llevar lo de la parte de arriba:
SELECT [Vibraciones llenado 3May12 923 a 549].[Eje X]
FROM [Vibraciones llenado 3May12 923 a 549];
SELECT TOP 1000000 *
FROM BASE_110408
ORDER BY ID ASC;
SELECT TOP 500000 *
FROM BASE_110408
ORDER BY ID DES;
SELECT TOP 50 PERCENT *
FROM BASE_110408
ORDER BY ID ASC;
SELECT TOP 50 PERCENT *
FROM BASE_110408
ORDER BY ID DESC;
Debes ejecutar sòlo una de las opciones que muestro arriba, para las diferentes situaciones.
Por ejemplo, el código:
SELECT TOP 50 PERCENT *
FROM BASE_110408
ORDER BY ID ASC;
La parte donde dice FROM BASE_110408, en lugar del nombre “BASE_110408” debes poner el nombre de tu tabla, que es donde realizaras la consulta.
Hola a la ora de extraer en Excel lleva el total de registros, mi cado son mas de 1,900,000 y la consulta lo hace bien pero al exportar te manda todos y marca error.
Hola, una pregunta, a mi me sigue tirando que no se pueden exportar los datos por que se seleccionaron mas registros de los que se pueden copiar y que debo seleccionar un maximo de 65535 como maximo. Como resolviste el tema, por que el problema no esta en la consulta sino en la exportacion.
Gracias
Hola!, para que no te aparezca el mensaje debes desactivar la opción de “Exportar datos con formato y dieño”, con eso no aparecerá el mensaje (no se ocupara clipboard).
Saludos
Algunoѕ articulos mе agradaron bastante mas pero no esta maal Animo!