Foros del Web » Programación para mayores de 30 ;) » Programación General »

Enviar un recordset completo a Excel, Se pede ?

Estas en el tema de Enviar un recordset completo a Excel, Se pede ? en el foro de Programación General en Foros del Web. Hola gente, mi problema es el siguiente: Estoy trabajando con tablas que contienen muchos registros, al hacer una consulta, esta me puede devolver miles o ...
  #1 (permalink)  
Antiguo 16/02/2004, 10:08
 
Fecha de Ingreso: agosto-2003
Mensajes: 3
Antigüedad: 21 años, 3 meses
Puntos: 0
Enviar un recordset completo a Excel, Se pede ?

Hola gente, mi problema es el siguiente:
Estoy trabajando con tablas que contienen muchos registros, al hacer una consulta, esta me puede devolver miles o millones de registros, quiero enviar este resultado a Excel, el metodo que conozco es ir pasando celda por celda, algo asi :

For i = 0 To filas Step 1
j = 0
Do While j < cont_seleccionados
form_resultados.Grilla_Resultados.Row = i
form_resultados.Grilla_Resultados.Col = j + 1
celda = Chr(65 + j) & i + 1
wbLibro.Worksheets(1).Range(celda).Value = form_resultados.Grilla_Resultados.Text
j = j + 1
Loop
Next i

en donde: filas es la cantidad de registros devueltos por el recordset, y cont_seleccionados es la cantidad de campos seleccionados para la consulta

si tengo 1 millon de registros, la cantidad de vueltas que se daria el ciclo es de 1.000.000 x cont_seleccionados.

Mi pregunta es: hay alguna forma mas eficiente de hacer este ciclo ? seguro alguien sabe por ahi, espero su ayuda, gracias


Saludos...

PD: Todo esto sobre Vb6
  #2 (permalink)  
Antiguo 16/02/2004, 15:12
Avatar de pabli  
Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 21 años
Puntos: 0
Esta es una solución curiosa que no he probado pero creo que puede funcionar:

-Recuperas los datos en un recordset de ADO
-Hay una función que te permite guardar ese recordset en un archivo de texto en el disco duro.
-Por último cambia la extensión que le hayas dado por ".xls", esto último si está probado.

A ver si te funciona.

Pablo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:25.