Problemas al imprimir datos filtrados en Access

Por acá nuevamente, solicitando la ayuda de expertos, les cuento, estoy elaborando un proyecto en access, directamente, sin gestor de BD, en el cual tengo un formulario donde filtro información por varios campos, e incluso entre fechas, todo funciona perfectamente, pero quiero esa información imprimirla en un informe, y he intentado varias formas y no he podido imprimir los datos filtrados, solo se muestra los datos generales, con los campos de búsquedas seleccionados, en el reporte. ¿Alguien podría orientarme como hacerlo? He intentado ingresar el código pero no me permite enviarlo

2 respuestas

Respuesta

Por la descripción, sospecho que los resultados se muestran en un subformulario y se imprime el principal (que en el informe seria un subinforme).

Crea u informe basado en la tabla que se utiliza en el subformulario (o el origen de datos del subformulario), de lo que se trata es generar un formato para su presentación.

Si se logra (que muestre los datos adecuadamente), solo quedará que los datos a imprimir se correspondan con lo seleccionado en el formulario (y para ello seria interesante conocer y reutilizar el filtro o método aplicado en el formulario).

Respuesta

Lo invito a mirar el video en YouTube sobre " filtros avanzados en Access eduardo perez", no pongo el link porque la página no lo permite. Descargue el archivo y observe el formulario frrmEjemploFiltroPorFormulario, estudie el código del botón Imprimir, en este verifico si hay información a imprimir:

Private Sub btnImprimir_Click()
If Me.RecordsetClone.RecordCount = 0 Then
Exit Sub
ElseIf Me.RecordsetClone.RecordCount > 0 And Len(sFiltro) > 0 Then
DoCmd.OpenReport "rptEmpleados", acViewPreview, , sFiltro
Else
DoCmd.OpenReport "rptEmpleados", acViewPreview
End If
End Sub

Ahora, observe el formulario "frmEjemploFiltroPorSubformulario", estudie el código del botón Imprimir:

Private Sub btnImprimir_Click()
If Me.frmSubEmpleados.Form.RecordsetClone.RecordCount = 0 Then
Exit Sub
ElseIf Me.frmSubEmpleados.Form.RecordsetClone.RecordCount > 0 And Len(sFiltro) > 0 Then
DoCmd.OpenReport "rptEmpleados", acViewPreview, , sFiltro
Else
DoCmd.OpenReport "rptEmpleados", acViewPreview
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas