Iniciar sesión con Microsoft
Iniciar sesión o crear una cuenta
Hola:
Seleccione una cuenta diferente.
Tiene varias cuentas
Elija la cuenta con la que desea iniciar sesión.

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?

Es probable que quiera 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 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 registros detallados y que las funciones de agregado, como la función Contar , no tengan nada que contar. Para controlar esta ocurrencia correctamente, 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 que usa Access.

Agregue la macro o el código vba al procedimiento de evento On No DaTa del informe. Access desencadena el evento On No Data siempre que 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 tener datos , la macro o el código de VBA se ejecutan siempre que se abre un informe que no contiene registros. Al hacer clic en Aceptar para cerrar cualquiera de los mensajes 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 cuando intente mostrarlo en las vistas Informe o Presentación, pero puede abrirlo 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 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 sucediese 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 secundario 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 bien:

    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 de macros y, a continuación, haga clic en Aceptar.

    Se inicia el diseñador de macros y se 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 en la lista.

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

    Por ejemplo, puede escribir lo siguiente: No hay ningún registro 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 realizados en la macro y en la propiedad del informe, haga clic en , cierre el informe, guarde 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. Según las opciones que haya elegido, 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 VBA descrito aquí funciona de forma 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 VBA

  1. En el panel de navegación, haga clic con el botón secundario 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 bien:

    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 de código y, a continuación, haga clic en Aceptar.

    Se inicia el Editor de Visual Basic y se muestra un procedimiento de evento en blanco.

  5. Escriba el código siguiente en el Editor de Visual Basic para que el procedimiento de Report_NoData aparezca exactamente igual que este 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 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 Access.

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

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

El procedimiento Report_NoData usa la función CuadroMsj 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 de evento y access siempre lo comprueba cuando se completa el procedimiento de evento.

Principio de página

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a su experiencia?
Si presiona Enviar, sus comentarios se usarán para mejorar los productos y servicios de Microsoft. El administrador de TI podrá recopilar estos datos. Declaración de privacidad.

¡Gracias por sus comentarios!

×