En Access, puede crear un campo multivalor que contenga varios valores (hasta 100). También puede crear un campo de búsqueda que muestre un valor descriptivo enlazado a un valor de otro origen de datos. Al consultar un campo de búsqueda o multivalor, hay consideraciones únicas. Para obtener más información, vea Create o eliminar un campo multivalor y Create o eliminar un campo de búsqueda.
En este artículo
Ver el valor enlazado de un campo de búsqueda en una consulta
El valor para mostrar de un campo de búsqueda se muestra automáticamente en la vista Hoja de datos de la consulta de forma predeterminada. Al crear una consulta, puede invalidar este comportamiento para que se muestre el valor enlazado en su lugar. En este ejemplo, supongamos que desea ver el valor enlazado de un campo de búsqueda en una tabla de sede central que "busca" un nombre de estado de Nueva Inglaterra.
-
Abra la consulta en la vista Diseño.
-
En este ejemplo, agregue las tablas Headquarters y NewEngland .
Deben combinarse las dos tablas.
Para obtener más información, vea Combinar tablas y consultas.
-
Arrastre el campo junto con el campo de búsqueda a la cuadrícula de diseño de la consulta. En este ejemplo, agregue el campo City y NEState .
-
Haga clic en el campo búsqueda y, a continuación, en la pestaña Diseño , en el grupo Mostrar u ocultar , haga clic en Hoja de propiedades. En este ejemplo, use el campo NEState .
-
En la hoja de propiedades, seleccione la pestaña Búsqueda y, a continuación, en la propiedad Mostrar control , seleccione Cuadro de texto.
Resultado Ahora, al ver la consulta en la vista Hoja de datos, verá el valor enlazado correspondiente del valor para mostrar.
Usar el valor para mostrar de un campo de búsqueda en una consulta
Al crear un campo de búsqueda, se crea una combinación entre el valor Enlazado y el valor Para mostrar. Aunque no puede usar directamente el valor Mostrar en una consulta, puede usar el valor correspondiente del otro origen de datos. En este ejemplo, supongamos que desea usar el valor para mostrar del campo de búsqueda NEState en la tabla Headquarters de una consulta como criterios.
-
Abra la consulta en la vista Diseño.
-
En este ejemplo, agregue las tablas Headquarters y NewEngland .
Deben combinarse las dos tablas. Para obtener más información, vea Combinar tablas y consultas.
-
Arrastre los campos que desee usar a la cuadrícula de consulta. En este ejemplo, arrastre Ciudad de la tabla Headquarters a la primera columna, NEState de la tabla Headquarters a la segunda columna y StateName de la tabla NewEngland a la tercera columna.
-
Desactive la casilla Mostrar de StateName en la cuadrícula de la consulta.
-
En la cuadrícula de la consulta, en StateName, en la fila Criterios, escriba Vermont.
Los criterios de la consulta se basan en la columna StateName , que, por supuesto, es el mismo valor que el valor Para mostrar, NEState, pero no se muestra en la vista Hoja de datos.
-
En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.
Resultado Solo se muestra la fila que contiene Vermont .
Usar un campo multivalor en una consulta
Al mostrar un campo multivalor en una consulta, puede mostrar el campo multivalor completo que contiene todos los valores separados por comas en una fila o datos acoplados con una fila independiente para cada valor. Por ejemplo, supongamos que tiene una tabla Problemas que contiene un campo Título para cada problema y un campo AsignadoA multivalor para asignar problemas a personas.
Mostrar todos los valores de un campo multivalor en una fila
-
Abra la consulta en la vista Diseño.
-
En este ejemplo, agregue la tabla Problemas .
-
Arrastre los campos a la cuadrícula de diseño de la consulta. En este ejemplo, arrastre el campo Título y el campo multivalor AsignadoA .
-
En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.
Resultado Como es de esperar, una columna muestra el campo Título y la segunda columna muestra el campo AsignadoA multivalor:
Mostrar cada valor de un campo multivalor en una fila (la vista plana)
-
Abra la consulta en la vista Diseño.
-
En este ejemplo, agregue la tabla Problemas .
-
Arrastre los campos a la cuadrícula de consulta. En este ejemplo, arrastre el campo Título y el campo multivalor AssignedTo.Value .
El formato, <> Nombre de campo. Valor, anexa la propiedad Value como la cadena . Valor del campo AsignadoA .
-
En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.
Resultado Los datos se acoplan de manera que el campo Título se repite y cada valor del campo AsignadoA multivalor se muestra en una fila correspondiente:
Agregar criterios a un campo multivalor en una consulta
La colocación de los mismos criterios en la cuadrícula de consulta de distintas columnas de cuadrícula tiene un gran impacto en los resultados de la consulta.
Agregar criterios que muestran todos los valores de un campo multivalor en una fila
Access crea primero un conjunto de resultados y, a continuación, agrega los criterios.
-
Abra la consulta en la vista Diseño.
-
En este ejemplo, agregue la tabla Problemas .
-
Arrastre los campos a la cuadrícula de consulta. En este ejemplo, arrastre el campo Título , el campo multivalor AsignadoA y el campo multivalor AsignadoA.Valor .
-
Desactive la casilla Mostrar de AsignadoA.Valor en la cuadrícula de la consulta.
-
En la cuadrícula de la consulta, en AsignadoA.Valor, en la fila Criterios , escriba "NO David Hamilton".
Resulta útil ver la vista SQL:
SELECT Title, AssignedTo FROM Issues WHERE NOT AssignedTo.Value = “David Hamilton”;
-
En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.
Resultado Los tres problemas no asignados a David Hamilton se muestran en un valor predeterminado.
Agregar criterios que muestran cada valor de un campo multivalor en una fila (la vista plana)
Access crea primero un conjunto de resultados acoplado y, a continuación, agrega los criterios.
-
Abra la consulta en la vista Diseño.
-
En este ejemplo, agregue la tabla Problemas .
-
Arrastre los campos a la cuadrícula de consulta. En este ejemplo, arrastre el campo Título y el campo multivalor AssignedTo.Value .
-
En la cuadrícula de la consulta, en AsignadoA.Valor, en la fila Criterios , escriba NO "David Hamilton".
Resulta útil ver la vista SQL:
SELECT Issues.Title, AssignedTo.Value FROM Issues WHERE NOT AssignedTo.Value = “David Hamilton”
-
En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.
Resultado Cada número no asignado a David Hamilton se muestra en un valor plano.
Agregar varios criterios a un campo multivalor en una consulta
A veces necesita buscar una coincidencia en más de un valor dentro de un campo multivalor. Por ejemplo, supongamos que desea ver los problemas en los que tanto "Kelly Rollin" como "Lisa Miller" están entre los valores del campo AsignadoA
-
Abra la consulta en la vista Diseño.
-
En este ejemplo, agregue la tabla Problemas .
-
Arrastre los campos a la cuadrícula de consulta. En este ejemplo, arrastre el campo Título y el campo multivalor AsignadoA .
-
En la cuadrícula de la consulta, en AsignadoA, en la fila Criterios , escriba "Kelly Rollin" Y "Lisa Miller".
-
En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.
Resultado Se muestran los dos problemas asignados a "Kelly Rollin" y "Lisa Miller".
Agrupar y contar un campo multivalor en una consulta
Para realizar cálculos, agrupar y ordenar los valores almacenados en un campo multivalor, use la> nombre de campo <. Campo De valor. Para obtener más información sobre las consultas de grupo, vea Contar datos mediante una consulta.
Para contar el número de problemas asignados a cada persona
-
Abra la consulta en la vista Diseño.
-
En este ejemplo, agregue la tabla Problemas .
-
Arrastre los campos que desee usar a la cuadrícula de consulta. En este ejemplo, arrastre AsignadoA.Valor a la primera columna y Título a la segunda columna.
-
En la pestaña Diseño, en el grupo Mostrar u ocultar, haga clic en Totales.
Aparece la fila Total en la cuadrícula de consulta. Agrupar por aparece de forma predeterminada en la celda Total debajo de cada campo de la consulta.
-
En la cuadrícula de la consulta, en Título, en la fila Total , haga clic en Recuento.
-
En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.
Resultado El recuento de problemas asignados por persona se muestra en una vista plana.
Para contar cuántos usuarios están asignados a cada problema
-
Abra la consulta en la vista Diseño.
-
En este ejemplo, agregue la tabla Problemas .
-
Arrastre los campos que desee usar a la cuadrícula de consulta. En este ejemplo, arrastre Título a la primera columna y arrastre AsignadoA a la segunda columna.
-
En la pestaña Diseño, en el grupo Mostrar u ocultar, haga clic en Totales.
Aparece la fila Total en la cuadrícula de consulta. Agrupar por aparece de forma predeterminada en la celda Total , debajo del campo Título de la consulta. Expresión aparece de forma predeterminada en la celda Total del campo AsignadoA porque no se puede realizar una operación Agrupar por directamente en un campo multivalor, solo un <nombre de campo>. Campo De valor.
-
En la cuadrícula de la consulta, en Asignadoa, en la fila Total , haga clic en Recuento.
-
En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.
Resultado El número de personas asignadas por problema se muestra en una vista plana.
Usar una consulta de datos anexados con un campo multivalor
Puede insertar un único valor en un campo multivalor mediante una consulta de datos anexados. Por ejemplo, supongamos que desea agregar "Miguel Miguel" al campo AsignadoA multivalor de la tabla Problemas.
Nota Este es el único tipo de consulta Anexar que funciona con un campo multivalor.
-
Abra la consulta en la vista Diseño.
-
Agregue la tabla Problemas .
-
En la pestaña Diseño , haga clic en Anexar.
-
En el cuadro de diálogo Anexar , seleccione Problemas y, a continuación, haga clic en Aceptar.
-
En la fila Anexar a de la cuadrícula de diseño, seleccione AsignadoA.Valor.
-
En la fila Campo de la cuadrícula de diseño, escriba "Miguel Miguel".
-
Para limitar la operación de datos anexados a problemas específicos, agregue un campo a la cuadrícula Diseño(por ejemplo, Título), quite Título de la fila Anexar a y escriba criterios como "Problema 3".
-
En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.
Es posible que Access le pida que confirme si desea anexar la fila seleccionada. Haga clic en Sí para insertar la fila o en No para cancelar.
Resultado "Tom Michaels" se agrega ahora al campo AssignedTo del problema 3.
Importante No puede usar una consulta de datos Anexados que haga referencia a una tabla que contiene un campo multivalor. Por ejemplo, la consulta siguiente no es válida:
INSERT INTO [NewIssues] ( ID, Title, AssignedTo ) SELECT Issues.ID, Issues.Title, Issues.AssignedTo FROM Issues;
Usar una consulta de actualización con un campo multivalor
Puede usar una consulta de actualización para cambiar un único valor de un campo multivalor a otro valor. En este ejemplo, desea actualizar el campo asignadoa multivalor para reemplazar "Kelly Rollin" por "Lisa Miller".
-
Abra la consulta en la vista Diseño.
-
Agregue la tabla Problemas .
-
En la pestaña Diseño , haga clic en Actualizar.
-
Arrastre AssignedTo.Value a la cuadrícula Consulta.
-
En la fila Actualizar a , escriba "Nuria González".
-
En la fila Criterios , escriba "Kelly Rollin".
-
En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.
Es posible que Access le pida que confirme si desea anexar la fila seleccionada. Haga clic en Sí para insertar la fila o en No para cancelar.
Resultado Lisa Miller reemplaza a Kelly Rollin en el campo AsignadoA para todos los problemas correspondientes.
Usar una consulta de eliminación con un campo multivalor
Cuando trabaja con una tabla que contiene un campo multivalor, puede usar una consulta de eliminación para eliminar registros que contienen un valor determinado en un campo multivalor o para eliminar un valor determinado de un campo multivalor en todos los registros de la tabla. En el ejemplo siguiente, supongamos que desea eliminar "David Hamilton" de la tabla Problemas.
Importante Al usar una consulta de eliminación para eliminar un campo multivalor que contiene datos, esos datos se pierden permanentemente, no se puede deshacer la eliminación. Por este motivo, debería realizar una copia de seguridad de la base de datos antes de eliminar campos de tabla u otros componentes de la base de datos.
Para eliminar un valor concreto de un campo multivalor en todos los registros
-
En el grupo Consultas de la pestaña Crear, haga clic en Diseño de la consulta.
-
Agregue la tabla Problemas .
-
Abra la consulta en la vista Diseño.
-
En la pestaña Diseño , haga clic en Eliminar.
-
En la fila Criterios , escriba "David Hamilton".
-
En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.
Es posible que Access le pida que confirme si desea eliminar los registros. Haga clic en Sí para eliminar los registros o en No para cancelar.
Resultado David Hamilton es eliminado por todos los problemas correspondientes.
Eliminar registros que contienen un valor concreto en un campo multivalor
-
En el grupo Consultas de la pestaña Crear, haga clic en Diseño de la consulta.
-
Agregue la tabla Problemas .
-
Abra la consulta en la vista Diseño.
-
En la pestaña Diseño , haga clic en Eliminar grupo.
-
En la pestaña Diseño , en el grupo Resultados , haga clic en la flecha situada debajo de Vista y, a continuación, haga clic en Vista SQL.
-
Escriba la siguiente instrucción SQL:
DELETE FROM Issues WHERE (((Issues.AssignedTo.Value)="David Hamilton"));
Nota En este caso, solo puede usar una instrucción SQL, no la cuadrícula Diseño. Si cambia a la vista de cuadrícula Diseño, Access agrega un asterisco (*) después de la instrucción DELETE, que debe quitar de la vista SQL.
-
En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.
Es posible que Access le pida que confirme si desea eliminar los registros. Haga clic en Sí para eliminar los registros o en No para cancelar.
Resultado Se eliminan todos los problemas en los que se asigna David Hamilton.