Cancelación de la impresión de un informe en caso de que no contenga ningún registro

De forma predeterminada, puede imprimir informes que no contengan registros. Para solucionar este problema, puede usar una macro o código de Microsoft Visual Basic para Aplicaciones (VBA) para detectar la ausencia de registros en un informe y, después, cancelar la operación de impresión. En los pasos de este artículo se explica cómo usar ambas técnicas.

¿Qué desea hacer?

Es probable que quiera cancelar la impresión de un informe cuando no contenga ningún registro. Por ejemplo, si empieza a vender un nuevo producto, es probable que haya un período de tiempo en el que todavía no haya registrado ninguna venta. Por lo tanto, debe considerar la posibilidad de que algunos de sus informes no contengan ningún registro de detalles y que las funciones de agregado, como la función Contar, no tengan nada que contar. Para controlar correctamente esta repetición, puede crear una macro que cancele el trabajo de impresión. También puede agregar algunas líneas de código VBA cuidadosamente colocado para hacer lo mismo. VBA es el lenguaje de programación Access usa.

Puede agregar la macro o el código VBA al procedimiento de evento On No Data del informe. Access activa el evento Sin datos cada vez que ejecuta un informe que no tiene registros. La macro y el código VBA descritos en este artículo muestran un mensaje adecuado y cancelan la impresión del informe cuando ese informe no contiene datos. Cuando agrega una macro o código VBA al procedimiento de evento Sin datos, la macro o el código VBA se ejecuta siempre que abre un informe que no contiene registros. Al hacer clic en Aceptar para cerrar uno de los mensajes de alerta, la macro también cierra el informe en blanco. Al agregar la macro o el código VBA al informe, no se abrirá un informe en blanco al intentar mostrarlo en la vista Informe o en la vista Diseño, pero puede abrir el informe en la vista Diseño.

Usar una macro para cancelar la impresión

La macro que se describe en esta sección muestra un mensaje de alerta cuando intenta imprimir un informe en blanco. Al hacer clic en Aceptar para cerrar el cuadro de mensaje, la macro cancela automáticamente la operación de impresión. Si no incluye un mensaje de alerta, aparecerá como si no pasara nada al intentar imprimir el informe, algo que probablemente confundirá a los usuarios del informe.

Crear la macro

  1. En el panel de navegación, haga clic con el botón derecho en el informe que desea cambiar y haga clic en Vista Diseño.

  2. En la pestaña Diseño, en el grupo Mostrar u ocultar, haga clic en Hoja de propiedades.

    O

    Haga doble clic en el cuadro situado en la esquina superior izquierda o derecha del informe, según la configuración regional y de idioma.

  3. Haga clic en la pestaña Evento y, en el cuadro de la propiedad Sin datos, haga clic en Botón Generador .

    Aparecerá el cuadro de diálogo Elegir generador.

  4. Haga clic en Generador demacros y, a continuación, haga clic en Aceptar.

    El diseñador de macros se inicia y muestra una macro en blanco.

  5. En la lista desplegable de acciones de macro en la ventana de diseño de macros, seleccione Cuadro de mensajes de la lista.

  6. en el cuadro Mensaje, escriba el texto del mensaje de alerta.

    Por ejemplo, puede escribir lo siguiente: No hay registros para informar.

  7. Opcionalmente, cambie el valor del argumento en el cuadro Pitido de a No y, en la lista Tipo, seleccione el tipo de icono que desea que aparezca en el mensaje de alerta.

  8. En el cuadro Título, escriba el título del mensaje de alerta.

    Por ejemplo, puede escribir Sin registros.

  9. Seleccione la lista desplegable de acciones de macro debajo de la acción Cuadro de mensajes y, a continuación, seleccione CancelarEvento.

  10. En la pestaña Diseño, en el grupo Cerrar, haga clic en Guardar.

  11. En la pestaña Diseño, en el grupo Cerrar, haga clic en Cerrar. Si aparece un mensaje de alerta y le pregunta si desea guardar los cambios en la macro y la propiedad del informe, haga clic en Sí,cierre el informe, guarde los cambios si se le solicita y continúe con los pasos siguientes para probarlo.

Probar la macro

  • En el panel de navegación, haga clic con el botón derecho en el informe que contiene la macro y haga clic en Imprimir. Según las opciones que elija, Access muestra un mensaje de alerta.

    Al hacer clic en Aceptar para cerrar el mensaje, la acción CancelarEvento detiene la operación de impresión. Como no especificó ningún otro evento (por ejemplo, abrir el informe para su visualización), el informe se cerrará.

Volver al principio

Usar código de VBA para cancelar la impresión

El código de VBA descrito aquí funciona de forma muy parecido a la macro descrita en la sección anterior: muestra un mensaje de alerta al abrir un informe en blanco y, a continuación, cancela la operación de impresión al cerrar el mensaje de alerta.

Agregar código de VBA

  1. En el panel de navegación, haga clic con el botón derecho en el informe que desea cambiar y haga clic en Vista Diseño.

    Nota: Para completar este procedimiento, use un informe que no contenga registros.

  2. En la pestaña Diseño, en el grupo Mostrar u ocultar, haga clic en Hoja de propiedades.

    O

    Haga doble clic en el cuadro situado en la esquina superior izquierda o derecha del informe, según la configuración regional y de idioma.

  3. Haga clic en la pestaña Evento y, en el cuadro de la propiedad Sin datos, haga clic en Botón Generador .

    Aparecerá el cuadro de diálogo Elegir generador.

  4. Haga clic en Generador decódigo y, a continuación, haga clic en Aceptar.

    El editor Visual Basic se inicia y muestra un procedimiento de evento en blanco.

  5. Escriba el siguiente código en el editor de Visual Basic para que el Report_NoData aparezca exactamente igual que cuando haya terminado:

    Private Sub Report_NoData (Cancel As Integer)
    MsgBox "There are no records to report", vbExclamation, "No Records"
    Cancel = True
    End Sub
  6. Cuando haya terminado, haga clic en Archivoy, a continuación, haga clic en Guardar.

  7. Haga clic enArchivo y, a continuación, haga clic en Cerrar y volver a Microsoft Access.

  8. Cierre el informe abierto y, a continuación, haga clic en Sí para confirmar la opción de guardar.

  9. En el panel de navegación, haga clic con el botón derecho en el informe que acaba de cambiar y haga clic en Imprimir. Según las opciones que elija, Access muestra un mensaje de alerta.

El Report_NoData usa la función MsgBox para mostrar el mensaje No hay registros para informar y un botón Aceptar. Al hacer clic en Aceptar,la línea "Cancel=True" del procedimiento indica a Access que cancele el informe. Cancelar es un argumento que se pasa automáticamente al procedimiento del evento y que Access siempre comprueba cuando se completa el procedimiento del evento.

Volver al principio

¿Necesita más ayuda?

Ampliar sus conocimientos de Office
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×