Crear y utilizar subinformes

Cuando se trabaja con datos relacionales (donde se almacenan los datos relacionados en tablas independientes), a menudo es necesario ver la información de más de una tabla o consulta en el mismo informe. Por ejemplo, desea ver datos de clientes, pero también desea ver información sobre los pedidos de los clientes al mismo tiempo. Un subinforme es una herramienta útil en Access para realizar esta tarea ya que permite mostrar la información del pedido en el informe con la información del cliente, de forma lógica y legible. Access proporciona varias formas de crear subinformes rápidamente.

¿Qué desea hacer?

Obtener información sobre los subinformes

Crear un subinforme

Realizar cambios de diseño en un subinforme

Obtener información sobre los subinformes

Un subinforme es un informe que se inserta en otro informe. Al combinar informes, uno de ellos debe servir como el informe principal que contiene el otro informe. Un informe principal está enlazado o es independiente. Un informe enlazado puede mostrar los datos y tiene una tabla, consulta, o una instrucción SQL especificada en su propiedad Origen de registros. Un informe independiente es aquel que no se basa en una tabla, consulta o instrucción SQL (es decir, la propiedad Origen de registros del informe está vacía).

Ejemplo de un informe principal independiente con dos subinformes no relacionados    

Un informe principal independiente no puede mostrar los datos por sí mismo, pero aun así puede servir como un informe principal para subinformes no relacionados que desee combinar.

Informe principal independiente con dos subinformes que muestran datos no relacionados

1. El informe principal independiente contiene dos subinformes.

2. Un subinforme resume las ventas por empleado.

3. El otro subinforme resume las ventas por categoría.

Ejemplo de un informe principal y subinforme que están enlazados al mismo origen de registros    

Puede usar el informe principal para mostrar registros detallados, como todas las ventas de un año, y un subinforme para mostrar información de resumen, como las ventas totales para cada trimestre.

Informe principal y subinforme enlazados al mismo origen de registros

1. En el subinforme se resumen las ventas anuales por trimestre.

2. En el informe principal se muestran las ventas diarias.

Ejemplo de un informe principal y un subinforme que están enlazados a orígenes de registros relacionados    

Un informe principal puede contener datos comunes a uno o más subinformes. En este caso, el subinforme contiene datos relacionados con los datos del informe principal.

Informe principal con dos subinformes que muestran datos relacionados

1. En el informe principal se muestra el nombre y la ciudad de cada feria.

2. En el subinforme se muestran los representantes que asistirán a cada feria.

Subformularios en un informe

Un informe principal puede incluir subformularios además de subinformes, y puede incluir tantos subformularios y subinformes como desee. Además, un informe principal puede contener hasta siete niveles de subformularios y subinformes. Por ejemplo, un informe puede contener un subinforme, y ese subinforme puede contener un subformulario o un subinforme, y así sucesivamente hasta siete niveles de profundidad.

Si agrega un subformulario a un informe y, después, abre el informe en la vista Informe, puede usar el subformulario para filtrar y navegar por los registros. El código de Visual Basic para Aplicaciones (VBA) y las macros incrustadas que se adjuntan al formulario y sus controles seguirán ejecutándose, aunque algunos eventos estarán deshabilitados en este contexto. No puede agregar, editar o eliminar registros mediante un subformulario en un informe.

Vincular un informe a un subformulario o subinforme

Al insertar un subformulario o subinforme que contiene información relacionada con los datos del informe principal, el control del subinforme debe vincularse al informe principal. El vínculo se asegura de que los registros que aparecen en el subformulario o subinforme se corresponden correctamente con los registros impresos en el informe principal.

Al crear un subformulario o subinforme con un asistente o arrastrando un objeto desde el Panel de navegación a un informe, Access vincula automáticamente el subformulario o subinforme al informe principal si se cumple alguna de las condiciones siguientes.

  • Defina las relaciones de las tablas que seleccione o las de las tablas subyacentes de las consultas que seleccione.

  • El informe principal se basa en una tabla con un clave principal, y el subformulario o subinforme se basa en una tabla que contiene un campo con el mismo nombre que la clave principal y tiene el mismo tipo de datos o uno compatible. Por ejemplo, si la clave principal de la tabla subyacente del informe principal es un campo Autonumeración y la propiedad FiledSize se establece en Entero largo, el campo correspondiente de la tabla subyacente del subformulario o subinforme debe ser un campo numérico con su propiedad FieldSize configurada como Entero largo. Si selecciona una o varias consultas como el origen de registros de un subformulario o subinforme, las tablas subyacentes de la consulta o consultas deben cumplir las mismas condiciones.

Principio de página

Crear un subinforme

Si el subinforme se vincula al informe principal, asegúrese de que los orígenes de registros subyacentes están relacionados antes de usar el siguiente procedimiento.

Usar al Asistente para subinformes para crear un subinforme

Este procedimiento asume que ya tiene un informe al que quiere agregar un subinforme. Para obtener más información sobre cómo crear un informe, consulte los artículos Crear informes sencillos o Crear un informe de resumen o agrupado.

  1. En el Panel de navegación, haga clic con el botón derecho en el informe en el que quiera agregar un subinforme y, después, haga clic en Vista Diseño.

  2. En la pestaña Diseño, en el grupo Controles, abra la galería Controles haciendo clic en la flecha hacia abajo en la esquina inferior derecha:

    Imagen de la cinta de opciones

  3. En el menú que aparece, asegúrese de que la opción Utilizar asistentes para controles está seleccionada.

  4. Vuelva a abrir la Galería de controles y, después, haga clic en Subformulario/subinforme.

  5. En el informe, haga clic en la ubicación en la que desee colocar el subinforme.

  6. Si aparece un cuadro de diálogo de aviso, haga clic en Abrir para iniciar el asistente.

  7. En la primera página del Asistente para subinformes, si desea crear un nuevo subformulario o subinforme basado en una tabla o consulta, haga clic en Usar tablas y consultas existentes. Si hay un formulario o informe existente que desea usar como subinforme, haga clic en Usar un formulario o informe existente, seleccione el informe o formulario en la lista y, después, haga clic en Siguiente.

    Elegir origen de datos en el Asistente para subinformes

    Nota:  Si no hay ningún otro informe o formulario en la base de datos, la lista estará en blanco y la opción Usar un formulario o informe existente no estará disponible.

  8. Si eligió Usar un formulario o informe existente en la página anterior del asistente, omita este paso y vaya directamente al paso 9. En caso contrario, desde la lista Tablas/consultas, seleccione la tabla o consulta que contiene los campos que desee incluir en el subinforme y, después, haga doble clic en los campos que desee en la lista Campos disponibles para agregarlos al subinforme.

    Elegir campos en el Asistente para subinformes

    Si va a vincular el subinforme al informe principal, asegúrese de incluir el campo o campos que se usarán para crear el vínculo, incluso si no desea que se muestren. Normalmente, el campo de vinculación es un campo de id. En la ilustración anterior, la tabla Pedidos es el origen de registros del subinforme y la tabla Clientes es el origen de registros del informe principal. Dado que la tabla Pedidos está relacionada con la tabla Clientes por el campo Id. de cliente, ese campo se agrega a la lista Campos seleccionados.

    Nota: En el subinforme puede incluir campos de varias tablas y consultas. Cuando termine de agregar campos de una tabla, seleccione la siguiente tabla o consulta de la lista Tablas o consultas y, después, agregue los campos que desee.

    Haga clic en Siguiente para continuar.

  9. En esta página del asistente, decida cómo vincular el subinforme al informe principal. Si Access encuentra campos que parecen ser adecuados para vincular el subinforme al informe principal, el asistente mostrará una lista de posibles sugerencias de vinculación.

    Access sugiere campos para vincular en el Asistente para subinformes

    Puede activar la sugerencia de vinculación que parezca más adecuada para su situación o, si no desea que el subinforme se vincule al informe principal, seleccione Ninguna. Si desea vincular el subinforme al informe principal, pero ninguna de las sugerencias parece adecuada, haga clic en Definir uno propio.

    Nota: Si el asistente no puede encontrar campos adecuados para vincular, no proporciona una lista de sugerencias de vinculación y selecciona automáticamente la opción Definir uno propio.

    Definir vínculos propios en el Asistente para subinformes

    Cuando se selecciona la opción Definir uno propio, el asistente muestra dos conjuntos de listas.

    • En Campos del formulario o informe, seleccione los campos en el informe principal que desee usar para vincular el informe principal del subformulario o subinforme. Puede seleccionar hasta tres campos y cada campo que seleccione debe coincidir con un campo relacionado del origen de datos del subformulario o del subinforme.

    • En Campos del subformulario o subinforme, seleccione los campos correspondientes del subformulario o subinforme que se vinculan a los campos del informe principal que ha seleccionado.

    • Para dejar el subformulario o subinforme sin vincular al informe principal, asegúrese de que todas las listas están vacías.

      Haga clic en Siguiente para continuar.

  10. En la última página del asistente, escriba un nombre para el subformulario o subinforme y haga clic en Finalizar para aceptar el valor predeterminado.

    Agregar un nombre en el Asistente para subinformes

Access agrega un control de subinforme al informe y enlaza el control (es decir, configura la propiedad Objeto de origen del control) como sigue:

  • Si seleccionó Usar un formulario o informe existente en la primera página del asistente, Access enlazará el control de subinforme al informe o formulario que haya especificado.

  • Si seleccionó Usar tablas y consultas existentes en la primera página del asistente, Access creará un nuevo objeto de informe en el Panel de navegación y después le enlazará el control del subinforme. El nombre del nuevo objeto informe es el mismo que el que ha escrito en la última página del asistente.

Agregar una tabla, consulta, formulario o informe a un informe como subinforme

Una forma rápida de agregar un subinforme a un informe es abrir el informe principal en la vista Diseño o la vista Presentación y, después, arrastrar un objeto a él desde el Panel de navegación. Si quiere que el subinforme se vincule al informe principal, asegúrese de que los orígenes de registros subyacentes están relacionados y que los orígenes de registros incluyen los campos que se usarán para vincular el subformulario o subinforme al informe principal.

  1. En el Panel de navegación, haga clic con el botón derecho en el informe que quiera usar como el principal y después haga clic en Vista Presentación o Vista Diseño en el menú contextual.

  2. Arrastre una tabla, consulta, formulario u otro informe desde el panel de navegación a la sección del informe principal donde quiera que aparezca el subinforme.

Access realizará una de estas acciones:

  • Si Access puede determinar cómo vincular los dos objetos, Access agregará un control de subinforme al informe. Si usted agrega un formulario o informe, Access enlazará el control de subinforme al objeto. Si usted agrega una tabla o consulta, Access creará primero un objeto informe y, después, enlazará el control de subinforme al nuevo objeto.

  • Si Access no puede determinar cómo vincular los dos objetos, aparecerá el Asistente para subinformes. Para continuar, siga el procedimiento en la sección Usar el Asistente para subinformes para crear un subinforme, empezando por el paso 9.

    Después de completar al asistente, Access agregará el subinforme al informe.

Use este procedimiento para asegurarse de que el subformulario o subinforme está vinculado correctamente al informe principal.

  1. Haga clic en el control de subinforme para seleccionarlo.

  2. Si no se muestra la Hoja de propiedades, presione F4 para mostrarla.

  3. En la pestaña Datos de la hoja de propiedades, examine las propiedades Vincular campos principales y Vincular campos secundarios.

    • Para un subformulario o subinforme no vinculado, ambas propiedades deben estar en blanco.

    • Para un subformulario o subinforme vinculado, las propiedades Vincular campos principales y Vincular campos secundarios deben mostrar los campos relacionados con los dos objetos juntos. Por ejemplo, si el informe principal muestra información de la tabla Empleados y el subformulario o subinforme muestra información de la tabla Pedidos, en la propiedad Vincular campos principales se mostrará el campo Id. de la tabla Empleados y en la propiedad Vincular campos secundarios se mostrará el campo Id. de empleado de la tabla Pedidos.

Es posible que tenga que editar estas propiedades para que el subformulario o subinforme funcione correctamente. Use el siguiente procedimiento:

  1. En la pestaña Datos de la hoja de propiedades, haga clic en el cuadro de propiedades Vincular campos principales y, después, en el botón Crear Imagen del botón .

    Se mostrará el cuadro de diálogo Vinculador de campos de subinforme.

    Cuadro de diálogo Vinculador de campos de subinforme

  2. En las listas Campos principales y Campos secundarios, seleccione los campos a los que quiera vincular los informes. Si no tiene claro qué campos quiere usar, haga clic en Sugerir para que Access intente determinar los campos vinculantes. Cuando acabe, haga clic en Aceptar

    Si no ve el campo que desea usar para vincular el formulario, tendrá que editar el origen de registros del informe principal o del subformulario o subinforme para asegurarse de que contiene el campo de vinculación. Por ejemplo, si el informe está basado en una consulta, debe asegurarse de que el campo de vinculación está en los resultados de la consulta.

  3. Guarde el informe principal, cambie a la vista Informe y, después, compruebe que el informe funciona según lo esperado.

Agregue una tabla o consulta a un informe como una hoja de datos

Una hoja de datos es una representación visual simple de datos, similar a una hoja de cálculo. Cada fila en una hoja de datos representa un registro y cada columna un campo de la consulta o tabla de origen. Puede usar el control Subformulario o subinforme para mostrar una hoja de datos en un informe. Esta es una buena técnica para usar en situaciones donde quiera una presentación compacta de datos pero no necesite las capacidades de formato de un objeto de formulario o informe. Para agregar una hoja de datos a un informe:

  1. En el Panel de navegación, haga clic con el botón derecho en el informe que quiera usar como el principal y después haga clic en Vista Diseño en el menú contextual.

  2. En la pestaña Diseño, en el grupo Controles, abra la galería Controles haciendo clic en la flecha hacia abajo en la esquina inferior derecha:

    Imagen de la cinta de opciones

  3. En el menú que aparece, asegúrese de que la opción Utilizar asistentes para controlesno está seleccionada.

  4. Vuelva a abrir la Galería de controles y, después, haga clic en Subformulario/subinforme.

  5. En el informe, haga clic en la ubicación en la que desee colocar el subinforme.

  6. Si inicia el Asistente para subinformes, haga clic en Cancelar para cerrarla.

  7. Si no se muestra la Hoja de propiedades, presione F4 para mostrarla.

  8. En el informe, haga clic en el nuevo control de subinforme para seleccionarlo.

  9. En la pestaña Datos de la hoja de propiedades, haga clic en la flecha situada en el cuadro de propiedades Objeto de origen y, después, haga clic en la tabla o consulta que desee mostrar en el control de subinforme. Por ejemplo, para mostrar la tabla Pedidos, haga clic en Tabla.Pedidos.

    Access intentará vincular la hoja de datos al informe principal, en función de las relaciones que se definieron en la base de datos.

  10. En la pestaña Datos de la hoja de propiedades, examine las propiedades Vincular campos principales y Vincular campos secundarios.

    • Para una hoja de datos sin vincular, asegúrese de que ambas propiedades están en blanco.

    • Para una hoja de datos vinculada, asegúrese de que las propiedades Vincular campos principales y Vincular campos secundarios muestran los campos que relacionan el informe principal a la hoja de datos. Por ejemplo, si el informe principal muestra información de la tabla Empleados y la hoja de datos muestra información de la tabla Pedidos, la propiedad Vincular campos principales mostrará el campo Id. de la tabla Empleados y la propiedad Vincular campos secundarios mostrará el campo Id. de empleado de la tabla Pedidos.

En algunos casos, es posible que usted deba establecer las propiedades de campo vinculadas. Puede hacerlo mediante el siguiente procedimiento.

  1. En la pestaña Datos de la hoja de propiedades, haga clic en el cuadro de propiedades Vincular campos principales y, después, en el botón Crear Imagen del botón .

  2. Si aparece un cuadro de diálogo de aviso, haga clic en Abrir.

    Se mostrará el cuadro de diálogo Vinculador de campos de subinforme.

    Cuadro de diálogo Vinculador de campos de subinforme

  3. En las listas Campos principales y Campos secundarios, seleccione los campos que quiera usar para vincular el informe principal a la hoja de datos. Si no tiene claro qué campos quiere usar, haga clic en Sugerir para que Access intente determinar los campos vinculantes. Cuando acabe, haga clic en Aceptar

    Si no ve un campo que desee usar para la vinculación, tendrá que editar el origen de registros del informe principal o de la hoja de datos para asegurarse de que contiene el campo de vinculación. Por ejemplo, si la hoja de datos está basada en una consulta, debe asegurarse de que el campo de vinculación está en los resultados de la consulta.

  4. Guarde el informe principal, cambie a la vista Informe y, después, compruebe que el informe funciona según lo esperado.

Principio de página

Realizar cambios de diseño en un subinforme

Después de agregar un subinforme a un informe, es posible que desee realizar cambios de diseño en el subinforme o hacer referencia a datos del subinforme en el informe principal. Las siguientes secciones proporcionan sugerencias sobre cómo realizar estas tareas.

Abrir un subformulario o subinforme en una nueva ventana de la vista Diseño

Para cambiar el diseño de un subformulario o subinforme mientras trabaja en el informe principal en la vista Diseño, puede abrir el subformulario o subinforme en su propia ventana.

  1. Haga clic en el subformulario o subinforme para seleccionarlo.

  2. En la pestaña Diseño, en el grupo Herramientas, haga clic en Subinforme en nueva ventana.

Nota: Este comando no está disponible si el control de subformulario o subinforme está enlazado a una tabla o consulta.

Mostrar un total de un subinforme en el informe principal

Suponga que usa un subinforme llamado Subinforme de pedidos que contiene un cuadro de texto denominado Total de gastos de envío y ese cuadro de texto calcula la suma de la columna Gastos de envío. Para mostrar la suma del subinforme en el informe principal, debe agregar un cuadro de texto al informe principal y, después, usar una expresión para hacer referencia al cuadro de texto Total de gastos de envío en el subinforme. Puede hacerlo mediante el siguiente procedimiento.

  1. Haga clic con el botón derecho en el informe principal en el Panel de navegación y luego haga clic en Vista Diseño en el menú contextual.

  2. En el grupo Controles de la pestaña Diseño, haga clic en Cuadro de texto.

  3. En el informe principal, haga clic en la ubicación en la que desee colocar el nuevo cuadro de texto.

  4. Si no se muestra la Hoja de propiedades, presione F4 para mostrarla.

  5. En la pestaña Datos de la hoja de propiedades, en el cuadro de propiedades Origen del control, escriba la siguiente expresión:

    =SiInm(ESERROR([Subinforme de pedidos].[Informe]![Total de gastos de envío]),0,[Subinforme de pedidos].[Informe]![Total de gastos de envío])

    Notas: 

    • En este ejemplo, podría usar la expresión más sencilla =[Subinforme de pedidos].[Informe]![Total de gastos de envío] pero, si el subinforme no contiene ningún dato, el control en el informe principal muestra #Error. Con la función ESERROR dentro de la función SiInm, como se muestra en la primera expresión, se asegura de que el cuadro de texto en el informe principal muestra un cero (0) si el subinforme no devuelve ningún dato.

    • Puede usar el Generador de expresiones para crear la expresión haciendo clic en el botón Generar Imagen del botón del cuadro de la propiedad Origen del control.

  6. En la pestaña Formato de la hoja de propiedades, establezca la propiedad Formato en el valor correcto (en este caso, Moneda).

  7. Guarde el informe y, después, cambie a la vista Informe para comprobar que el cálculo funciona según lo esperado.

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.

×