Access - AYUDA publicar consulta a excel

   
Vista:

AYUDA publicar consulta a excel

Publicado por Jesús (29 intervenciones) el 15/12/2011 07:56:06
Hola, a ver si me podeís ayudar:
En una base de datos tengo una consulta (de parámetro) hecha con el asistente. Desde un formulario he creado un boton (con asistente) y ejecuto la consulta y todo perfecto. Mi problema es que una vez hecha la cosulta para pasarla a una tabla de excel desde el menú hago [i][u]HerramientasVinculos con office/Analizar con Microsoft Office Excel. (así sale lo que busco).
Pero me gustaría que esto último (pasar a excel la consulta) se hiciera desde el mismo botón con el que ejecuto la consulta.
¿se puede hacer? ¿Como se puede hacer?
La consulta se llama Consulta3 y el código que genera el asistente del botón es:

Private Sub Comando130_Click()
On Error GoTo Err_Comando130_Click

Dim stDocName As String

stDocName = "Consulta3"
DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_Comando130_Click:
Exit Sub

Err_Comando130_Click:
MsgBox Err.Description
Resume Exit_Comando130_Click

End Sub

Si es posible automatizar la salida de excel que habría que añadir?

Agradecería vuestra Ayuda. Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Neckkito

AYUDA publicar consulta a excel

Publicado por Neckkito (1104 intervenciones) el 15/12/2011 08:29:25
Hola!

Prueba con este código:
...
Private Sub Comando130_Click()
On Error GoTo Err_Comando130_Click

Dim stDocName As String
Dim stRutaYArch As String

stDocName = "Consulta3"
stRutaYArch = "c:\tuRuta\tuArchivo.xls"
DoCmd.OutputTo acOutputQuery, stDocName, "MicrosoftExcel(*.xls)", stRutaYArch, True

Exit_Comando130_Click:
Exit Sub

Err_Comando130_Click:
MsgBox Err.Description
Resume Exit_Comando130_Click

End Sub
...
Ten en cuenta que:
- stRutaYArch te recoge la ruta y nombre de archivo con extensión. Debes cambiar "c:\tuRuta\tuArchivo.xls" por la ruta donde quieras que se grabe el excel, con su nombre y extensión. Por ejemplo: "c:\Temp\Consulta3.xls"
- En la línea del DoCmd el último argumento es True: eso significa que automáticamente, después de la exportación, se te abre el Excel. Si no quieres que se te abra debes cambiar ese True por False

Ya me dirás qué tal.

Un saludo,

Neckkito (... http://necckito.eu5.org ...)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

AYUDA publicar consulta a excel

Publicado por Jesus (29 intervenciones) el 15/12/2011 12:38:37
Muchas gracias. En parte funciona, no como yo quisiera, pasa lo siguiente:
éste es el código que he puesto (creo que lo he puesto según me has dicho)
Private Sub Comando_consult_Click()
On Error GoTo Err_Comando_consult_Click

Dim stDocName As String
Dim stRutaYArch As String

stDocName = "Consulta3"
stRutaYArch = "C:\Users\usuario\Documents\ConsultaPrueba.xls"
DoCmd.OutputTo acOutputQuery, stDocName, "MicrosoftExcel(*.xls), stRutaYArch, True"

Exit_Comando_consult_Click:
Exit Sub

Err_Comando_consult_Click:
MsgBox Err.Description
Resume Exit_Comando_consult_Click

End Sub

Cuando pulso el botón, lo primero que pasa es: se abre una ventana para guardar un .xls con el nombre Consulta3 en la carpeta Mis documentos, a pesar de haber puesto al principio otra carpeta y como ves otro nombre al archivo. Cuando acepto me pregunta por los parámetro de la consulta (que son fechas) y punto. Eso sí se ha creado un archivo Consult3.xls en mis documentos con el resultado esperado.
No se se se podría evitar la ventana donde pide la confirmación de guardar Consulta3, y a posterior que se abra el excel.
Probablemente estoy pidiendo mucho, no sé! pero de esto de código no tengo ni idea.
Muchas gracias por tu gran esfuerzo, lo dejaré de ésta manera es mejor que la mía.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Neckkito

AYUDA publicar consulta a excel

Publicado por Neckkito (1104 intervenciones) el 15/12/2011 12:42:48
Hola!
Tienes el código mal escrito. Fíjate bien en las comillas en lo que sí es la línea correcta:

DoCmd.OutputTo acOutputQuery, stDocName, "MicrosoftExcel(*.xls)", stRutaYArch, True

Ojo!!!

Ya me dirás.

Neckkito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

AYUDA publicar consulta a excel

Publicado por Jesus (29 intervenciones) el 15/12/2011 22:13:14
Neckkito, eres un ¡hacha!, ahora funciona de maravilla.
Muchísimas gracias, y mas gracias..........
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar