Cómo crear una consulta de tablas de referencias cruzadas con campos con varios valores

Moderado: requiere conocimientos básicos de macros, código e interoperabilidad.

Este artículo se aplica únicamente a las bases de datos de Microsoft Access (.accdb y .mdb).
Para obtener una versión de este artículo para Microsoft Access 2000, vea
209143 .
Para obtener una versión de este artículo para Microsoft Access 97, vea
109939 .

Resumen

En una consulta de tabla de referencias cruzadas de Microsoft Access, puede especificar sólo un campo o un cálculo como valor. Es posible que desee mostrar más de un valor en la consulta.

El siguiente ejemplo muestra dos columnas de información por compañía: un recuento del número de pedidos y los totales del pedido por cada año:

Compañía Pedidos: 1998 Total: 1998 Pedidos: 1999 Total: 1999
--------------------------------------------------------------
Compañía ABC 12 855,00 $ 15 1010,25 $
Compañía XYZ 1017 22045,57 $ 1050 25345,29 $
Este tipo de consulta a veces se denomina consulta de campo de múltiples valores.

Más información

Para crear una consulta de tabla de referencias cruzadas de múltiples valores, debe crear una consulta de tabla de referencias cruzadas independiente para cada valor que desee calcular. A continuación, puede utilizar una consulta de selección para unir estas consultas de tabla de referencias cruzadas para mostrar los resultados que desea.

El siguiente ejemplo utiliza la base de datos de ejemplo Neptuno.mdb para crear una consulta que muestra resultados similares a los del ejemplo de la sección "Resumen" de este artículo. Muestra el número de ventas y el total anual para cada compañía.
  1. Abra la base de datos de ejemplo Neptuno.mdb y cree la siguiente consulta de tabla de referencias cruzadas, basada en las tablas Pedidos, Detalles de pedido y Clientes:

    Consulta: Total del pedido
    ------------------
    Tipo: Crosstab Query
    Combinar: Clientes.[IdCliente] <-> Pedidos.[IdCliente]
    Combinar: Pedidos.[IdPedido] <-> Detalles de pedido.[IdPedido]

    Campo: NombreCompañía
    Nombre de tabla: Clientes
    Total: Agrupar por
    Referencia cruzada: Encabezado de fila

    Campo: Expr1: Año([FechaPedido]) & " " & "Total del pedido"
    Nombre de tabla:
    Total: Agrupar por
    Referencia cruzada: Encabezado de columna

    Campo: Expr2: Sum(CMoneda([PrecioUnidad]*[Cantidad]*(1-[Descuento])))
    Nombre de tabla:
    Total: Expresión
    Referencia cruzada: Valor
  2. Guarde esta consulta como Total del pedido.
  3. Cree la siguiente consulta de tabla de referencia cruzada, basada en las tablas Pedidos y Clientes:

    Consulta: Número de pedidos
    ------------------
    Tipo: Crosstab Query
    Combinar: Clientes.[IdCliente] <-> Pedidos.[IdCliente]

    Campo: NombreCompañía
    Nombre de tabla: Clientes
    Total: Agrupar por
    Referencia cruzada: Encabezado de fila

    Campo: Expr1: Año([FechaPedido]) & " " & "Número de pedidos"
    Nombre de tabla:
    Total: Agrupar por
    Referencia cruzada: Encabezado de columna


    Campo: IdPedido
    Nombre de tabla: Pedidos
    Total: Número
    Referencia cruzada: Valor
  4. Guarde esta consulta como Número de pedidos.
  5. Cree una consulta basada en las consultas de tablas de referencias cruzadas Total del pedido y Número de pedidos. Utilice los campos NombreCompañía, Total del pedido y Número de pedidos correspondientes a los años para los que desea obtener resultados. En el siguiente ejemplo se utilizan los dos últimos años de Total del pedido y Número de pedidos en Microsoft Access.

    Consulta: Múltiples valores
    ----------------------
    Combinar: Total del pedido.[NombreCompañía] <-> Número de pedidos.[NombreCompañía]

    Campo: NombreCompañía
    Nombre de tabla: Número de pedidos

    Campo: Número de pedidos en 1997
    Nombre de tabla: Número de pedidos

    Campo: Total del pedido en 1997
    Nombre de tabla: Total del pedido

    Campo: Número de pedidos en 1998
    Nombre de tabla: Número de pedidos

    Campo: Total del pedido en 1998
    Nombre de tabla: Total del pedido
  6. Al ejecutar la consulta de múltiples valores verá una tabla parecida a la siguiente:

    Pedido 1997 Pedido 1997 Pedido 1998 Pedido 1998
    Compañía Número Total Número Total
    --------------------------------------------------------------------
    Alfred's Futterkiste 3 2.022,50 $ 3 2.022,50 $
    Ana Trujillo 2 799,75 $ 1 514,10 $
    Antonio Moreno 5 5.960,78 $ 1 660,00 $
    NOTA
    Debe agregar el nombre de la tabla a la expresión si el campo especificado para el encadenamiento existe en más de una de las tablas que se unen en la consulta. Por ejemplo, en el paso 1 cambiaría:
    Año([FechaPedido]) & " " & "Total del pedido" 
    a:
    Año([Pedidos].[FechaPedido]) & " " & "Total del pedido" 
    Si agrega el nombre de la tabla a la fila Tabla, genera un error de sintaxis. Si omite el nombre de la tabla, genera un error de referencia ambigua.

Referencias

Para obtener más información acerca de las consultas de tabla de referencias cruzadas, haga clic en Ayuda de Microsoft Office Access en el menú Ayuda, escriba consultas de tabla de referencias cruzadas en el Ayudante de Office o en el Asistente para Ayuda y, a continuación, haga clic en Buscar para ver los temas que se encuentran.
Propiedades

Id. de artículo: 304458 - Última revisión: 31 oct. 2008 - Revisión: 1

Comentarios