Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/09/2011, 11:50
Yoso
 
Fecha de Ingreso: agosto-2011
Ubicación: Xalapa
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 0
Importacion de Excel, usando headers especificos

Bueno, pues a los tumbos he aprendido Access a niveles aceptados y pues mayormente merodeando por Google. Ahora me hallo en una disyuntiva, ya que quiero subir archivos Excel y con ellos llenar una tabla.

El boton para buscar el archivo y tener la ruta y todo eso, ya està mas que listo, ahora el problema viene al aceptar los archivos de excel, ya que al tenerlo listo y todo, al usar el TransferSpreadSheet quiero usar solo 3 columnas de ese excel, el nombre, el id y el importe pagado. No necesito ningun otro dato como fecha, plazo o cosas d esas, lo unico que necesito son esos tres datitos, y no creo haya problema pues los formatos de los excel tienen el mismo numero de columnas, mas no el mismo numero numero de rows, ya algunos tienen desde 1249 registros hasta donde hay unos que tienen solo 15. Estaba pensando en usar alguna variaciòn de lo que es el usedrange para poder definir el nùmero de longitud aunque me regresa siempre algo del tipo $A$1:$X$123, en ese formato cuando yo lo que quiero es tener solo el 1 y el 123 jeje. Ese es un problema.

Otro es, que no quiero importar los headers, ya que el formato dado por los que manejan los excel, generalmente contadores, es un tanto raro, y en los headers siempre ponen caracteres raros o puntos, lo unico que me interesa entonces es la informaciòn pura, pero al poner entre el rango del TransferSpreadSheet y que no tome los headers, siempre me manda un error de que no halla el registro F1. Entonces ese es el otro problema.

Y el tercer y ultimo problema esque el formato no empieza casi nunca en A1, de hecho todos empiezan en C4 entonces queria ver como deberia ser sin tener problemas con lo de que no inicie asi, ya que es una perdida de tiempo abrir excel por excel y modificarlos para que sean en formato que empieza en A1.

Acà anexo mi còdigo:

Código:
Private Sub busca_Click()
Dim strFilter As String
    Dim strInputFileName As String

strFilter = ahtAddFilterItem(strFilter, "*.xls", "*.xls")
Me.RutaMaster.value = ahtCommonFileOpenSave( _
                Filter:=strFilter, OpenFile:=True, _
                DialogTitle:="Selecciona el archivo...", _
                Flags:=ahtOFN_HIDEREADONLY)
End Sub
Private Sub guarda_Click()
    Dim xlobj
    Dim wsobj
    Dim rngobj
    'Set xlobj = GetObject(Me.RutaMaster)
    'Set wsobj = xlobj.worksheets("6A42 AREA 30")
    'Set rngobj = wsobj.usedrange
    'DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "PIVNOMRECIB", Me.RutaMaster, True, "A" & rngobj.Address & ":B" & rngobj.Address & ""
    'Set xlobj = Nothing
     DoCmd.TransferSpreadsheet acImportDelim, acSpreadsheetTypeExcel97, "AUXNOMRECIB", Me.RutaMaster, True
     
End Sub
Espero alguien pueda ayudarme ya que llevo como 15 horas leyendo y leyendo sin poder hallar una soluciòn plausible.

Saludos!