Importar datos en Microsoft Access desde Excel

Escrito por Administrador

19 de junio de 2023

Vamos a ver cómo podemos importar en Microsoft Access datos procedentes de una hoja de cálculo de Microsoft Excel. Esto es muy útil cuando creamos plantillas en Excel y queremos que con un simple clic se importen todos los registros en una tabla.

Para ello, he creado el archivo Plantilla.xlsx con registros que queremos importar en la tabla Productos de Access que en principio se encuentra vacía.

saber-usuarios-conectados-base-datos
saber-usuarios-conectados-base-datos

Además, he creado un formulario con un botón que será el encargado de realizar esta tarea.

saber-usuarios-conectados-base-datos

A continuación, os dejo el código que hay detrás de este botón,

Private Sub Importar_Click()

'Requiere referencia a Microsoft Office 16.0 Object Library

Dim fDialog As Office.FileDialog

Set fDialog = Application.FileDialog(msoFileDialogFilePicker)

'Configuramos el diálogo para elegir el archivo de Excel

With fDialog

'Configuramos la ruta inicial, que sea la misma de la ubicación del achivo Access

.InitialFileName = Application.CurrentProject.Path

'Permitimos a los usuarios seleccionar varios archivos

.AllowMultiSelect = True

'Título del diálogo

.Title = "Seleccione un archivo"

'Limpiamos los archivos actuales, para que se seleccione el archivo deseado

.Filters.Clear
.Filters.Add "Excel", "*.xlsx"

'Si el usuario pulsa Cancelar

If .Show = False Then

MsgBox "Ha cancelado la operación.", vbInformation, "Importar Excel a Access"
GoTo x

End If

End With

'Comprobamos que se haya seleccionado correctamente el archivo

If (FileName = False) Then

'Se asigna la ruta de los archivos seleccionados de acuerdo al loop

For i = 1 To fDialog.SelectedItems.Count

FileName = fDialog.SelectedItems(i)

DoCmd.SetWarnings False

'Seleccionamos los datos a transferir

DoCmd.TransferSpreadsheet acImport, 10, "Productos", FileName, True, "Hoja1!A1:C50"

Next i

Else

MsgBox "No ha seleccionado un archivo para procesar.", vbInformation, "Importar Excel a Access"

End If

MsgBox "Importación finalizada"

DoCmd.SetWarnings True

x:

End Sub

Al pulsar el botón Importar, se abrirá un cuadro de diálogo para que seleccionemos el archivo Excel (plantilla). Es importante reseñar que los encabezados de los campos en la hoja Excel deben tener el mismo nombre que los campos de la tabla Access.

Seleccionamos el archivo Productos.xlsx, y nos aparecerá un mensaje de proceso terminado. Si abrimos ahora la tabla Productos, veremos cómo se han traspasado todos los registros desde la plantilla Excel a nuestra tabla de Access.

saber-usuarios-conectados-base-datos

Espero que con este ejemplo hayas aprendido a importar datos desde una hoja Excel a una tabla de Microsoft Access. Descárgate el archivo de ejemplo y practica.

Por último, quiero invitarte a compartir tus dudas en los comentarios o en el foro. Intentaré ayudarte en todo lo que pueda, y así aprenderemos todos.

Hasta la próxima.

Si te ha servido y quieres donar

Descarga el archivo del ejemplo

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Últimas publicaciones

Categorías

febrero 2024
LMXJVSD
 1234
567891011
12131415161718
19202122232425
26272829 

Debates en el foro

Avatar
Access en una sola ventana
Avatar
Versiones frontend

Contacto