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 una búsqueda o un campo multivalor, existen consideraciones únicas. Para obtener más información, vea Crear o eliminar un campo multivalor y Crear o eliminar un campo de búsqueda.
En este artículo
- Ver el valor dependiente de un campo de búsqueda en una consulta
- Usar el valor de visualización de un campo de búsqueda en una consulta
- Usar un campo multivalor en una consulta
- Agregar criterios a un campo multivalor en una consulta
- Agregar varios criterios a un campo multivalor en una consulta
- Agrupar y contar un campo multivalor en una consulta
- Usar una consulta Anexar con un campo multivalor
- Usar una consulta de actualización con un campo multivalor
- Usar una consulta de eliminación con un campo multivalor
Ver el valor dependiente de un campo de búsqueda en una consulta
El valor de visualización de un campo de búsqueda se muestra automáticamente en la vista de 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 dependiente de un campo Búsqueda en una tabla 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.
Se deben unir las dos tablas.
Para obtener más información, vea Unir tablas y consultas.
Arrastre el campo a junto con el campo Búsqueda a la cuadrícula de diseño de la consulta. En este ejemplo, agregue el campo Ciudad y Estado .
Haga clic en el campo de 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, utilice el campo NEState .
En la hoja de propiedades, seleccione la pestaña Búsqueda y, a continuación, en la propiedad Control de pantalla , seleccione Cuadro de texto.
Resultado Ahora, cuando vea la consulta en la vista Hoja de datos, verá el valor vinculado correspondiente del valor de visualización.
Usar el valor de visualización de un campo de búsqueda en una consulta
Cuando se crea un campo de búsqueda, se crea una combinación entre el valor Dependiente y el valor 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 de visualización del campo de búsqueda, NEState, en la tabla Sede central en una consulta como criterios.
Abra la consulta en la vista Diseño.
En este ejemplo, agregue las tablas Headquarters y NewEngland.
Se deben unir las dos tablas. Para obtener más información, vea Unir tablas y consultas.Arrastre los campos que quiera usar a la cuadrícula de consulta. En este ejemplo, arrastre Ciudad desde la tabla Sede a la primera columna, NEState desde la tabla Sede a la segunda columna y EstadoNombre desde la tabla NewEngland a la tercera columna.
Desactive la casilla Mostrar del NombreDeEstado en la cuadrícula de consulta.
En la cuadrícula de consulta, en StateName, en la fila Criterios, escriba Vermont.
Los criterios de consulta se basan en la columna StateName , que, por supuesto, es el mismo valor que el valor de visualización, 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 planos con una fila independiente para cada valor. Por ejemplo, imagine que tiene una tabla Problemas que contiene un campo Título para cada problema y un campo multivalor AssignedTo 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 AssignedTo .
- En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.
Resultado Como cabría esperar, una columna muestra el campo Título y la segunda columna muestra el campo multivalor AssignedTo :
Mostrar cada valor de un campo multivalor en una fila (la vista aplanada)
- 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, <Fieldname>. Anexa la propiedad Value como la cadena . valor del campo AssignedTo . - En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.
Resultado Los datos se aplanan de modo que el campo Título se repite y cada valor del campo multivalor Asignado a 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 la consulta en columnas de cuadrícula diferentes tiene un gran impacto en los resultados de la consulta.
Agregar criterios que muestran todos los valores de un campo multivalor en una fila
En primer lugar, Access crea 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 AssignedTo y el campo multivalor AssignedTo.Value .
Desactive la casilla Mostrar del valor Asignado en la cuadrícula de consulta.
En la cuadrícula de consulta, en AssignedTo.Value, en la fila Criterios , escriba "NOT "David Hamilton".
Es ú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 con un valor predeterminado.
Agregue criterios que muestren cada valor de un campo multivalor en una fila (la vista aplanada)
En primer lugar, Access crea un conjunto de resultados plano 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 consulta, en AssignedTo.Value, en la fila Criterios , escriba NOT "David Hamilton".
Es ú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 problema no asignado a David Hamilton se muestra en un valor plano.
Agregar varios criterios a un campo multivalor en una consulta
A veces, debe buscar una coincidencia en más de un valor dentro de un campo multivalor. Por ejemplo, supongamos que desea ver esos problemas en los que tanto "Kelly Rollin" como "Lisa Miller" se encuentran entre los valores del campo AssignedTo
- 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 .
- En la cuadrícula de 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 esos dos números asignados a "Kelly Rollin" y "Lisa Miller".
Agrupar y contar un campo multivalor en una consulta
Para realizar cálculos, agrupaciones y ordenación de valores almacenados en un campo multivalor, utilice el nombre> de campo<. campo de valor. Para obtener más información sobre las consultas de grupo, consulte Recuento de 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 quiera usar a la cuadrícula de consulta. En este ejemplo, arrastre AssignedTo.Value 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.
La fila Total aparece 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 consultas, en Título, en la fila Total , haga clic en Contar.
- 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 aplanada.
Para contar cuántas personas se asignan a cada problema
- Abra la consulta en la vista Diseño.
- En este ejemplo, agregue la tabla Problemas .
- Arrastre los campos que quiera usar a la cuadrícula de consulta. En este ejemplo, arrastre Título a la primera columna y Asignado a la segunda columna.
- En la pestaña Diseño, en el grupo Mostrar u ocultar, haga clic en Totales.
La fila Total aparece en la cuadrícula de consulta. Agrupar por aparece de forma predeterminada en la celda Total en el campo Título de la consulta. De forma predeterminada, la expresión aparece en la celda Total del campo Asignado, ya que no se puede realizar una operación Agrupar por directamente en un campo multivalor, solo un <FieldName>. campo de valor. - En la cuadrícula de consultas, en Asignado a, en la fila Total , haga clic en Contar.
- En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.
Resultado El recuento de personas asignadas por problema se muestra en una vista aplanada.
Usar una consulta Anexar con un campo multivalor
Puede insertar un valor único en un campo multivalor mediante una consulta de datos anexados. Por ejemplo, imagine que desea agregar "Tom Michaels" al campo multivalor AssignedTo de la tabla Problemas.
Nota Este es el único tipo de consulta de datos anexados 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 AssignedTo.Value.
- En la fila Campo de la cuadrícula de diseño, escriba "Tom Michaels".
- Para limitar la operación de anexión a problemas específicos, agregue un campo a la cuadrícula de diseño, como Título, quite Título de la fila Anexar a y, a continuación, escriba criterios como "Problema 3".
- En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.
Access puede pedirle que confirme si desea anexar la fila seleccionada. Haga clic en Sí para insertar la fila o en No para cancelar.
Resultado Ahora se agrega "Tom Michaels" al campo AssignedTo para el número 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 valor único de un campo multivalor a otro valor. En este ejemplo, desea actualizar el campo multivalor AssignedTo 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 de consulta.
- En la fila Actualizar a , escriba "Lisa Miller".
- En la fila Criterios , escriba "Kelly Rollin".
- En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.
Access puede pedirle 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 AsignadasA 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 los registros que contienen un valor determinado en un campo multivalor o para eliminar un valor concreto 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, se pierden esos datos de forma permanente y 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 de 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.
Access puede pedirle 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 particular 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 bajo Vista y, después, 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 de diseño. Si cambia a la vista de cuadrícula de 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.
Access puede pedirle 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.