Importar de excel a Access

a). Tengo una base de datos
Elaborada en Access 2007 y necesito actualizar una tabla ya existente
mediante un archivo de Excel mediante código, el archivo de excel puede
estar en diferentes ubicaciones y puede tener diferentes nombres.

2 respuestas

Respuesta
2

No me has dicho todo lo que deseas, como por ejemplo que es lo que deseas que el sistema haga, ejemplo que al hacer clic en un botón aparezca una ventana para buscar el archivo que deseas y que una vez seleccionado se pueda importar dicho archivo como una tabla de access.

Bueno espero sus comentarios porque tu pregunta esta inconclusa.

Gracias por tu respuesta. Exactamente eso es lo que quiero, picar sobre un botón, que aparezca una ventana para buscar y seleccionar el archivo y que una vez seleccionado los registros se importe/agreguen a una tabla ya existente en access,

Gracias por tu tiempo

Esta respuesta requiere de programación, no es posible realizarla vía texto solamente. Por lo que habrá que programar un ejemplo. Escríbeme a [email protected] para poder conversar respecto al tema, tengo la solución a tu consulta.

Aquí te dejo un ejemplo de como se puede importar un archivo excel, luego se crea una tabla y se muestran los datos importados.

Objetos involucrados en el proceso.

Formulario: Cuadro de Texto llamado Archivo y Botón para llamar a la ruta del archivo a importar.

Módulo: Permite la obtención de la ruta del archivo al hacer clic en el botón ...

Macro: Permite ejecutar la consulta donde se muestran los datos importados.

Bueno aquí esta el Link.

<a>https://www.dropbox.com/s/u6wb5hx6yajb4rc/Importar%20Excel.mdb?m</a>

Respuesta
1

Yo quiero ésto mismo. Si me pasáis el ejemplo para poder empezar ya modifico yo lo que necesite.

Puedes modificar este código que utilizo en el evento click de un botón de comando llamado BtnAcPEMAR.

On Error GoTo Err_BtnAcPEMAR_Click
Dim RutaFichero As String

'Cargo el fichero con los datos que se van a agregar
RutaFichero = EscogeFichero_Con_WizHook
If Len(RutaFichero) <> 0 Then
'Cargo los datos del fichero
ElArchivo = Trim(RutaFichero)
DoCmd.TransferSpreadsheet acImport, , "TuTabla", ElArchivo, True
MsgBox "Archivo Importado con éxito desde: " & ElArchivo, vbInformation, "Importar"
End If

Exit_BtnAcPEMAR_Click:
Exit Sub

Err_BtnAcPEMAR_Click:
MsgBox Err.Description
Resume Exit_BtnAcPEMAR_Click

Y esta es la función EscogeFichero_Con_WizHook que debes poner en un módulo nuevo, sobre la cual no está demás decir que debemos respetar la autoría.

'Este codigo y en general todo lo que se recoge en este ejemplo
'tiene autoría. Debes preservar los créditos que indico en él si le vas
'a utilizar de forma parcial o total en tus aplicaciones.
'Deberás conservar estos comentarios en toda su extensión.
'Autor: Juan M. Afán de Ribera
'Enero de 2004, Barcelona
'**************************************************************************************
'Utilizando el objeto Indocumentado Wizhook de Access:
'Seguramente, la más ingeniosa, gracias a la labor de investigación de Juan M.Afan
'sobre el objeto indocumentado WizHook. Access 2000 o superior
'Aqui utilizo este objeto para seleccionar fichero a copiar
'**************************************************************************************


Function EscogeFichero_Con_WizHook() As String
'© Juan M. Afán de Ribera
Dim wzhwndOwner As Long
Dim wzAppName As String
Dim wzDlgTitle As String
Dim wzOpenTitle As String
Dim wzFile As String
Dim wzInitialDir As String
Dim wzFilter As String
Dim wzFilterIndex As Long
Dim wzView As Long
Dim wzflags As Long
Dim wzfOpen As Boolean
Dim ret As Long
WizHook.Key = 51488399
wzhwndOwner = 0&
wzAppName = ""
wzDlgTitle = "Escoja un Archivo"
wzOpenTitle = "Abrir Fichero"
wzFile = String(255, Chr(0))
wzInitialDir = "C:\"
wzFilter = "Todos los Archivos" _
& "(*.*)"
wzFilterIndex = 1
wzView = 1
wzflags = 64
wzfOpen = True

ret = WizHook.GetFileName(wzhwndOwner, _
wzAppName, wzDlgTitle, wzOpenTitle, wzFile, _
wzInitialDir, wzFilter, wzFilterIndex, _
wzView, wzflags, wzfOpen)
' Si no se ha pulsado el botón Cancelar (-302)
If ret <> -302 Then
EscogeFichero_Con_WizHook = wzFile
Else
EscogeFichero_Con_WizHook = ""
End If
End Function

Saludos

Muchas gracias!!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas