Filtrado de registros en Subinforme de Access

Tengo una base de datos de Vehículos con 2 tablas, una denominada VEHICULOS que corresponde a la ficha general del vehículo y otra en la que figuran por fecha todas las inspecciones y control de componentes de cada rodado. Ambas tablas están relacionadas por el campo PATENTE.

Cuando busco y tengo a la vista determinado vehículo le agregué al formulario un botón para imprimir (un informe) la ficha de ese rodado. Hasta ahí funciona perfecto. El tema es que ese informe tiene agregado un Subinforme en el que constan las Inspecciones realizadas al vehículo (correspondientes a la tabla relacionada denominada Inspecciones)

Obviamente dicho subinforme me muestra todas las inspecciones cargadas en diferentes fechas, y lo que estoy necesitando no es imprimir todas las inspecciones, sino que solamente aparezca en el subinforme para imprimir la última inspección realizada (último registro del campo FECHA de la tabla Inspecciones).

¿Cómo puedo realizar ese filtrado?

1 respuesta

Respuesta
1

Sería bueno conocer cómo tiene el origen de datos del subinforme, por ahora solo le recomiendo que haga una consulta de agrupación por PATENTE y la última fecha, asigana esta consulta como origen de datos del subinforme y relaciona los campos PATENTE del informe principal con el subinforme. Como le digo si sube una imagen le podría colaborar mejor.

Gracias por responder Eduardo. Desde un formulario hago la búsqueda de los vehículos en la table MOVILES y accedo a su ficha. Posicionado en la ficha, el formulario tiene un botón para imprimirla el cual llama al evento de la imagen que subí 

Esto abre el Informe VEHICULOS que contiene la ficha con los campos de la tabla MOVILES; y abajo le agrego un Subformulario llamado INVENTARIO, que toma los datos de la tabla INVENTARIO relacionada con MOVILES por medio del Nro. de PATENTE. 

La orden mostrada en la imagen me presenta la Ficha del vehículo buscado y las Inspecciones del mismo contenidas en la tabla Inventario. Lo que yo necesito es que no me muestre todos los registros de la tabla Inventario como lo hace, sino que me filtre y me imprima sólo el último registro del Inventario, o sea, la última inspección que se realizó al mismo

No se si eso será posible del modo que lo tengo estructurado... 

En este caso se debe obtener la ultima fecha relacionada con la PATENTE (prefiero utilizar un ID). Sería algo como:

Dim dultima AS Date
dultima=Dlast("[fecha]","tablainventario","PATENTE='" & Me.PATENTE & "'")
stlinkCriteria="[PATENTE]='" & Me.PATENTE & "'" & " AND [Fecha]=" & "#" & Format(dultima,"mm/dd/yyyy") & "#"

Adicione las 2 primeras líneas y edite el criterio.

Hola Eduardo! Perdón por la demora. Adapté el código que me pasó y lo puse para que se ejecute al cargar el SubInforme Inventario. No dio ningún tipo de error, pero no se ejecuta. Al pulsar el botón "Imprimir Ficha" se carga en modo previsualización el Informe MOVILES_Ficha, y dentro de éste el SubInforme Inventario, el cuál sigue mostrando todos los registros, y no el de última fecha. ¿Tal vez esté colocando ese código en el lugar equivocado?  

Lo único sería que me enviara su base de datos a [email protected], favor en el asunto anotar su consulta y enviar la base de datos en formato .RAR o .ZIP

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas