Cómo utilizar VBA para importar datos de Excel a Access

Anuncio
Cómo utilizar VBA para importar datos
de Excel a Access
Después del parón obligado por Navidad volvemos con nuestro blog, hoy lo
dedicamos a aprender mas cosas sobre Excel, recuerda que si te ha gustado lo
que has leído compártelo!! Este articulo ha sido extraido de nuestro curso
“Excel avanzado y programacion VBA”, el cual lo puedes consultar pinchando
aqui.
Aprender a utilizar Visual Basic para aplicaciones para importar datos a
Access puede hacer que su aplicación de base de datos más dinámico. En VBA ,
puede utilizar una combinación de objetos para abrir un libro de Excel
existente e importar algunos datos a una tabla de Access. Utilice la
biblioteca de objetos de Microsoft Excel en VBA para abrir el libro . El
objeto Recordset se utiliza para abrir una tabla existente en el acceso y
guardar los datos de Excel en el mismo. Usando VBA para importar datos puede
reducir significativamente la cantidad de tiempo que pasa la importación de
datos de forma manual.
Instrucciones:
1. Abrimos Microsoft Office Excel y escribimos ” datos1 ” en A2, y ” data2 ”
en B2 . Pulsamos la tecla “Ctrl ” y ” S ” para abrir el “Guardar como”
ventana de diálogo y guardamos el libro en “C: \\ Temp \\ ” as “.
DataToImport.xlsx “.
2. Abrimos Microsoft Office Access , hacemos clic en “Base de datos en blanco
” y clic en el botón “Crear” . Hacemos clic en ” Herramientas de base de
datos” y posteiormente clic en “Visual Basic ” para abrir la ventana del
editor de VB hacemos clic en el menú ” Insertar” y luego clic en ” módulos”
para insertar un nuevo módulo de código. Hacemos clic en el menú ”
Herramientas”-> “Referencias “, y marcamos la casilla junto a ” biblioteca de
objetos de Microsoft . ”
3. Ahora escribimos el siguiente código de VBA crear nuevo procedimiento sub
:
importExcelData sub Private ()
4. Escribimos lo siguiente para crear variables que va a utilizar para leer
Excel :
Dim xlApp En Excel . Aplicación
xlBk As Excel.Workbook
xlSht As Excel.Worksheet
5. Escribimos lo siguiente para crear variables que va a utilizar en Access :
< br >
dbRst As Recordset
Dim dbs como base de datos
sqlstr dévil como secuencia
6. Escribimos lo siguiente para definir los objetos de base de datos , así
como definir el Excel libro de usar:
Set dbs = CurrentDb
Set xlApp = Excel.Application
Establecer xlBk = xlApp.Workbooks.Open (“C: \\ temp \\ dataToImport.xlsx ” )
Set xlSht = xlBk.Sheets ( 1 )
7. Creamos una nueva tabla con dos columnas en Access para importar datos de
Excel. Escribimos el siguiente código de VBA para crear la tabla utilizando
el objeto ” DoCmd “:
sqlstr = ” CREATE TABLE Exceldata ( columnOne TEXTO, TEXTO columnTwo ) ”
DoCmd.SetWarnings
False < p> DoCmd.RunSQL ( sqlstr )
8. Abrimos la tabla que acabamos de crear mediante el uso de un objeto de
conjunto de registros y escribimos lo siguiente para abrir la tabla y agregar
una nueva fila :
Set dbRst = dbs.OpenRecordset ( ” Exceldata ” )
dbRst.AddNew
9. Escribimos lo siguiente para obtener los valores del libro de Excel,
guardarlos y actualizar el registro:
xlSht.Range ( “A2 ” ) Seleccione
dbRst.Fields
( 0 ) Value. = xlSht.Range ( ” A2 ” ) . Valor
xlSht.Range ( ” B2 ” ) . Seleccione
dbRst.Fields
( 1 ) . Valor = xlSht.Range ( ” B2 ” ) . Valor
dbRst.Update
10. Para finalizar el procedimiento, escribimos el siguiente código de VBA :
dbRst.Close
dbs.Close
xlBk.Close
End Sub
11. Presionamos “F5 ” para ejecutar el procedimiento.
Descargar