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

pasar datos de query a excel en VB

Estas en el tema de pasar datos de query a excel en VB en el foro de Programación General en Foros del Web. Hola que tal, Alguien de vosotr@s sabe cómo podría pasar el resultado de una consulta a una base de datos Access a un fichero excel? ...
  #1 (permalink)  
Antiguo 13/07/2003, 08:07
 
Fecha de Ingreso: marzo-2002
Mensajes: 188
Antigüedad: 22 años, 1 mes
Puntos: 0
pasar datos de query a excel en VB

Hola que tal,
Alguien de vosotr@s sabe cómo podría pasar el resultado de una consulta a una base de datos Access a un fichero excel?
La idea que tengo es la siguiente:

Tengo esto:

Global objCon As ADODB.Connection
Global objRS As ADODB.Recordset
Set objCon = New ADODB.Connection
Set objRS = New ADODB.Recordset

objCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source= " & App.Path & "\nombre_bd.mdb"

objRS.Open "SELECT campo1,campo2,campo3,... FROM tabla", objCon, adOpenStatic, adLockOptimistic

Entonces ahora me gustaría recorrerme el recordset para ir añadiendo los registros recuperados en la query. Me gustaría ir pasando cada registro en 1 fila del archivo excel.

Un saludo y gracias
  #2 (permalink)  
Antiguo 15/07/2003, 11:29
 
Fecha de Ingreso: julio-2003
Ubicación: Buenos Aires/Capital Federal
Mensajes: 181
Antigüedad: 20 años, 9 meses
Puntos: 0
Lo mas facil es acer un DNS. en tu maquina pudes ir al panel de control>ODBC y pones en agregar y seleccionas el controlador de excel.
Perdon creo que esto no era lo que neccesitabas,prueba importandolos a excel,en importar datos desde este programa, dede asp es mas complicado, porque tines que hacer algo que lo haga el server y no la maquina cliente ya que este debe tener excel y hay muchos que no lo tinen o tinne otra vecion o estann mal configurado , voy a probar algunas cosas , cuando lo tenga te lo mando.
__________________
No se puede inventar un sistema a prueba de tontos, porque los tontos son muy ingeniosos.
  #3 (permalink)  
Antiguo 15/07/2003, 15:05
Avatar de Jorge_Mota  
Fecha de Ingreso: diciembre-2002
Ubicación: Chapinlandia :-D
Mensajes: 725
Antigüedad: 21 años, 4 meses
Puntos: 11
si lo quieres hacer por codigo
intenta
Dim oExcel as Object
Set oExcel = CreateObject("Excel.Application")
oExcel.Workbooks.add()
oExcel.visible = .t.
__________________
Jorge Mota
Blog
Gubiz estafa
  #4 (permalink)  
Antiguo 16/07/2003, 01:40
 
Fecha de Ingreso: marzo-2002
Mensajes: 188
Antigüedad: 22 años, 1 mes
Puntos: 0
ya está

Gracias a los dos,
Ya conseguí hacerlo. Lo he hecho por programación y, aunque sabía como hacer la query y abrir el documento excel desde Vb, todavía no sabía cómo hacerlo para pasar la información al excel.
Al final lo hice así:

...
' Hago la query

' Abro el excel

Do While Not objRS.EOF

' Si es la primera pasada por el bucle, pinto la cabecera
ApExcel.Cells(InitRow, (num_column + 1)).Formula = objRS.Fields(num_column).Name
ApExcel.Cells(InitRow, (num_column + 1)).Borders.Value = 1
ApExcel.Cells(InitRow, (num_column + 1)).Font.Bold = True
ApExcel.Cells(InitRow, (num_column + 1)).Interior.ColorIndex = 36

' Para cada campo de un registro de la query
For num_column = 0 To num_campos - 1 Step 1
ApExcel.Cells(InitRow, (num_column + 1)).Formula = objRS.Fields(num_column).Value
ApExcel.Cells(InitRow, (num_column + 1)).Font.Bold = False
Next num_column

objRS.MoveNext
Loop


Gracias y un saludo
  #5 (permalink)  
Antiguo 17/07/2003, 00:43
Avatar de AlvaroHM  
Fecha de Ingreso: mayo-2002
Ubicación: Tacuba, Distrito Fedreal
Mensajes: 78
Antigüedad: 22 años
Puntos: 0
Pregunta

y como fue que abriste excel?...
  #6 (permalink)  
Antiguo 17/07/2003, 10:27
Avatar de Jorge_Mota  
Fecha de Ingreso: diciembre-2002
Ubicación: Chapinlandia :-D
Mensajes: 725
Antigüedad: 21 años, 4 meses
Puntos: 11
Dim oExcel as Object
Set oExcel = CreateObject("Excel.Application")
oExcel.Workbooks.add()
oExcel.visible = .t.
__________________
Jorge Mota
Blog
Gubiz estafa
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 04:03.