** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - No abrir informe sin registros
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoNo abrir informe sin registros

 Responder Responder
Autor
Mensaje
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1558
Enlace directo a este mensaje Tema: No abrir informe sin registros
    Enviado: 09/Septiembre/2020 a las 11:37
Buenos
Tengo un informe basado en una consulta, en la cual el campo Alta posee el criterio <>"B". Esto quiere decir, que el informe debe mostrarme aquellos registros cuyo campo Alta sea distinto a "B". Ahora, si el informe no tiene ningún registro para mostrarme, deseo que no abra el informe.
He mirado ha probar con el evento "Al no haber datos", pero no acabo de entenderlo. El código es:

Private Sub Report_NoData(Cancel As Integer)
MsgBox "No existen registros", vbInformation   
DoCmd.CancelEvent
DoCmd.Close acReport, Me.Name                  
Exit Sub
End Sub

Alguna sugerencia. Gracias.

Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 11809
Enlace directo a este mensaje Enviado: 09/Septiembre/2020 a las 12:19
Para que se cancele el informe simplemente hay que poner la variable Cancel a true.

El resto de comandos sobran.
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
emiliove Ver desplegable
Moderador
Moderador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 5239
Enlace directo a este mensaje Enviado: 09/Septiembre/2020 a las 15:37
O antes de abrir revisas si existen registros con una función de dominio.

Saludos.
Arriba
Pp2010 Ver desplegable
Asiduo
Asiduo


Unido: 20/Mayo/2010
Localización: Estados Unidos
Estado: Sin conexión
Puntos: 237
Enlace directo a este mensaje Enviado: 09/Septiembre/2020 a las 21:50
Buenas tardes, yo uso este codigo, que aclaro es de alguno de los maestros, pero me funciona muy bien"

Private Sub Report_NoData(Cancel As Integer)
 MsgBox "Aviso desde el Reporte:" & Me.Name & Chr(13) & Chr(13) _
    & "No hay datos para mostrar en este Informe.", vbCritical + vbOKOnly, "AVISO"
 Cancel = -1
End Sub

espero te ayude
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1558
Enlace directo a este mensaje Enviado: 10/Septiembre/2020 a las 08:03
Gracias a todos.
He desactivado todos los comandos y puesto Cancel = True, pero me avisa de un error en la línea del comando anterior donde abro el informe (error 2501 en tiempo de ejecución). Este error lo he solucionado con el control de errores en ese evento, pero habría alguna posibilidad de evitar el error?
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1558
Enlace directo a este mensaje Enviado: 11/Septiembre/2020 a las 11:01
Gracias.
Este hilo se puede cerrar satisfactoriamente.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable