Access - evitar imprimir informe si no hay datos

 
Vista:
Imágen de perfil de Carlos
Val: 30
Ha aumentado su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

evitar imprimir informe si no hay datos

Publicado por Carlos (22 intervenciones) el 30/10/2020 00:50:52
Buenas noches

He creado una tabla a la que voy añadiendo menús diarios, con campos "1erPG", "2doPG", "GG", "PG", (que traducido viene a ser 1er plato comida general, 2do plato comida general...)

Luego tengo otra tabla con el nombre de los niños que tiene que comer, con los campos Idniño, Nombre, FeNace, rango (0a6 meses), (6a9 meses)...

Creo unas etiquetas con el nombre del niño y con un cuadro de lista independiente extraigo la información de 1erPG", en otro cuadro "2doPg" y así según la edad del pequeño.

Después en el formulario, he creado un combo con el nombre los rangos a imprimir, que al desplegar el combo selecciono el que me interesa y me sale la etiqueta del niño,

Pero ahí viene el problema y la pregunta

Si cuando selecciono "Niño de o a 6 meses" que llevaría su menú asociado, pues me sale la etiqueta para visualizarla e imprimirla. Pero si selecciono un rango en el que no existan niños asociados a ese rango me sale un aviso con el error.

En el evento del cuadro combinado al click pongo lo siguente,

DoCmd.OpenReport Me.Lista648.Column(1), acViewPreview

y en el evento de la etiqueta al no haber datos pongo

Private Sub Report_NoData(Cancel As Integer)
Cancel = True
End Sub

Ahí es cuando me sale el mensaje en el formulario "error 2501 en tiempo de ejecución".

Si quito el "cancel=true" me sale la etiqueta con palabra error en el rango

Que podría poner para que me saliera un mensaje si no existieran niños asociados a ese rango y que dijera algo así "en este rango no existen niños".

Muchas gracias anticipadas, espero haberme explicado bien.
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

evitar imprimir informe si no hay datos

Publicado por Anonimo (3316 intervenciones) el 30/10/2020 08:44:12
Al definir un rango: ... Me.Lista648.Column(1) ....
Se esta definiendo un subconjunto de datos

Solo se necesitara saber (un simple DCount) si hay elementos en ese subconjunto y si los hay ... ejecutar el informe.

Lo mismo desde otro punto de vista:

Condicionar la apertura del informe a que existan datos en el subconjunto:
.- Si los hay (se cumple DCount <> 0) se ejecuta el informe
.- Si NO los hay (se cumple DCount = 0) se envía el mensaje de aviso (o la alternativa de no hacer nada).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar