Access - Exportar datos a excel desde subformulario

 
Vista:

Exportar datos a excel desde subformulario

Publicado por Maryna (37 intervenciones) el 31/10/2013 13:10:26
Hola,

Buenos días.

Tengo un formulario, sin datos solo la cabecera con botones, y un subformulario con los datos, los cuales se pueden filtran, seleccionar, etc. pero al exportar a excel, no me exporta nada porque coge los datos del formulario, como puedo hacer para que al darle a Datos externos-exportar a excel funcione igual como si estuviera en un formulario principal.

Gracias.
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
sin imagen de perfil
Val: 12
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

Exportar datos a excel desde subformulario

Publicado por Chus (16 intervenciones) el 31/10/2013 22:12:55
Hola yo tengo algo parecido.
Desde un boton en el subformulario he exportado el subformulario, previamente filtrado por el formulario.

Primero creo un archivo excel y lo guardo (como ves) en el mismo directorio de la BD con el nombre ArchivoExcel.xls
Despues en el boton creado escribo éste código.

Private Sub cmdAExcel_Click()

On Error GoTo Err_cmdAExcel_Click

Dim stDocName As String
Dim stRutaYArch As String

stDocName = "nombreSubformulario"
stRutaYArch = CurrentProject.Path & "\ArchivoExcel.xls"

'Abro el subformulario filtrado por el campo vinculado del formulario pero no visible
DoCmd.OpenForm stDocName, acPreview, , "[campoSubformulario] ='" & Forms!NombreFormulario!CampoFormulario.Value & "'", , acHidden

'Exporto el subformulario al archivo de Excel
DoCmd.OutputTo acOutputForm, stDocName, "MicrosoftExcel(*.xls)", stRutaYArch, True
'Cierro el subformulario abierto sin guardar
DoCmd.Close acForm, stDocName, acSaveNo
Exit_cmdAExcel_Click:
Exit Sub

Err_cmdAExcel_Click:
MsgBox Err.Description
Resume Exit_cmdAExcel_Click


End Sub

Espero haberte ayudado, a mi me funciona.
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

Exportar datos a excel desde subformulario

Publicado por Mike (1 intervención) el 24/02/2015 01:25:01
Oye, es interesente tu código, pero no logro entender los del campoSubformulario y lo de campoformulario,
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

Exportar datos a excel desde subformulario

Publicado por liz (4 intervenciones) el 15/04/2023 02:33:08
No me genera error pero tampoco hace nada al hacer clic
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 Alejandro

Exportar datos a excel desde subformulario

Publicado por Alejandro (4142 intervenciones) el 16/04/2023 17:33:17
Es posible que el problema esté en la configuración del botón en el subformulario.

Para asegurarte de que el botón está configurado correctamente, puedes seguir los siguientes pasos:

1. Haz clic derecho en el botón en el subformulario y selecciona "Propiedades".
2. En la pestaña "Evento", busca el evento "Al hacer clic".
3. Asegúrate de que el nombre de la función que has creado para exportar el subformulario esté en el cuadro de "Nombre del evento".
4. Guarda los cambios y cierra la ventana de propiedades del botón.

Si la función ya está correctamente asociada al evento del botón, es posible que necesites depurar el código para encontrar el problema. Puedes agregar algunas líneas de código para verificar si se está ejecutando la función correctamente:

1
2
3
4
5
Private Sub cmdExportar_Click()
    MsgBox "Exportando subformulario a Excel..."
    'Tu código para exportar el subformulario aquí
    MsgBox "Exportación completada."
End Sub

De esta forma, se mostrará un mensaje antes y después de ejecutar la función, lo que puede ayudarte a identificar si el problema está en el botón o en la función para exportar el subformulario.
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

Exportar datos a excel desde subformulario

Publicado por liz (4 intervenciones) el 17/04/2023 20:04:26
Efectivamente no esta leyendo ese comando al hacer clic.

He intentado de todo,solo quiero que lo filtrado en mi subformulario que ya esta en "Hoja de datos" pueda exportarse a un excel, ya puse el codigo de la chica pero no genera nada en el clic.

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

Exportar datos a excel desde subformulario

Publicado por Anonimo (3303 intervenciones) el 16/04/2023 22:17:06
Oye, es interesante tu código, pero no logro entender los del campo Subformulario y lo de campoformulario,

No me genera error pero tampoco hace nada al hacer clic
.......................................................................

Se está exportando un formulario (los subformularios son ‘objetos’ del formulario que los contiene y no se les considera formularios, en esas condiciones son SUBformularios y no tienen entidad independiente.

Para solucionar la exportación del subformulario, se abre una nueva instancia del objeto (el subformulario) como formulario (independiente), tenemos pues tres objetos y dos de ellos son idénticos en estructura, pero no en contenido, pongamos nombres:
Formulario principal ==>> AAAA
Su subformulario ==>> BBBB
Copia gemela de BBBB ==>> CCCC

AAAA y BBBB están relacionados por un campo común: CampoA en el principal, CampoB en el subformulario.
Esta relación limita el contenido que muestra BBBB, por lo que al abrir CCCC tendríamos ‘todos’ los registros y no los mismos que tiene BBBB (que está condicionado por su relación con AAAA).

Se soluciona abriendo a CCCC con una condición (Filtro) en su llamada:
"[campoSubformulario] ='" & Forms!NombreFormulario!CampoFormulario.Value & "'"

1
DoCmd.OpenForm stDocName, acPreview, , "[campoSubformulario] ='" & Forms!NombreFormulario!CampoFormulario.Value & "'", , acHidden

Donde [campoSubformulario] es CampoB (y en CCCC, también se llama igual) y Forms!NombreFormulario!CampoFormulario.Value es el CampoA del formulario AAAA

Atención: el autor de la respuesta utiliza en la relación (CampoA//CampoB) campos de tipo alfanumérico (de texto), por ello añade las comillas simples, si los campos fueran de tipo numérico:

1
DoCmd.OpenForm “CCCC”, acPreview, , "CampoB =" & Forms!NombreFormulario!CampoA, , acHidden

Y si el botón que lo llama está en el formulario AAAA el código se podría simplificar:
1
DoCmd.OpenForm “CCCC” , acPreview, , "CampoB =" & Me.CampoA, , acHidden

Y la exportación así:
1
2
3
4
Original
DoCmd.OutputTo acOutputForm, stDocName, "MicrosoftExcel(*.xls)", stRutaYArch, True
Con nombres
DoCmd.OutputTo acOutputForm, “CCCC”, "MicrosoftExcel(*.xls)", stRutaYArch, True
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 Alejandro

Exportar datos a excel desde subformulario

Publicado por Alejandro (4142 intervenciones) el 17/04/2023 19:32:36
En cuanto a los términos "campoSubformulario" y "campoFormulario", parecen ser referencias a los campos en los que se basa la relación entre el formulario principal y el subformulario. Es importante asegurarse de que estos nombres sean los correctos y estén presentes en el código.

El código que has proporcionado parece estar abriendo un nuevo formulario independiente (CCCC) y aplicando un filtro para mostrar solo los registros que corresponden al valor seleccionado en el campo del formulario principal. Esto puede ser útil para verificar que se están exportando los datos correctos, pero si solo deseas exportar el subformulario, puede que no sea necesario abrir otro formulario.

En cuanto a la exportación en sí, parece que estás utilizando el comando DoCmd.OutputTo, que debería funcionar para exportar el formulario o el informe especificado a un archivo de Excel. Asegúrate de que la ruta y el nombre del archivo sean válidos y que estén en un formato compatible con Excel.

Si todavía no estás obteniendo los resultados deseados, puede ser útil revisar el código paso a paso y verificar que todas las referencias y valores sean correctos. También puede ser útil agregar más mensajes de depuración o pausas para poder ver lo que está sucediendo en el código.
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

Exportar datos a excel desde subformulario

Publicado por liz (4 intervenciones) el 17/04/2023 22:22:08
Ya me quedo amigos, gracias y aprovecho de una vez para ponerle la actualizacion a archivo xlsx


Private Sub Comando53_Click()
On Error GoTo Err_Comando53_Click

Dim stDocName As String
Dim stRutaYArch As String

stDocName = "tb_PPI23PORAÑOS"
stRutaYArch = CurrentProject.Path & "\libro1.xlsx"

DoCmd.OpenForm stDocName, acPreview, , "[OOAD] ='" & Forms!Formulario_Maratonicas!OOAD.Value & "'", , acHidden

DoCmd.OutputTo acOutputForm, stDocName, "ExcelWorkbook(*.xlsx)", stRutaYArch, False
DoCmd.Close acForm, stDocName, acSaveNo
Exit_Comando53_Click:
Exit Sub

Err_Comando53_Click:
MsgBox Err.Description
Resume Exit_Comando53_Click

End Sub
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