Crear y utilizar subinformes

Importante:  Este artículo se ha traducido con traducción automática; vea la declinación de responsabilidades. Para su referencia, puede encontrar la versión en inglés de este artículo aquí.

Cuando trabaja con datos relacionales (donde los datos relacionados están almacenados en diferentes tablas), a menudo necesita ver información de más de una tabla o consulta en el mismo informe. Por ejemplo, desea ver los datos del cliente y también desea ver la información sobre los pedidos del cliente. Los subinformes son una herramienta útil porque permiten mostrar de manera lógica y legible la información de los pedidos en el informe con la información del cliente. Microsoft Office Access 2007 incluye muchas formas de ayudar a crear rápidamente subinformes.

¿Qué desea hacer?

Comprender subinformes

Crear un subinforme

Realizar cambios de diseño en un subinforme

Comprender los subinformes

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

Sugerencia: En Access 2010, informes tienen buen aspecto y diseños de control, que ayuda a mantener las cosas alineadas!

Ejemplo de un informe principal independiente con dos subinformes no relacionados   

Un informe principal independiente no puede mostrar datos propios, pero puede servir como informe principal para los subinformes no relacionados que se van a combinar.

Informe principal independiente con dos subinformes que muestran datos no relacionados

1. El informe principal independiente contiene dos subinformes.

2. Uno de los subinformes resume las ventas por empleado.

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

Ejemplo de un informe principal y subinforme enlazados al mismo origen de registros   

Puede utilizar el informe principal para mostrar registros de detalle, como cada venta de un año y, a continuación, utilizar un subinforme para mostrar información de resumen, como las ventas totales de cada trimestre.

Informe principal y subinforme enlazados al mismo origen de registros

1. El subinforme resume las ventas anuales por trimestre.

2. El informe principal muestra las ventas diarias.

Ejemplo de un informe principal y subinforme enlazados a orígenes de registros relacionados   

Un informe principal puede contener datos comunes de uno o varios subinformes. En este caso, el subinforme contiene datos que están relacionados con los datos del informe principal.

Informe principal con dos subinformes que muestran datos relacionados

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

2. El subinforme muestra los representantes que van a asistir a cada feria.

Subformularios de un informe

Un informe principal puede incluir subformularios además 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.

Si agrega un subformulario a un informe y, a continuación, abre el informe en la vista Informe, podrá utilizar el subformulario para filtrar y desplazarse por los registros. El código de Visual Basic para Aplicaciones (VBA) y las macros incrustadas que están asociadas al formulario y sus controles seguirán ejecutándose, si bien algunos eventos están deshabilitados en este contexto. No se pueden agregar, modificar o eliminar registros utilizando un subformulario en un informe.

Vincular un informe a un subformulario o subinforme

Cuando se inserta un subformulario o subinforme que contiene información que está relacionada con datos del informe principal, el control del subinforme debe estar vinculado al informe principal. El vínculo garantiza que los registros mostrados en el subformulario o subinforme corresponden correctamente a los registros impresos en el informe principal.

Cuando se crea un subformulario o subinforme mediante un asistente o arrastrando un objeto desde el panel de exploración hasta un informe, Access vincula automáticamente el subformulario o subinforme al informe principal si se cumple alguna de las siguientes condiciones.

  • Definir relaciones para las tablas seleccionadas o definir relaciones para las tablas de base de las consultas que seleccione.

    Para obtener más información sobre cómo crear relaciones, vea los vínculos en la sección Vea también.

  • El informe principal se basa en una tabla con una clave principaly el subformulario o subinforme se basa en una tabla que contiene un campo con el mismo nombre que esa clave principal y que tiene un tipo de datos idéntico o compatible. Por ejemplo, si la clave principal de la tabla subyacente del informe principal es un campo Autonumérico y su propiedad TamañoDelCampo está configurada en Entero largo, el campo correspondiente en la tabla subyacente del subformulario o subinforme debe ser un campo numérico con su propiedad TamañoDelCampo establecida en Entero largo. Si selecciona una o varias consultas como origen de registros de un subformulario o subinforme, las tablas subyacentes de las consultas deben cumplir las mismas condiciones.

Volver al principio

Crear un subinforme

Si el subinforme se pueden vincular al informe principal, asegúrese de que los orígenes de registros subyacentes están relacionados antes de utilizar el procedimiento siguiente. Para obtener más información sobre cómo crear relaciones, vea los vínculos de la sección Vea también.

Utilizar el Asistente para subinformes para crear un subinforme

  1. Abra el informe que desee utilizar como informe principal en la vista Diseño.

  2. En la ficha Diseño, en el grupo controles, asegúrese de que Imagen de botón de Utilizar asistentes para controles está seleccionada. Imagen de botón

  3. En la ficha Diseño, en el grupo controles, haga clic en Subformulario/subinforme Imagen de botón .

  4. En el informe, haga clic en el lugar donde desee colocar el subinforme.

  5. En la primera página del Asistente para subinformes, si desea crear un nuevo subformulario o subinforme y basarlo en una tabla o consulta, haga clic en Usar tablas y consultas existentes. Si hay un informe o formulario existente que desee utilizar como subinforme, haga clic en Usar un formulario o informe existente, seleccione el informe o formulario en la lista y, a continuación, haga clic en Siguiente.

    Elegir origen de datos en el Asistente para subinformes

  6. Si eligió Usar un formulario o informe existente en la página anterior del asistente, omita este paso y vaya directamente al paso 7. De lo contrario, en la lista Tablas/Consultas, seleccione la tabla o consulta que contenga los campos que desee incluir en el subinforme y, a continuación, 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 piensa vincular el subinforme al informe principal, no olvide incluir los campos que se van a utilizar para crear el vínculo, incluso si no desea que se muestren. Normalmente, el campo de vinculación es un campo 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: Puede incluir en el informe campos de varias tablas y consultas. Cuando termine de agregar campos de una tabla, seleccione la siguiente tabla o consulta en la lista Tablas/Consultas y, a continuación, agregue los campos que desee.

    Haga clic en Siguiente para continuar.

  7. En esta página del asistente, se determina cómo se va a vincular el subinforme al informe principal. Si Access encuentra campos que parecen apropiados 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 seleccionar la sugerencia de vinculación que más se ajuste a su caso, o bien, si no desea vincular el subinforme al informe principal, seleccione Ninguno. Si desea vincular el subinforme al informe principal pero ninguna de las sugerencias parece apropiada, haga clic en Definir la mía propia.

    Nota: Si el asistente no encuentra campos apropiados para la vinculación, no proporcionará una lista de sugerencias de vinculación y seleccionará automáticamente la opción Definir la mía propia.

    Definir vínculos propios en el Asistente para subinformes

    Cuando está seleccionada la opción Definir la mía propia, el asistente muestra dos conjuntos de listas.

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

    • Bajo Campos del subformulario/subinforme, seleccione los campos correspondientes del subformulario o subinforme que están vinculados a los campos seleccionados del informe principal.

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

      Haga clic en Siguiente para continuar.

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

    Agregar un nombre en el Asistente para subinformes

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

  • Si seleccionó Usar un formulario o informe existente en la primera página del asistente, Access enlaza 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 crea un nuevo objeto de informe en el panel de exploración y, a continuación, enlaza el control de subinforme a ese objeto. El nombre del nuevo objeto de informe es igual que el nombre escrito en la última página del asistente.

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

Es una forma rápida de agregar un subinforme a un informe abrir el informe principal en la vista Diseño y, a continuación, arrastre un objeto desde el panel de navegación a él. Si desea que el subformulario o subinforme vinculado al informe principal, asegúrese de que están relacionados con los orígenes de registros subyacentes y que los orígenes de registros incluyen los campos que se usan para vincular el subformulario o subinforme al informe principal. Para obtener más información sobre cómo crear relaciones, vea los vínculos de la sección Vea también.

  1. En el panel de exploración, haga clic con el botón secundario del mouse (ratón) en el informe que desee utilizar como informe principal y, a continuación, haga clic en Vista Diseño en el menú contextual.

  2. Arrastre una tabla, una consulta, un formulario u otro informe desde el panel de exploración hasta la sección del informe principal donde debe aparecer el subinforme.

Access realiza una de las siguientes acciones:

  • Si Access puede determinar cómo se van a vincular los dos objetos, agregará al informe un control de subinforme. Si se agrega un formulario o informe, Access enlazará a ese objeto el control de subinforme. Si se agrega una tabla o consulta, Access creará primero un objeto de informe y, a continuación, enlazará el control de subinforme a ese nuevo objeto.

  • Si Access no puede determinar cómo vincular dos objetos, aparecerá el Asistente para subinformes. Para continuar, siga el procedimiento descrito en la sección crear un subinforme, comenzando con el paso 7.

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

Siga el procedimiento que se describe a continuación para comprobar que el subformulario o subinforme está vinculado correctamente al informe principal.

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

  2. Si aún no se muestra la hoja de propiedades, presione F4 para mostrarla.

  3. En la ficha Datos de la hoja de propiedades, compruebe las propiedades Vincular campos principales y Vincular campos secundarios.

    • En el caso de un subformulario o subinforme no vinculado, ambas propiedades deben estar vacías.

    • En el caso de un subformulario o subinforme vinculado, las propiedades Vincular campos principales y Vincular campos secundarios deben mostrar los campos que relacionan los dos objetos. 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, la propiedad Vincular campos principales debe mostrar el campo Id. de la tabla Empleados y la propiedad Vincular campos secundarios debe mostrar el campo Id. de empleado de la tabla Pedidos.

Puede que estas propiedades deban modificarse para que el subformulario o subinforme funcione correctamente. Siga este procedimiento.

  1. En la pestaña datos de la hoja de propiedades, haga clic en el cuadro de propiedad Vincular campos principales y, a continuación, haga clic en Botón Generador .

    Aparece 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 desee vincular los informes. Si no está seguro de los campos que debe utilizar, haga clic en Sugerir para que Access intente determinar los campos de vinculación. Cuando termine, haga clic en Aceptar.

    Si no ve el campo que desee utilizar para vincular el informe, deberá editar el origen de registros del informe principal o del subformulario o subinforme para asegurar que contiene el campo de vinculación. Por ejemplo, si el informe se basa en una consulta, debe asegurarse de que el campo de vinculación esté presente en los resultados de la consulta.

  3. Guarde el informe principal y cambie a la vista Informe. A continuación, compruebe que el informe funciona según lo previsto.

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

Una hoja de datos es una simple representación visual de datos, similar a una hoja de cálculo. Cada columna de una hoja de datos representa un campo de la tabla o consulta de origen, y cada fila representa un registro. Puede utilizar el control Subformulario/Subinforme para mostrar una hoja de datos en un informe. Esta técnica se presta especialmente cuando se desea obtener una presentación compacta de los datos pero no se requieren las funciones de formato de un objeto de formulario o informe. Para agregar una hoja de datos a un informe:

  1. En el panel de exploración, haga clic con el botón secundario del mouse (ratón) en el informe que desee utilizar como informe principal y, a continuación, haga clic en Vista Diseño en el menú contextual.

  2. En la ficha Diseño, en el grupo controles, asegúrese de que la opción Utilizar asistentes para controles no está seleccionada. Imagen de botón

  3. En la ficha Diseño, en el grupo controles, haga clic en la herramienta de Subformulario/subinforme Imagen de botón .

  4. En el informe, haga clic en el lugar donde desee colocar el subinforme.

  5. Si se inicia el Asistente para subinformes, haga clic en Cancelar para cerrarlo.

  6. Si aún no se muestra la hoja de propiedades, presione F4 para mostrarla.

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

  8. En la ficha Datos de la hoja de propiedades, haga clic en la flecha situada en el cuadro de la propiedad Objeto origen y, a continuación, 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 intenta vincular la hoja de datos al informe principal de acuerdo con las relaciones definidas en la base de datos.

  9. En la ficha Datos de la hoja de propiedades, compruebe las propiedades Vincular campos principales y Vincular campos secundarios.

    • Para una hoja de datos no vinculada, asegúrese de que ambas propiedades estén en blanco.

    • En el caso de una hoja de datos vinculada, asegúrese de que las propiedades Vincular campos principales y Vincular campos secundarios muestren los campos que relacionan el informe principal con 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 debe mostrar el campo Id. de la tabla Empleados y la propiedad Vincular campos secundarios debe mostrar el campo Id. de empleado de la tabla Pedidos.

En algunos casos, es posible que tenga que configurar usted mismo las propiedades de los vínculos de campo. Para ello, siga este procedimiento.

  1. En la pestaña datos de la hoja de propiedades, haga clic en el cuadro de propiedad Vincular campos principales y, a continuación, haga clic en Botón Generador .

    Aparece 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 que desee utilizar para vincular el informe principal a la hoja de datos. Si no está seguro de los campos que debe utilizar, haga clic en Sugerir para que Access intente determinar los campos de vinculación. Cuando termine, haga clic en Aceptar.

    Si no ve el campo que desee utilizar para la vinculación, deberá editar el origen de registros del informe principal o la hoja de datos para asegurar que contiene el campo de vinculación. Por ejemplo, si la hoja de datos se basa en una consulta, debe asegurarse de que el campo de vinculación esté presente en los resultados de la consulta.

  3. Guarde el informe principal y cambie a la vista Informe. A continuación, compruebe que el informe funciona según lo previsto.

Volver al principio

Realizar cambios de diseño en un subinforme

Después de agregar un subinforme a un informe, quizás desee realizar cambios de diseño en el subinforme o hacer referencia a datos del subinforme en el informe principal. En las secciones siguientes se proporcionan sugerencias sobre cómo llevar a cabo estas tareas.

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

Para realizar cambios de diseño en un subformulario o subinforme mientras trabaja en su 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 ficha Diseño, en el grupo Herramientas, haga clic en subinforme en nueva ventana Imagen de botón .

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

Supongamos que utiliza un subinforme denominado Pedidos que contiene el cuadro de texto Total de gastos de envío, y que 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, a continuación, utilizar una expresión para hacer referencia al cuadro de texto Total de gastos de envío en el subinforme. Para ello, puede seguir este procedimiento.

  1. Haga clic con el botón secundario del mouse (ratón) en el informe principal en el panel de exploración y, a continuación, haga clic en Vista Diseño en el menú contextual.

  2. En la ficha Diseño, en el grupo controles, haga clic en Cuadro de texto. Imagen de botón

  3. En el informe principal, haga clic en el lugar donde desee colocar el nuevo cuadro de texto.

  4. Si aún no se muestra la hoja de propiedades, presione F4 para mostrarla.

  5. En la ficha Datos de la hoja de propiedades, en el cuadro de la propiedad Origen del control, escriba la siguiente expresión.

    = Silnm (ESERROR ([subinforme de pedidos]. [ ¡Informe]! [Envío precio Total]), 0, [subinforme pedidos]. [Informe]! [Total de gastos de envío])

    Notas: 

    • En este ejemplo, podría usar la expresión más sencilla = [pedidos subinforme]. [ ¡Informe]! [Total de gastos de envío] pero, si el subinforme no contiene ningún dato, el control en el informe principal muestra #Error. Usar la función IsError dentro de la función IIf , como se muestra en la primera expresión, garantiza 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, haga clic en Botón Generador en el cuadro de propiedad Origen del Control.

  6. En la ficha Formato de la hoja de propiedades, establezca la propiedad Formato en el valor apropiado (en este caso, Moneda).

  7. Guarde el informe y, a continuación, cambie a la vista Informe para comprobar que el cálculo funciona según lo previsto.

Volver al principio

Nota: Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.

Ampliar sus conocimientos
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.

×