Quisiera que un informe se abra si cumple una condición

Tengo un informe con un campo que se llama aviso y quisiera que al abrir un formulario el informe se abra automáticamente si el campo aviso del informe es true, sino no.

¿Esto se puede hacer?

1 respuesta

Respuesta
1

Si he entendido bien es que quieres que si una casilla de verificación en el formulario llamada Aviso esta marcada te abra el informe y si no está marcada que no lo haga.

En el evento que vaya a abrir el informe puedes poner

If aviso=true then

domcd.openreport.....

end if

Si le quieres añadir algún mensaje o lo que sea dimelo.

Perdona, lo había entendido al revés.

En el evento donde vayas a abrir el informe

docmd.openreport"nombredelinforme",acpreview,,"idloquesea =.... and aviso=true"

El idloquesea es el criterio para que te abra el informe en un registro en particular.

perdona pero no entiendo el idloquesea

Si desde un formulario quieres abrir un informe en un registro concreto tienes que darle algún criterio. Por ejemplo abre el informe Clientes en aquel registro cuyo Nombre de cliente sea Agustín. O bien, abre el informe Clientes en aquel registro en que fechaventas= 12/01/2016 o en aquel registro en que vehículo="Seat". Esos son los criterios. Normalmente las tablas y por ende los formularios basados en esa tabla tiene un Id, sea Idcliente, IdVentas,... Y si el informe está basado en una tabla suele tener también un Id, aunque no se vea, de ahí lo del Idloquesea.

Por ejemplo

docmd.openreport"clientes",acpreview,,"Nombrecliente="Agustín"

Docmd.openreport"clientes",acpreview,,"fechaventa=#15/01/2016#"

Docmd.openreport"clientes",acpreview,,"fechaventa between [escribe una fecha inicial] and [escribe una fecha final]"

Etc., etc.

he puesto DoCmd.OpenReport "nombre informe", acViewReport, , " aviso=true" y se abren solo los registros que cumplen con este criterio, pero el informe se abre igual en blanco aunque no tenga registros. quisiera si es posible que no se abriera el informe si no hay registros que cumplan con este criterio. es posible?

Efectivamente, así te abre el informe con TODOS aquellos registros en que el campo Aviso sea True, pero tendrás que darle algún otro criterio.

También puedes ponerle, en el evento al cargar del informe que si Aviso=false te aparezca un mensaje diciendo que como no hay registro no lo abre

En el formulario, en el botón puedes poner algo así como

If dcount(...... then

Msgbox"Nohay registros, por tanto no abro el informe", vbokonly."...

Personalmente creo que lo mejor es que o bien pongas la imagen del diseño del formulario, o, me parece que ya te dí mi correo, me mandes una copia vacía de la base, con al menos el formulario y el informe, a [email protected] y te lo miro o te mando un par de ejemplos. Si haces esto último, en el asunto del mensaje pon tu Nick, para saber de quien viene el mensaje.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas