Tengo una duda con este codigo, existe la posibilidad de que el usuario atravez de un textbox ingrese los parametros para la exportacion de la tabla de excel a una tabla en access estos parametros son la ruta de el archivo de excel la del access , ademas de la tabla donde se alojaran los datos exportados y la cantidad de filas y columnas que deve recorrer en la tabla de excel.
este es el codigo:
Option Explicit
Private Function Excel_a_Access( _
Path_BD As String, _
Path_XLS As String, _
La_Tabla As String, _
Filas As Integer, _
Columnas As Integer) As Boolean
Dim Obj_Excel As Object
Dim Obj_Hoja As Object
Dim bd As Database
Dim rst As Recordset
'
Dim Fila_Actual As Integer
Dim Columna_Actual As Integer
Dim Dato As Variant
Set Obj_Excel = CreateObject("Excel.Application")
Obj_Excel.Workbooks.Open Filename:=Path_XLS
Set bd = OpenDatabase(Path_BD)
Set rst = bd.OpenRecordset(La_Tabla, dbOpenTable)
For Fila_Actual = 1 To Filas
' -- Agregar un nuevo registro
rst.AddNew
For Columna_Actual = 0 To Columnas - 1
Dato = Trim$(Obj_Hoja.Cells(Fila_Actual, Columna_Actual + 1))
rst(Columna_Actual).Value = Dato
Next
rst.Update
Next
Excel_a_Access = True
Call Descargar_Objetos(rst, bd, Obj_Excel, Obj_Hoja)
Exit Function
' -- Error
' --------------------------------------------------------------
ErrSub:
Call Descargar_Objetos(rst, bd, Obj_Excel, Obj_Hoja)
MsgBox Err.Description, vbCritical
End Function
Sub Descargar_Objetos( _
rst As Recordset, _
bd As Database, _
Obj_Excel As Object, _
Obj_Hoja As Object)
Set rst = Nothing
bd.Close
Set bd = Nothing
Obj_Excel.ActiveWorkbook.Close False
Obj_Excel.Quit
Set Obj_Hoja = Nothing
Set Obj_Excel = Nothing
End Sub
Private Sub CommandButton1_Click()
Dim ret As Boolean
' -- Parámetros:
' -- El nombre y path de la base de datos y del libro excel
' -- El nombre de la tabla
' -- La cantidad de filas y columnas de la hoja a leer
ret = Excel_a_Access("Ruta mdb", "Ruta xls", "La Tabla", Filas, Columnas)
If ret Then 'Ok
MsgBox " Datos copiados a Access ", vbInformation
End If
End Sub
Private Sub Form_Load()
Command1.Caption = " Excel a Access "
End Sub
De antemano gracias.