Access - nodata=>cancel=-1 ->vuelve docmd.openreport y da error

 
Vista:
sin imagen de perfil
Val: 130
Bronce
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

nodata=>cancel=-1 ->vuelve docmd.openreport y da error

Publicado por Pablo (46 intervenciones) el 07/10/2020 18:20:56
Hola a tod@s
Pues eso, en el evento al no haber dato de un informe tengo un msgbox avisandolo y cancel=-1, no se abre el informe, Ok, pero vuelve a la instruccion docmd.openreport y me da el error 2501: la acción open report se canceló
Cómo evito ese error?

Gracias
Pablo
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

nodata=>cancel=-1 ->vuelve docmd.openreport y da error

Publicado por Anonimo (2016 intervenciones) el 08/10/2020 00:47:41
Lo que suele solucionar el problema es 'no abrir un reporte sin datos'

Para ello basta que se condicione la apertura, algo que se puede lograr con una funcion de dominio (DCount) que devolvera un cero (FALSE) o un valor diferente de cero (TRUE)

1
2
3
IF DCount("*", "el origen de datos del informe")  Then ...
Alternativa
IF DCount("*", "el origen de datos del informe")  <> 0  Then ...

Para poder conocer si el informe tiene datos (darle valor a la propiedad 'HasData') se tiene que generar el informe (pero de forma oculta) por ello al abortarlo lo publica.
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
sin imagen de perfil
Val: 130
Bronce
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

nodata=>cancel=-1 ->vuelve docmd.openreport y da error

Publicado por Pablo (46 intervenciones) el 08/10/2020 17:59:35
Ok Anónimo, mejor no abrir el informe si na hay dato, para ver si hay o no dato se utiliza Dcount, si es false no lo abro y listo
Gracias
Pablo
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