Tecnología

Inicio

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

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


Aprender a usar Visual Basic para aplicaciones para importar datos en 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 ciertos datos a una tabla en Access. Utilizar la biblioteca de objetos Microsoft Excel VBA para abrir el libro. El objeto de registros se utiliza para abrir una tabla existente en el acceso y guardar los datos de Excel en ella. El uso de VBA para importar datos puede reducir significativamente la cantidad de tiempo que dedica a la importación de datos de forma manual.

Instrucciones

1 Lanzamiento de Microsoft Office Excel y escriba "datos1" en A2, y "data2" en B2. Pulse la tecla "Ctrl" y "S" para abrir el "Guardar como" ventana de diálogo y guardar el libro en "C: \ Temp \" como "dataToImport.xlsx." Haga clic en "Guardar" y cierre Excel.

2 Lanzar Microsoft Office Access, haga clic en "Base de datos en blanco" y haga clic en el botón "Crear". Haga clic en "Herramientas de base de datos" y haga clic en "Visual Basic" para abrir la ventana del editor de VB. Haga clic en el menú "Insertar" y luego haga clic en "Módulo" para insertar un nuevo módulo de código. Haga clic en el menú "Herramientas", haga clic en "Referencias" y marca la casilla junto a "Microsoft Excel <número de versión> Biblioteca de objetos."

3 Comience escribiendo el siguiente código VBA para crear nuevo procedimiento substitución:

Private Sub importExcelData ()

4 Escribe lo siguiente para crear las variables que va a utilizar para leer Excel:

Dim xlApp Como Excel.Application

Dim xlBk Como Excel.Workbook

Dim xlSht Como Excel.Worksheet

5 Escribe lo siguiente para crear las variables que va a utilizar en el acceso:

Dim dbRst Como conjunto de registros

DBS dévil como Base de Datos

Dim como secuencia sqlstr

6 Escribe lo siguiente para definir los objetos de base de datos y también definir el libro de Excel para utilizar:

Set dbs = CurrentDb

Establecer xlApp = Excel.Application

Establecer xlBk = xlApp.Workbooks.Open ( "C: \ Temp \ dataToImport.xlsx")

Establecer xlSht = xlBk.Sheets (1)

7 Crear una nueva tabla con dos columnas en Access para importar datos de Excel. Escriba el siguiente código VBA para crear la tabla utilizando el objeto "DoCmd":

Sqlstr = "CREATE TABLE excelData (columnOne TEXTO, columnTwo TEXTO)"

DoCmd.SetWarnings falsos

DoCmd.RunSQL (sqlstr)

8 Abra la tabla que acaba de crear mediante el uso de un objeto de conjunto de registros. Escribe lo siguiente para abrir la tabla y añadir una nueva fila:

Establecer dbRst = dbs.OpenRecordset ( "excelData")

dbRst.AddNew

9 Escriba lo siguiente para obtener los valores del libro de Excel, guardarlos en su mesa y actualizar el registro:

xlSht.Range ( "A2"). Seleccionar

dbRst.Fields (0) .Value = xlSht.Range ( "A2"). Valor

xlSht.Range ( "B2"). Seleccionar

dbRst.Fields (1) .Value = xlSht.Range ( "B2"). Valor

dbRst.Update

10 Para terminar el procedimiento escribiendo el siguiente código VBA:

dbRst.Close

dbs.Close

xlBk.Close

End Sub

11 Pulse la tecla "F5" para ejecutar el procedimiento. Los datos en el libro de Excel solo se ha importado en la tabla de Access.