Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Imprimir un Informe basado en un Formulario filtrado

2,357 views
Skip to first unread message

dancarm

unread,
Jan 18, 2004, 7:44:35 AM1/18/04
to
Saludos al grupo.

Estoy intentando imprimir un informe basado en un formulario en el que
previamente se hayan aplicado dos o tres filtros mediante los botones de
filtrado del propio Access y no sé como hacerlo.

He estado leyendo un poco sobre el informe y la teoría parece sencilla, ...
pero soy incapaz de aplicarla.
Imagino que habrá que crear un filtro en el formulario que defina todos los
filtrados que el usuario haya podido hacer en el formulario. ¿ Cómo se hace
esto en código?

Luego debería de ser tan sencillo como:

CoCmd.OpenReport stDocName, acPreview, , "filtro creado"

Bueno, como veis tengo un lío monumental, os agradecería me ayudarais un
poco o alguien me pudiera indicar alguna página donde exista un ejemplo de
este tipo para ver el código

Gracias y saludos,


Ju@nK

unread,
Jan 18, 2004, 10:35:23 AM1/18/04
to
Si solamente quieres utilizar el filtro del formulario puedes ponerlo
directamente con me.filter Ej.:

DoCmd.OpenReport stDocName, acPreview, , me.filter

Salu2
Ju@nK
www.juank.tk
Otras Web de miembros del grupo que se deben visitar
http://www.mcpegasus.net
http://www.buho.tk
http://www.juanmafan.tk
http://perso.wanadoo.es/j.bchea
http://perso.wanadoo.es/rubenvigon
"dancarm" <dan...@navegalia.com> escribió en el mensaje
news:eptnXDc3...@TK2MSFTNGP11.phx.gbl...

Aguilar

unread,
Jan 18, 2004, 11:18:01 AM1/18/04
to
Estoy intentando aplicar la impresión del informe filtrado, pero a mi me
salen todos. ¿tengo que ponerle algo al informe?

gracias
"Ju@nK" <con...@hotmail.com> escribió en el mensaje
news:epw%23djd3D...@TK2MSFTNGP11.phx.gbl...

Ju@nK

unread,
Jan 18, 2004, 1:19:45 PM1/18/04
to
¿No dices que usas un filtro por formulario?

--

"Aguilar" <73...@telefonica.net> escribió en el mensaje
news:OHXuj8d3...@TK2MSFTNGP11.phx.gbl...

ortega-madrid

unread,
Jan 18, 2004, 2:57:39 PM1/18/04
to
Yo filtro un formulario desde un menú contestual, filtrando por selección de
un campo cualquiera.

Pensaba que se podía hacer directamente, una vez filtrado imprimir
directamente lo que muestre el formulario.


"Ju@nK" <con...@hotmail.com> escribió en el mensaje

news:%23zQWa$e3DHA...@TK2MSFTNGP10.phx.gbl...

Ju@nK

unread,
Jan 18, 2004, 3:31:21 PM1/18/04
to
Eso es utiliza el filtro del formulario como criterio para abrir el informe.
mejorandolo un poco para comprobar que el filtro está activo

Private Sub Comando32_Click()
Dim criterio As String
'comprobamos que el filtro está activo
If Me.FilterOn Then
criterio = Me.Filter
Else
criterio = ""
End If
DoCmd.OpenReport "FILE", acViewPreview, , criterio
'para imprimir directamente acViewNormal (o nada) en vez de acViewPreview
End Sub

"ortega-madrid" <lfco...@telefonica.net> escribió en el mensaje
news:ORXHb1f3...@TK2MSFTNGP11.phx.gbl...

oertga-madrid

unread,
Jan 18, 2004, 4:03:22 PM1/18/04
to
Algo hago que no pirula.... en el informe no tengo que ponerle nada?

filtro un campo cualquiera, de un formulario contínuo... se filtran quedando
x registros, desde el botón, abre el informe, pero siguen apareciendo todos
los registros.

donde estoy metiendo la pata.....

Gracias Juan por tu paciencia.


"Ju@nK" <con...@hotmail.com> escribió en el mensaje

news:eyFs1Ig...@TK2MSFTNGP10.phx.gbl...

Ju@nK

unread,
Jan 18, 2004, 6:14:33 PM1/18/04
to
Pon aquí el código que utilizas, el que yo te pasé funciona perfectamente.

"oertga-madrid" <lfcQUITAM...@telefonica.net> escribió en el mensaje
news:OvD0Bcg3...@TK2MSFTNGP12.phx.gbl...

ortega-madrid

unread,
Jan 18, 2004, 7:54:48 PM1/18/04
to
Así le tengo:

Private Sub Comando45_Click()
Dim criterio As String


If Me.FilterOn Then
criterio = Me.Filter
Else
criterio = ""
End If

DoCmd.OpenReport "histo", acViewPreview, , criterio
End Sub

"Ju@nK" <con...@hotmail.com> escribió en el mensaje

news:O3TTZFi3...@tk2msftngp13.phx.gbl...

Ju@nK

unread,
Jan 19, 2004, 1:04:21 AM1/19/04
to
El código está bien, ahora aplica un filtro en el formulario y después dale
al botón (ojo el informe, histo, tiene que tener todos los campos del
formulario, aunque sean ocultos), así tiene que funcionar.

"ortega-madrid" <lfcQUITAM...@telefonica.net> escribió en el mensaje
news:%23uuoVdi...@tk2msftngp13.phx.gbl...

CarCar

unread,
Jan 19, 2004, 11:56:50 AM1/19/04
to
Hola:

Estás metiendo el Filtro en el parámetro de Criterio y son
2 cosas distintas.

La sintaxis correcta al abrir el informe sería:

DoCmd.OpenReport "histo", acViewPreview, criterio

o mejor directamente, para que no haya dudas:

DoCmd.OpenReport "histo", acViewPreview, Me.Filter

Ya que lo que tu guardas en la variable "criterio" NO es
estrictamente un criterio, sino un filtro.

Saludos,
CarCar
MVP-Access

PD: Observa que lo que sobra es una coma...


>-----Mensaje original-----

>.
>

ortega-madrid

unread,
Jan 19, 2004, 12:44:42 PM1/19/04
to
Voy a probar y os comento...
Gracias.
"CarCar" <ccar...@hotmail.com> escribió en el mensaje
news:07d001c3dead$3b77c7c0$a601...@phx.gbl...

ortega-madrid

unread,
Jan 19, 2004, 1:22:19 PM1/19/04
to
No doy con ello....
Veamos...: tengo el formulario continuo, basado en una consulta
(Con_histo.)
Como menú contextual, el que aparece por defecto en access, donde aparece la
posibilidad de filtrar.
Coloqué un botón con el código, donde abre el informe basado en la misma
consulta.
Desde el formulario hago los filtros por selección correspondientes, pulso
el botón y me abre el informe con todos los registros sin respetar los
filtros......
No sé que puede estar sucediendo.....


"ortega-madrid" <lfcQUITAM...@telefonica.net> escribió en el mensaje
news:u1YTsRr3...@TK2MSFTNGP12.phx.gbl...

Ju@nK

unread,
Jan 19, 2004, 6:29:31 PM1/19/04
to
Carlos, haz
msgbox me.filter
y verás que utiliza la misma sintaxis que un criterio

"CarCar" <ccar...@hotmail.com> escribió en el mensaje
news:07d001c3dead$3b77c7c0$a601...@phx.gbl...

ortega-madrid

unread,
Jan 20, 2004, 3:43:21 PM1/20/04
to
YA.
por fin.....
funciona...
fantástico....
Miré el ejemplo, solo modifiqué lo del el mensaje para que apareciera... y
listo..

MUCHAS, MUCHAS, MUCHAS GRACIAS y MIL PERDONES POR LAS MOLESTIAS.

"Ju@nK" <con...@hotmail.com> escribió en el mensaje

news:e$b8Uox3D...@TK2MSFTNGP10.phx.gbl...
> Mira el ejemplo

> "ortega-madrid" <lfcQUITAM...@telefonica.net> escribió en el mensaje

> news:OMjcsmr3...@TK2MSFTNGP10.phx.gbl...

Victor

unread,
Jun 8, 2012, 7:08:17 PM6/8/12
to
Pues yo estoy exactamente con el mismo caso y me pasa lo mismo y no lo se arreglar. Access 2010
No entiendo que ha sido lo que le ha hecho ver la luz al final, es muy ambiguo lo que dice.

Victor

unread,
Jun 10, 2012, 2:10:49 AM6/10/12
to
Bien, ya he visto la razon:
En este caso funciona bien p.q. se trata de un formulario, y en mi caso no funciona bien porque lo mio es un sobre un subformulario metido en un formulario.
¿alguna idea de como adaptar el codigo para que me lea el contenido de lo que pasa en el subformulario en vez?

carlos...@gmail.com

unread,
Jun 1, 2017, 1:33:56 PM6/1/17
to
Para el valedor que pregunta como utilizar el firto de un subformulario. yo utilice el mismo codigo pero con una variante:

Private Sub Comando8_Click()
Dim criterio As String
'El filtro del formulario activo está vacio por que en sí el filtro se afecta en un subformulario
If Me.FilterOn Then
criterio = ""
Else
criterio = Me.Subformulario_ListaCheques.Form.Filter
'tomo el filtro de: subformulario_ListaCheques
End If
DoCmd.OpenReport "InformeCH", acViewPreview, , criterio

'para imprimir directamente acViewNormal (o nada) en vez de acViewPreview
End Sub


Espero les sea util como amí.


Carlos Jimenez
0 new messages