• 05/01/2015
  • admin
  • 0

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 :

Dim xlApp As Excel.Application
Dim xlBk As Excel.Workbook
Dim xlSht As Excel.Worksheet
Dim dbRst As Recordset
Dim dbs As Database
Dim sqlstr As String

Public Sub ImportPreVtas()

Set dbs = CurrentDb
Set xlApp = Excel.Application
Set xlBk = xlApp.Workbooks.Open(“F:\Proyectos\pruebappto.xlsx”)
Set xlSht = xlBk.Sheets(1)

sqlstr = “CREATE TABLE Exceldata(columnOne string, columnTwo string)”
DoCmd.SetWarnings False
DoCmd.RunSQL sqlstr
Set dbRst = dbs.OpenRecordset(“Exceldata”)
dbRst.AddNew
xlSht.Range(“A3”).Select
dbRst.Fields(0).Value = xlSht.Range(“A3”).Value
xlSht.Range(“B3”).Select
dbRst.Fields(1).Value = xlSht.Range(“B3”).Value
dbRst.Update
dbRst.Close
dbs.Close
xlBk.Close

End Sub

4. Presionamos «F5 » para ejecutar el procedimiento.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies