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.