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, se pueden imprimir informes que no contengan registros. Para resolver este problema, puede usar una macro o bien código de Microsoft Visual Basic for Applications (VBA) para detectar la ausencia de registros en un informe y, a continuación, cancelar la operación de impresión. En este artículo se explica cómo usar las dos técnicas.

¿Qué desea hacer?

Utilice una macro para cancelar la impresión

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

Quizás desee cancelar la impresión de un informe cuando no contenga ningún registro. Por ejemplo, si está empezando a vender un nuevo producto, es probable que sea un período de tiempo en el que tenga que registrar cualquier venta. Por tanto, debe, considere la posibilidad de que algunos informes no tengan registros y funciones de agregado, como la función contar , puede ser que tenga nada que contar. Para controlar suceda correctamente, puede crear una macro que cancele el trabajo de impresión. También puede agregar líneas de código VBA colocado cuidadosamente para hacer lo mismo. VBA es la programación utiliza ese Microsoft Office Access 2007 de idioma.

Agregar la macro o el código VBA del informe De No Data procedimiento de evento. Office Access 2007 activa el evento Al no haber datos cada vez que ejecute un informe que no tenga registros. La macro el código VBA que se describe en este artículo muestra un mensaje apropiado y cancelar la impresión del informe cuando dicho informe no contiene datos. Cuando agrega una macro o código VBA al procedimiento de evento Al no haber datos , la macro o el código VBA se ejecute cada vez que abra un informe que no contiene registros. Al hacer clic en Aceptar para cerrar el mensaje de alerta, la macro también cierra el informe en blanco. Al agregar la macro o el código de VBA al informe, no se abrirá un informe en blanco al intentar para que se muestre 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 descrita 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, aparecerá como si no ocurre nada cuando intenta imprimir el informe, algo que puede resultar confuso para los usuarios del informe.

Crear la macro.

  1. En el panel de exploración, haga clic con el botón secundario en el informe que desee cambiar y haga clic en Vista Diseño.

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

    o bien

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

  3. Haga clic en la ficha evento y, en el cuadro de propiedad En sin datos, haga clic en Botón Generador .

    Aparecerá el cuadro de diálogo Elegir generador.

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

    Se ejecuta el diseñador de macros y muestra una macro en blanco.

  5. En la primera fila de la macro, haga clic en el campo de la columna Acción y elija CuadroMsj en la lista.

  6. En Argumentos de acción en la sección inferior del Diseñador de macros, en el cuadro de mensaje, escriba el texto del mensaje de alerta.

    Por ejemplo, puede escribir lo siguiente: No hay registros que mostrar en el informe.

  7. Si lo desea, cambie el valor del argumento en el cuadro Bip 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.

    Los cambios aparecen en la parte superior del Diseñador de macros, en la columna argumento, junto a la acción CuadroMsj.

  9. En la parte superior del diseñador de macros, haga clic en la siguiente celda en la columna Action (la celda que está justo debajo de CuadroMsj) y, después, seleccione CancelarEvento

    La macro debe ser parecida a la siguiente, aunque puede usar texto diferente en los argumentos:

    Macro de ejemplo para cancelar la operación de impresión

  10. En la ficha Diseño, en el grupo Cerrar, haga clic en Guardar como y, a continuación, use el cuadro de diálogo Guardar como un nombre para la macro.

  11. Cierre la macro. Si aparece un mensaje de alerta que le pregunta si desea guardar los cambios en las propiedades del informe y la macro, haga clic en y continúe con los siguientes pasos para probarlo.

Cómo probar la macro

  • En el panel de exploració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, aparecerá un mensaje parecido al siguiente:

    Cuadro de mensaje que aparece cuando el informe no contiene registros

    Al hacer clic en Aceptar para cerrar el mensaje, la acción CancelarEvento detiene la operación de impresión. Ya se ha no especificado ningún otro evento (por ejemplo, para abrir el informe para verlo), se cierra el informe.

Volver al principio

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

El código de VBA describe aquí funciona al igual que la macro se describe 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 exploración, haga clic con el botón secundario en el informe que desee cambiar y haga clic en Vista Diseño.

    Nota: Para completar este procedimiento usar un informe que no contiene registros.

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

    o bien

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

  3. Haga clic en la ficha evento y, en el cuadro de propiedad En sin datos, haga clic en Botón Generador .

    Aparecerá el cuadro de diálogo Elegir generador.

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

    Se inicia el Editor de Visual Basic 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 de este modo una vez haya finalizado:

    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 archivo y, a continuación, haga clic en Guardar.

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

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

  9. En el panel de exploración, haga clic con el botón secundario en el informe que acaba de cambiar y haga clic en Imprimir. Verá un mensaje como el siguiente:

Cuadro de mensaje que aparece cuando el informe no contiene registros

El procedimiento Report_NoData utiliza la función CuadroMsj para mostrar el mensaje no hay ningún registro al informe y un botón Aceptar . Al hacer clic en Aceptar, la "Cancelar = True" línea del procedimiento indica a Access que cancele el informe. Cancelar es un argumento que se pasa automáticamente al procedimiento de evento y siempre está activado por Access cuando finaliza el procedimiento de evento.

Volver al principio

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.

×