Estás trabajando sin conexión, espera a que vuelva la conexión a Internet

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

Ha finalizado el soporte técnico para Office 2003

Microsoft puso fin al soporte técnico para Office 2003 el 8 de abril de 2014. Este cambio ha afectado a las actualizaciones de software y las opciones de seguridad. Sepa qué significa esto en su caso y cómo puede mantenerse protegido.

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.
ACC2002 reviewdocid ACC2007
Propiedades

Id. de artículo: 304458 - Última revisión: 04/23/2007 15:32:15 - Revisión: 6.1

Microsoft Office Access 2007, Microsoft Office Access 2003, Microsoft Access 2002 Standard Edition

  • kbquery kbhowto KB304458
Comentarios
tml>