Necesito desde un formulario importar una excel para la cual elija yo la ruta y seleccione la excel

Como puedo crear una formulario en el que me pida una ruta en donde yo elijo un archivo excel que siempre va a taner el mismo formato para que me refresque los valores de una tabla que existe en la BBDD.

2 Respuestas

Respuesta
2

En un botón lo siguiente:

Dim fileName As String
Dim result As Integer
With FileDialog(msoFileDialogFilePicker)
    .AllowMultiSelect = False
    result = .Show
    If (result <> 0) Then
        fileName = Trim(.SelectedItems.Item(1))
    End If
End With
'Comprobamos que se haya seleccionado correctamente el archivo
If fileName = "" Or IsNull(fileName) Then
    GoTo endd
Else
    'LIMPIAR TABLA DE IMPORTACIÓN
    SSQL = "Delete * from [julio]"
    DoCmd.RunSQL SSQL
   'Ejecutamos la consulta para que lo importe
   DoCmd.TransferSpreadsheet acImport, 8, "julio", fileName, True, "junio!"     
End If
Endd:

En este ejemplo estoy importando los datos de la pestaña "junio" del archivo excel que escojo en la ventana de diálogo, lo estoy importando a la tabla "julio" de mi BBDD. Previamente estoy eliminando todos los registros de la tabla.

Para que funcione debes tener las referencias Microsoft Office XXX Object Library y Microsoft Excel XXX Object Library activadas.

Respuesta
2

Voy a hacerte una pregunta tonta. ¿Has probado a vincular tablas?. Así los cambios que hagas en Excel automáticamente se reflejan en la de Access.

Si, pero no es una solución que satisfaga. Se prefiere una tabla importada dentro de la BBDD para ganar en consistencia. 

Muchas gracias. 

Entonces la solución idónea es la que te señala Víctor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas