Imprimir página | Cerrar ventana

Importar SheerName variables

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=84826
Fecha de impresión: 27/Marzo/2026 a las 02:09


Tema: Importar SheerName variables
Publicado por: Erick Gamer
Asunto: Importar SheerName variables
Fecha de publicación: 14/Noviembre/2019 a las 23:02
Hola, muy buen día a todos.

Tengo una tabla con codigos de vehiculos y un campo si/no con el cual mediante un formulario selecciono aquellos vehiculos que deseo importar desde Excel a Access.

Los nombres de los vehiculos son tipo numerico tanto en access como en las hojas del libro excel.

Tengo este recordset, con el cual recorro solo aquellos vehiculos que esten seleccionados y lo que pretendo es que al realizar el recorrido pase el campo donde esta el recordset al comando de importación e importar esa hoja del libro Excel.

Todas las hojas a exepción de la primera (No es importable) en el libro Excel tienen la misma cantidad de columnas rango(A:M), solo varia la cantidad de registros en cada una de ellas

Este es el codigo que estoy usando, pero me tira el error 3011 en tiempo ejecución:
Microsoft access no pudo encontrar el objeto '0'
Asegurese de que exista.

Private Sub Command30_Click()

Dim rst As DAO.Recordset
Dim db As DAO.Database
Dim PathFileName As String
rstFile = "Z:\\Server\Vehiculos.xlsx"
With DoCmd
Set rst = CurrentDb.OpenRecordset("SELECT miTabla.IdVehiculo FROM miTabla WHERE miTabla.Importar = -1;")

If rst.RecordCount = 0 Then Exit Sub
With rst

Dim i As Integer
Do While Not rst.EOF
    For i = 0 To rst.Fields.Count - 1
        'Debug.Print rst(i);
        DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "miTablaImportados", rstFile, True, i!A:M
    Next i
    rst.MoveNext
Loop

rst.Close
Set rst = Nothing
   
End With
    End With
End Sub

Si imprimo la variable i, me muestra el registro de la tabla en el que se encuentra en ese momento el recordset.

Espero puedan ayudarme.

Erick Gamer


-------------
Aprendiz de todos, maestro de nadie.



Respuestas:
Publicado por: Erick Gamer
Fecha de publicación: 15/Noviembre/2019 a las 00:24
Pueden cerrar el hilo lo he solucionado así:

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "MiTablaImportdos", rstFile, True, rst(i) & "!A:G"

De antemano gracias!!!!!

Erick Gamer


-------------
Aprendiz de todos, maestro de nadie.


Publicado por: Erick Gamer
Fecha de publicación: 19/Noviembre/2019 a las 19:49
Algun Administrador que pueda cerrar este hilo?

Muchas Gracias!!!!!

Erick Gamer Thumbs Up


-------------
Aprendiz de todos, maestro de nadie.



Imprimir página | Cerrar ventana