Access - Cerrar informe al no haber datos

   
Vista:

Cerrar informe al no haber datos

Publicado por Angel (84 intervenciones) el 23/06/2014 17:49:59
Hola a todos los foreros y muchas gracias desde ya. Tengo un informe con una consulta como origen de datos, el que por medio de un botón, directamente se imprime ya que se abre en vista imprimir. El hecho es que al no existir datos me gustaría que no se imprima y que se cierre automáticamente. Traté con el siguiente código:

Private Sub Report_NoData(Cancel As Integer)
MsgBox "El informe no se imprimirá, ya que no hay registros"
DoCmd.Close acReport, "iCredencial_Normal_180"
End Sub

Vuelvo a agradecer a todos por su ayuda!
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

Cerrar informe al no haber datos

Publicado por Emilio (221 intervenciones) el 23/06/2014 19:27:39
Intentalo así:

1
2
3
4
5
Private Sub Report_NoData(Cancel As Integer)
 MsgBox "El informe no se imprimirá, ya que no hay registros"
 Cancel=True
SendKeys "{ESC}"
 End Sub

Aunque yo lo haría con un Dcount a la SQL del informe y si hay datos lo mando a imprimir.

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

Cerrar informe al no haber datos

Publicado por Angel (84 intervenciones) el 24/06/2014 01:37:42
Muchas gracias Emilio, por tu pronta respuesta. Te cuento que de esta forma, lo he intentado pero me da el Siguiente Error: Se he producido el '2501' en tiempo de ejecución: La acción OpenReport se canceló. Y me permite Finalizar o Depurar. Si lo usara yo, no tendría problemas pero si dan a Depurar se complicaría. Podrías explicarme como lo harías con Dcount a la SQL del informe?
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

Cerrar informe al no haber datos

Publicado por Emilio (221 intervenciones) el 24/06/2014 02:03:34
Con un Dcount donde lanzas el informe, suponiendo que tu tabla o consulta se llame iCredencial_Normal:

1
2
3
4
if  DCount("*", "iCredencial_Normal")<0 then
DoCmd.OpenReport, "iCredencial_Normal_180",acViewPreview
Else
Msgbox "El informe no tiene registros para mostrar"

no entiendo por que no te funciona a mi esto me funciona sin problemas:

1
2
3
4
5
Private Sub Report_NoData(Cancel As Integer)
 MsgBox "El informe no se imprimirá, ya que no hay registros", vbOKOnly, "Mensaje de Advertencia"
 Cancel = True
 SendKeys "{ESC}"
End Sub

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

Cerrar informe al no haber datos

Publicado por Angel (84 intervenciones) el 24/06/2014 05:13:42
Muchas gracias Emilio. Finalmente, las formas que me decís me funcionan. Me gustó más el de SQL así que implementaré ese método. Dios te bendiga amigo, y espero alguna vez poder ayudar así como ayudas vos!
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