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

Nota: Nos gustaría proporcionarle el contenido de ayuda actual lo más rápido posible en su idioma. Esta página se ha traducido mediante un sistema automático y es posible que contenga imprecisiones o errores gramaticales. Nuestro objetivo es que este contenido sea útil para usted. ¿Puede informarnos sobre si la información le ha sido útil al final de la página? Aquí tiene el artículo en inglés para que pueda consultarlo fácilmente.

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, a continuación, 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?

Usar una macro para cancelar la impresión

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

Es probable que desee cancelar la impresión de un informe cuando no contiene ningún registro. Por ejemplo, si está comenzando a vender un nuevo producto, es probable que haya un período de tiempo en el que tiene que registrar aún las ventas. Por consiguiente, debe considerar la posibilidad de que algunos de los informes no contengan registros detallados y que las funciones de agregado, como la función contar , no tengan nada que contar. Para controlar una repetición de este tipo, puede crear una macro que cancele el trabajo de impresión. También puede agregar algunas líneas de código VBA colocado minuciosamente para hacer lo mismo. VBA es el lenguaje de programación que usa Access.

Agregue la macro o el código de VBA al informe en el que se indica que no hay ningún procedimiento de evento deTA . Access activa el evento no datos cuando se ejecuta un informe que no tiene registros. La macro y el código de VBA descritos en este artículo muestran un mensaje adecuado y cancelan la impresión del informe cuando ese informe no contiene datos. Al agregar una macro o código de VBA al procedimiento de evento al no haber datos , la macro o el código VBA se ejecuta cada vez que se abre un informe que no contiene ningún registro. Al hacer clic en Aceptar para cerrar el mensaje de alerta, la macro también cierra el informe en blanco. Cuando agregue la macro o el código de VBA al informe, no se abrirá un informe en blanco cuando intente mostrarlo en la vista informe o presentación, 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 al intentar 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, parecerá que no sucede nada cuando intente 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 secundario en el informe que desee cambiar y, a continuación, 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 bien-

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

  3. Haga clic en la pestaña evento y, en el cuadro de propiedad al no haber datos , haga clic en Botón Generador .

    Aparece el cuadro de diálogo Elegir generador .

  4. Haga clic en generadorde macros y luego 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 MessageBox 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 notificar.

  7. De manera opcional, puede cambiar 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 no escribir ningún registro.

  9. Seleccione la lista desplegable de acciones de macro debajo de la acción MessageBox 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 en el que se le pregunta si desea guardar los cambios realizados en la macro y en la propiedad del informe, haga clic en , cerrar el informe, guardar los cambios si se le solicitan y continúe con los pasos siguientes para probarlo.

Probar la macro

  • En el panel de navegación, haga clic con el botón secundario en el informe que contiene la macro y haga clic en Imprimir. En función de 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. Dado que no ha especificado ningún otro evento (como abrir el informe para verlo), el informe se cierra.

Principio de página

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

El código de VBA descrito aquí funciona de manera muy similar 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 secundario en el informe que desee cambiar y, a continuación, 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 bien-

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

  3. Haga clic en la pestaña evento y, en el cuadro de propiedad al no haber datos , haga clic en Botón Generador .

    Aparece el cuadro de diálogo Elegir generador .

  4. Haga clic en generador de códigoy, después, en Aceptar.

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

  5. Escriba el código siguiente en el editor de Visual Basic para que el procedimiento Report_NoData aparezca exactamente así 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 en archivoy, a continuación, haga clic en cerrar y volver a Microsoft Access.

  8. Cierre el informe abierto y, a continuación, haga clic en para confirmar la guardado.

  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. En función de las opciones que elija, Access muestra un mensaje de alerta.

El procedimiento Report_NoData usa la función MsgBox para mostrar que no hay registros para notificar un mensaje 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 de evento y siempre lo comprueba el acceso cuando se completa el procedimiento de evento.

Principio de página

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.

×