Desde registro de formulario a informe filtrado

Es mi primera pregunta y ando un poco perdido básicamente por no saber utilizar los generadores de código de access que dan mucho de si...
El caso es que utilicé esta solución para hacer que con un dobleclic en un campo de un formulario, me abrirse otro formulario con el registro a modificar y funcionó de maravilla (gràcies Xavi)
Desde un formulario como buscar registros de otro
Ahora lo que necesito es lo mismo, pero que abra un informe filtrado con lo que tengo en el campo de formulario. Hasta ahora lo hacía que me pidiera qué quería "imprimir" para que hiciara el filtro. No es que me sea incómodo hacerlo así, pero ya puestos, para dejarlo más "limpio"
Carles
Gràcies

1 respuesta

Respuesta
1
Doy por supuesto lo siguiente:
- Que tienes un botón en el formulario donde están los datos que quieres imprimir que, al hacer click, te imprimirá ese único registro (yo lo he llamado cmdImprimir)
- El informe para imprimir yo lo he llamado "Report1"
- Que el valor que hace de filtro es una variable numérica. Yo la he llamado "Referencia".
Visto lo anterior, en ese botón cmdImprimir le escribes este código al evento "Al hacer click":
Private Sub cmdImprimir_Click()
    Dim intRef As Integer
    Dim strCondicion As String
    intRef = Me.Referencia.Value
    strCondicion = "[Referencia] = " & intRef
    DoCmd.OpenReport "Report1", acViewPreview, , strCondicion
End Sub
---
Si la "referencia" fuera texto el código debería quedarte así (ojo con las comillas dobles y simples):
Private Sub cmdImprimir_Click()
    Dim strRef, strCondicion As String
    strRef = Me.Referencia.Value
    strCondicion = "[Referencia] = '" & strRef & "'"
       'Repito para que puedas ver las comillas bien
       'strCondicion = "[Referencia] = ' " & strRef & " ' "  
    DoCmd.OpenReport "Report1", acViewPreview, , strCondicion
End Sub
----
Los anteriores códigos te abren una vista previa del informe antes de poder imprimirlo. Si lo que quieres es imprimirlo directamente debes cambiar "acViewPreview" por "acViewNormal"
Suerte!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas