Guía de campos multivalor

En la mayoría de los sistemas de administración de bases de datos, se puede almacenar sólo un valor en un campo, incluso en las versiones anteriores de Microsoft Access. En Microsoft Office Access 2007, se puede crear un campo que tenga varios valores, como una lista de categorías a las que se ha asignado un asunto. Los campos multivalor resultan muy útiles en determinadas situaciones, como cuando se utiliza Office Access 2007 para trabajar con información almacenada en una lista de Windows SharePoint Services 3.0, y esa lista contiene un campo que utiliza uno de los tipos de campo multivalor disponibles en Windows SharePoint Services.

En este tema se describen los campos multivalor de Office Access 2007 y Windows SharePoint Services, cómo crear un campo multivalor, cuándo utilizarlo y cómo usar un campo multivalor en una consulta.

En este artículo


Qué es un campo multivalor

Supongamos que tiene que asignar una tarea a uno de sus empleados o contratistas, pero decide que debe asignarla a más de una persona. En Office Access 2007, puede crear un campo multivalor que le permita seleccionar las personas en una lista.

Campo multivalor

Cuando hace clic en el cuadro combinado, las casillas de verificación aparecen activadas para indicar las opciones seleccionadas. Puede activar o desactivar los elementos de la lista y luego hacer clic en Aceptar para enviar las opciones seleccionadas.

Cuadro combinado de campo multivalor

Las personas seleccionadas están almacenadas en el campo multivalor y, cuando se muestran, están separadas por comas de forma predeterminada.

Campo multivalor con valores separados por una coma

La idea que subyace en los campos multivalor es facilitar la compatibilidad de esas instancias en las que se desea seleccionar y almacenar más de una opción, sin tener que crear un diseño de base de datos más avanzado. Los campos multivalor también son importantes para la integración con Windows SharePoint Services porque las listas de SharePoint también admiten este tipo de campos.

Se puede estar preguntando por qué Office Access 2007 permite almacenar más de un valor en un campo, cuando la mayoría de los sistemas de administración de bases de datos relacionales no lo permiten. La respuesta es que el motor de base de datos de Office Access 2007 no almacena en realidad los valores en un único campo. Aunque lo que ve y lo que utiliza parezca estar en un único campo, los valores se almacenan de forma independiente y se administran en tablas de sistema ocultas. El motor de base de datos de Access se encarga de todo, separando los datos automáticamente y reuniéndolos de nuevo en un campo.

Técnicamente hablando, un campo multivalor de Access es similar a una relación varios a varios. Por ejemplo, en una tabla de eventos en la que se asigna la responsabilidad de cada evento a uno o más empleados, supongamos que ha creado un campo multivalor denominado "AsignadoA para asignar los eventos a los empleados. La relación entre los eventos y los empleados es una relación varios a varios. Es decir, puede asignar varios empleados a un evento, y también puede asignar un empleado a varios eventos.

Volver al principio Volver al principio

Campos multivalor en Windows SharePoint Services

Windows SharePoint Services 2.0 admite una columna Opción que permite seleccionar y almacenar más de una opción en un campo. En Windows SharePoint Services 3.0, también puede crear un campo de búsqueda que permite seleccionar y almacenar más de una opción en un campo. Para que Office Access 2007 se integre con Windows SharePoint Services y admita sus tipos de campo, Office Access 2007 implementa la compatibilidad con campos multivalor.

Cuando se vincula a una lista de SharePoint que emplea uno de estos tipos de datos multivalor, Office Access 2007 crea y utiliza automáticamente un tipo de dato multivalor de Access localmente.

Cuando exporta una tabla de Access a una lista de SharePoint y la tabla de Access contiene un campo multivalor, el campo se convierte en uno de los tipos de campo multivalor disponibles en Windows SharePoint Services. De manera similar, cuando mueve una base de datos de Access a un sitio de SharePoint y la base de datos contiene tablas de Access con campos multivalor, cada uno de estos campos multivalor se convierte en uno de los tipos de campo multivalor de Windows SharePoint Services.

Volver al principio Volver al principio

Cuándo utilizar un campo multivalor

Deberá considerar la posibilidad de crear un campo multivalor cuando desee:

  • Almacenar una selección multivalor de una lista de opciones, y esa lista de opciones es relativamente pequeña.

El campo multivalor se crea en Office Access 2007 mediante el Asistente para búsquedas en la vista Diseño de la tabla.

  • Exportar una tabla de Access a un sitio de SharePoint para que utilice los campos de búsqueda u opción multivalor disponibles en Windows SharePoint Services.

El campo multivalor se crea en Office Access 2007 mediante el Asistente para búsquedas en la vista Diseño de la tabla. A continuación, se exporta la tabla a una lista de SharePoint.

  • Mover una base de datos de Access a un sitio de SharePoint para que utilice los campos de búsqueda u opción multivalor disponibles en Windows SharePoint Services.

El campo multivalor se crea en Office Access 2007 mediante el Asistente para búsquedas en la vista Diseño de la tabla. A continuación, haga clic en el comando Mover a SharePoint en la ficha Datos externos.

  • Vincular a una lista de SharePoint que contiene un campo de búsqueda u opción multivalor.

El campo multivalor de Office Access 2007 se crea automáticamente y se asigna al campo de Windows SharePoint Services al crearse la tabla vinculada.

Además de los escenarios anteriores, también puede utilizar un campo multivalor cuando está relativamente seguro de que la base de datos no se va a convertir posteriormente a Microsoft SQL Server. Un campo multivalor de Office Access 2007 se mueve a SQL Server como un campo memo (ntext) que contiene el conjunto delimitado de valores. Como SQL Server no admite un tipo de datos multivalor que imite una relación varios a varios, es posible que se necesite realizar un trabajo de conversión y diseño adicional.

Volver al principio Volver al principio

Cómo crear un campo multivalor

Al abrir una tabla, ésta se abre en la vista Hoja de datos. Puede agregar una columna de búsqueda multivalor haciendo clic en Columna de búsqueda en el grupo Campos y columnas de la ficha Hoja de datos. Esto inicia el Asistente para búsqueda que le guía a través del proceso de creación de la columna de búsqueda.

  1. Haga clic en el botón de Microsoft Office Imagen del botón y, a continuación, haga clic en Abrir.
  1. En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
  2. En el panel de exploración, haga doble clic en la tabla en la que desea crear la columna de búsqueda para abrirla.
  3. En la ficha Hoja de datos, en el grupo Campos y columnas, haga clic en Columna de búsqueda.

Imagen de la cinta de opciones de Access

Aparecerá el Asistente para búsquedas.

Página del Asistente para búsquedas en la que elige la tabla/consulta o lista de valores

  1. En el primer cuadro de diálogo del Asistente para búsquedas, debe decidir si desea basar la columna de búsqueda en los valores de una tabla o consulta, o en una lista de valores que escriba.

El tipo más común de columna de búsqueda multivalor es la que muestra los valores buscados en una tabla o consulta relacionada.

  1. Para saber cómo completar el Asistente para búsquedas, vea Uso del Asistente para búsquedas. Para obtener información más detallada sobre cómo crear campos multivalor, vea Agregar o cambiar una columna de búsqueda que permita almacenar varios valores.

Volver al principio Volver al principio

Uso del Asistente para búsquedas

El Asistente para búsquedas se abre cuando se crea una columna de búsqueda en la vista de hoja de datos, cuando se arrastra un campo desde el panel Lista de campos a una tabla que está abierta en la vista de hoja de datos y, en la vista de diseño, cuando se elige el Asistente para búsquedas en la columna Tipo de datos. El asistente efectúa los pasos necesarios para crear una columna de búsqueda y establece automáticamente las propiedades de campo adecuadas para que coincidan con las opciones elegidas. El asistente crea también relaciones de tablas e índices si es necesario para admitir la columna de búsqueda.

Cuando aparece el asistente, debe decidir si basa la columna de búsqueda en una tabla o consulta, o en una lista de valores que escriba. La mayor parte de las veces, si la base de datos está correctamente diseñada y la información está dividida en tablas basadas en temas, elegirá una tabla o consulta para alimentar la columna de búsqueda.

    Crear la búsqueda multivalor basándose en una tabla o consulta

Al arrastrar un campo desde el panel Lista de campos para crear un campo multivalor, los dos primeros pasos del siguiente procedimiento se realizan automáticamente, por lo que deberá comenzar por el tercer paso.

  1. En el Asistente para búsquedas, haga clic en Deseo que la columna de búsquedas busque los valores en una tabla o consulta y, a continuación, haga clic en Siguiente.
  2. Seleccione una tabla o consulta en la lista y, después, haga clic en Siguiente.
  3. En Campos disponibles, haga clic en el campo que desea incluir en la búsqueda.
  4. Haga clic en el botón que representa el signo "mayor que" (>) para mover los campos seleccionados a la lista Campos seleccionados.
  5. Repita los dos pasos anteriores hasta que aparezcan en la lista Campos seleccionados todos los campos que desee incluir en la búsqueda. A continuación, haga clic en Siguiente.
  6. Si lo desea, seleccione uno de los cuatros campos por el que desee ordenar los elementos de búsqueda y, a continuación, haga clic en Siguiente. Haga clic en el botón Ascendente para cambiar la ordenación de los elementos de búsqueda de orden ascendente a orden descendente. Tenga en cuenta que el nombre del botón cambia a Descendente. Haga clic en el botón de nuevo para revertir el cambio. Haga clic en Siguiente para continuar.
  7. Ajuste el ancho de las columnas del campo de búsqueda si es necesario, y, a continuación, haga clic en Siguiente.
  8. En ¿Desea almacenar varios valores para esta búsqueda?, active la casilla de verificación Permitir varios valores.

 Nota   Esta casilla de verificación debe estar activada para que se puedan almacenar varios valores.

  1. Haga clic en Finalizar.

Al hacer clic en el botón Finalizar, se crea una columna de búsqueda cuyas propiedades de campo se establecen basándose en las opciones elegidas en el Asistente para búsquedas.

  1. Para guardar la tabla, haga clic en el botón de Microsoft Office Imagen del botón y haga clic en Guardar.

    Crear la búsqueda multivalor basándose en valores especificados

  1. En el Asistente para búsquedas, haga clic en Escribiré los valores que desee y, a continuación, haga clic en Siguiente.
  2. Especifique el número de columnas. A continuación, en Col1, escriba cada valor. Para pasar a la fila siguiente, presione la tecla TAB.
  3. Cuando acabe de especificar los valores, haga clic en Siguiente.
  4. En el Asistente para búsquedas, especifique la etiqueta de la columna de búsqueda.
  5. En ¿Desea almacenar varios valores para esta búsqueda?, active la casilla de verificación Permitir varios valores.

 Nota   Esta casilla de verificación debe estar activada para que se puedan almacenar varios valores.

  1. Haga clic en Finalizar.

Al hacer clic en el botón Finalizar, se crea una columna de búsqueda cuyas propiedades de campo se establecen basándose en las opciones elegidas en el Asistente para búsquedas.

  1. Para guardar la tabla, haga clic en el botón de Microsoft Office Imagen del botón y haga clic en Guardar.

Una vez creado el campo multivalor, éste aparece como una lista desplegable de casillas de verificación cuando se ve la tabla en la vista Hoja de datos.

Volver al principio Volver al principio

Modificar el diseño de un campo multivalor

Para obtener información sobre cómo modificar el diseño de campos multivalor, vea el artículo Agregar o cambiar una columna de búsqueda que permita almacenar varios valores.

Volver al principio Volver al principio

Cómo utilizar un campo multivalor en una consulta

Cuando se utiliza un campo multivalor en una consulta, hay que decidir si se desea recuperar el campo multivalor completo con todos los valores separados por comas, o una fila independiente para cada valor. Por ejemplo, supongamos que tiene una tabla denominada Asuntos que contiene un campo denominado AsignadoA que utiliza para asignar los asuntos a los empleados. Puede crear una consulta que contenga el campo AsignadoA de la siguiente manera:

  1. Haga clic en el botón de Microsoft Office Imagen del botón y, a continuación, haga clic en Abrir.
  1. En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
  2. En la ficha Crear, en el grupo Otros, haga clic en Diseño de la consulta.

Imagen de la cinta de opciones de Access

  1. En el cuadro diálogo Mostrar tabla, haga clic en la tabla (en este ejemplo, "Asuntos") que contiene el campo multivalor y, a continuación, haga clic en Agregar.
  2. Haga clic en Cerrar.
  3. Arrastre los campos que desea usar para la cuadrícula de la consulta. En este ejemplo, arrastre el campo Título y el campo multivalor denominado "AsignadoA" a la cuadrícula de la consulta.
  4. En la ficha Diseño, en el grupo Resultados, haga clic en Ejecutar.

El resultado de la consulta será similar a lo que figura a continuación, con una columna que muestra el nombre del asunto y una segunda columna que muestra el campo multivalor:

Resultado de la consulta que muestra los campos Títulos y AsignadoA

Supongamos que desea ver el campo multivalor AsignadoA expandido, de forma que cada valor de AsignadoA aparezca en una fila independiente. Para ello, deberá especificar la propiedad Value agregando la cadena ".Value" a "AsignadoA" en la fila Campo, tal como se muestra aquí en la cuadrícula de la consulta:

Cuadrícula de la consulta que muestra Título y AsignadoA.Value

Si especifica AsignadoA en la fila Campo, Access mostrará todos los valores del campo multivalor en una sola fila cuando ejecute la consulta. Sin embargo, si utiliza la propiedad Value, como en AsignadoA.Value, Access mostrará el campo multivalor de forma expandida de modo que cada valor aparezca en una fila independiente. Puede crear una consulta para ver los valores individuales como éste:

  1. Haga clic en el botón de Microsoft Office Imagen del botón y, a continuación, haga clic en Abrir.
  1. En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
  2. En la ficha Crear, en el grupo Otros, haga clic en Diseño de la consulta.

Imagen de la cinta de opciones de Access

  1. En el cuadro diálogo Mostrar tabla, haga clic en la tabla (en este ejemplo, "Asuntos") que contiene el campo multivalor y, a continuación, haga clic en Agregar.
  2. Haga clic en Cerrar.
  3. Arrastre los campos que desea utilizar (en este ejemplo, el campo multivalor denominado "AsignadoA.Value") a la cuadrícula de la consulta.
  4. En la ficha Diseño, en el grupo Resultados, haga clic en Ejecutar.

El resultado de la consulta será similar a lo que figura a continuación, con una columna que muestra el título del asunto y una segunda columna que muestra AsignadoA.Value:

Resultado de la consulta que muestra el Título y los valores AsignadoA individuales

Para obtener información sobre el uso de campos multivalor en consultas, vea Uso de campos multivalor en consultas.

Volver al principio Volver al principio

 
 
Corresponde a:
Access 2007