Access - Filtros en formularios

 
Vista:

Filtros en formularios

Publicado por Rosa (15 intervenciones) el 17/09/2008 09:24:34
Hola a todos!! a ver si me podeis ayudar. tengo hecho un formulario donde el usuario solo puede actualizar o consultar los registros. en dicho formulario tengo un boton que llama a un informe. me gustaria, aunque no se si se puede hacer, que segun los filtros que se hayan hecho en el formulario me imprimiera una cosa y otra. pongo un ejemplo: en mi formulario tengo dos campos: uno es el nombre del cliente(por decirlo de alguna manera) y otro es una descripcion. la cosa esta en que si yo filtro por el nombre quiero q el informe me imprima todos los registros con ese nombre, y si filtro por descripcion quiero que me imprima todos los registros con esa descripcion. como podria hacerlo??, lo estoy intentando desde el where del docmd.openreport pero no lo hace bien.

gracias.

ROsa.
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

RE:Filtros en formularios

Publicado por Enrique (1299 intervenciones) el 17/09/2008 19:49:19
Hola Rosa:
Te indico una forma fácil de hacerlo, aunque seguramente podrá hacerse de otras. Ejemplo:
Nombre de la Tabla que contiene los registros: Tabla1
Nombre del Formulario donde están los Campos de filtro y el Botón: Formulario1
Nombre del Botón: Imprimir
Nombre del Informe: Informe1

En el formulario insertas un cuadro de texto "Independiente" de nombre: Filtro y puesto como Visible: No (o sea, invisible porque no es necesario verlo)

Evento "Al hacer click" del botón del formulario:
Private Sub Imprimir_Click()
Me.Filtro = "SELECT * FROM Tabla1 WHERE Nombre LIKE '*' & [Forms]![Formulario1]!Nombre & '*' AND Descripcion LIKE '*' & [Forms]![Formulario1]![Descripcion] & '*';"
DoCmd.OpenReport "Informe1", acPreview '(o acNormal)
End Sub

Evento "Al abrir" del Informe:
Private Sub Report_Open(Cancel As Integer)
On Error Resume Next
Me.RecordSource = Form_Formulario1.Filtro
End Sub

Puedes filtrar por "Nombre" (dejando en blanco descripcion) o por "Descripcion" (dejando en blanco el nombre), pero si filtras por ambos, deben de cumplirse las dos condiciones, aunque solo escribas parte del Nombre o parte de la Descripción. Fíjate que usamos LIKE con asteriscos a ambos lados. Ejemplo: Si tienes registros con los nombres "Marta" y "Maria" y escribes en nombre "Mar" se imprimen ambos registros, pero si escribes "Mari" solo se imprime "Maria".

Esperemos que te sirva. Saludos
Enrique
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

RE:Filtros en formularios

Publicado por Rosa (15 intervenciones) el 18/09/2008 08:42:07
muchas gracias voy a intentarlo asi. ya te digo algo despues.

Rosa.
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