No Access, você pode criar um campo multivalorizado que contém vários valores (até 100). Você também pode criar um campo Pesquisa que exibe um valor amigável ao usuário associado a um valor em outra fonte de dados. Ao consultar uma pesquisa ou um campo multivalido, há considerações exclusivas. Para obter mais informações, consulte Create ou exclua um campo multivalued e Create ou exclua um campo de pesquisa.
Neste artigo
Exibir o valor vinculado de um campo Pesquisa em uma consulta
O valor de exibição de um campo Pesquisa é mostrado automaticamente na exibição de folha de dados de consulta por padrão. Ao criar uma consulta, você pode substituir esse comportamento para que o valor vinculado seja mostrado em vez disso. Neste exemplo, suponha que você queira ver o valor vinculado de um campo De pesquisa em uma tabela do Headquarters que "pesquisa" um nome de estado da Nova Inglaterra.
-
Abra a consulta no Modo de Exibição de Design.
-
Neste exemplo, adicione tabelas do Headquarters e NewEngland .
As duas tabelas devem ser unidas.
Para obter mais informações, confira Juntar tabelas e consultas.
-
Arraste um campo junto com o campo Pesquisa até a grade de design da consulta. Neste exemplo, adicione o campo City e NEState .
-
Clique no campo Pesquisa e, na guia Design , no grupo Mostrar/Ocultar , clique em Folha de Propriedades. Neste exemplo, use o campo NEState .
-
Na folha de propriedades, selecione a guia Pesquisa e, em seguida, na propriedade Controle de Exibição , selecione Caixa de Texto.
Resultado Agora, ao exibir a consulta no Modo de Exibição de Folha de Dados, você verá o valor correspondente vinculado do valor de exibição.
Usar o valor de exibição para um campo Pesquisa em uma consulta
Quando você cria um campo Pesquisa, uma junção é criada entre o valor Bound e o valor De exibição. Embora você não possa usar diretamente o valor De exibição em uma consulta, você pode usar o valor correspondente da outra fonte de dados. Neste exemplo, suponha que você queira usar o valor de exibição do campo Pesquisa, NEState, na tabela Sede em uma consulta como critérios.
-
Abra a consulta no Modo de Exibição de Design.
-
Neste exemplo, adicione as tabelas Headquarters e NewEngland .
As duas tabelas devem ser unidas. Para obter mais informações, confira Juntar tabelas e consultas.
-
Arraste os campos que você deseja usar para a grade de consulta. Neste exemplo, arraste City da tabela Headquarters para a primeira coluna, NEState da tabela Headquarters para a segunda coluna e StateName da tabela NewEngland para a terceira coluna.
-
Desmarque a caixa Mostrar marcar do StateName na grade de consulta.
-
Na grade de consulta, em StateName, na linha Critérios, insira Vermont.
Os critérios de consulta baseiam-se na coluna StateName , que, naturalmente, é o mesmo valor que o valor de exibição, NEState, mas não é mostrado no Modo de Exibição de Folha de Dados.
-
Na guia Design, no grupo Resultados, clique em Executar.
Resultado Somente a linha que contém Vermont é mostrada.
Usar um campo multivalido em uma consulta
Ao exibir um campo multivalido em uma consulta, você pode exibir o campo multivalued completo contendo todos os valores separados por vírgulas em uma linha ou dados achatados com uma linha separada para cada valor. Por exemplo, suponha que você tenha uma tabela De problemas que contenha um campo Título para cada problema e um campo AtribuídoTo multivalorizado para atribuir problemas às pessoas.
Exibir todos os valores em um campo multivalido em uma linha
-
Abra a consulta no Modo de Exibição de Design.
-
Neste exemplo, adicione a tabela Problemas .
-
Arraste os campos para a grade de design da consulta. Neste exemplo, arraste o campo Título e o campo AssignedTo multivalued.
-
Na guia Design, no grupo Resultados, clique em Executar.
Resultado Como era de se esperar, uma coluna exibe o campo Título e a segunda coluna exibe o campo AssignedTo multivalued:
Exibir cada valor de um campo multivalorizado em uma linha (a exibição achatada)
-
Abra a consulta no Modo de Exibição de Design.
-
Neste exemplo, adicione a tabela Problemas .
-
Arraste os campos para a grade de consulta. Neste exemplo, arraste o campo Título e o campo multivalorizado AssignedTo.Value .
O formato, <Fieldname>. Valor, acrescenta a propriedade Value como a cadeia de caracteres . Valor para o campo AssignedTo .
-
Na guia Design, no grupo Resultados, clique em Executar.
Resultado Os dados são achatados de modo que o campo Título seja repetido e cada valor no campo AssignedTo multivalued seja exibido em uma linha correspondente:
Adicionar critérios a um campo multivalorizado em uma consulta
O posicionamento dos mesmos critérios na grade de consulta em diferentes colunas de grade tem um grande impacto nos resultados da consulta.
Adicionar critérios que exibem todos os valores em um campo multivalorizado em uma linha
O acesso primeiro cria um conjunto de resultados e, em seguida, adiciona os critérios.
-
Abra a consulta no Modo de Exibição de Design.
-
Neste exemplo, adicione a tabela Problemas .
-
Arraste os campos para a grade de consulta. Neste exemplo, arraste o campo Título , o campo AssignedTo multivalued e AssignedTo.Value multivalued field.
-
Desmarque a caixa Mostrar marcar do AssignedTo.Value na grade de consulta.
-
Na grade de consulta, em AssignedTo.Value, na linha Critérios , insira "NOT "David Hamilton".
É útil ver a exibição do SQL:
SELECT Title, AssignedTo FROM Issues WHERE NOT AssignedTo.Value = “David Hamilton”;
-
Na guia Design, no grupo Resultados, clique em Executar.
Resultado Os três problemas não atribuídos a David Hamilton são exibidos em um valor padrão.
Adicionar critérios que exibe cada valor em um campo multivalorizado em uma linha (a exibição achatada)
O acesso primeiro cria um conjunto de resultados achatado e, em seguida, adiciona os critérios.
-
Abra a consulta no Modo de Exibição de Design.
-
Neste exemplo, adicione a tabela Problemas .
-
Arraste os campos para a grade de consulta. Neste exemplo, arraste o campo Título e o campo multivalorizado AssignedTo.Value .
-
Na grade de consulta, em AssignedTo.Value, na linha Critérios , insira NOT "David Hamilton".
É útil ver a exibição do SQL:
SELECT Issues.Title, AssignedTo.Value FROM Issues WHERE NOT AssignedTo.Value = “David Hamilton”
-
Na guia Design, no grupo Resultados, clique em Executar.
Resultado Cada problema não atribuído a David Hamilton é exibido em um valor achatado.
Adicionar vários critérios a um campo multivalorizado em uma consulta
Às vezes, você precisa pesquisar uma correspondência em mais de um valor dentro de um campo multivalorizado. Por exemplo, suponha que você queira ver os problemas em que "Kelly Rollin" e "Lisa Miller" estão entre os valores no campo AssignedTo
-
Abra a consulta no Modo de Exibição de Design.
-
Neste exemplo, adicione a tabela Problemas .
-
Arraste os campos para a grade de consulta. Neste exemplo, arraste o campo Título e o campo AssignedTo multivalued.
-
Na grade de consulta, em AssignedTo, na linha Critérios , insira "Kelly Rollin" E "Lisa Miller".
-
Na guia Design, no grupo Resultados, clique em Executar.
Resultado Esses dois problemas atribuídos a "Kelly Rollin" e "Lisa Miller" são exibidos.
Agrupar e contar um campo multivalido em uma consulta
Para executar cálculos, agrupamento e classificação de valores armazenados em um campo multivalorizado, use o <Fieldname>. Campo Valor. Para obter mais informações sobre consultas de grupo, consulte Contar dados usando uma consulta.
Para contar o número de problemas atribuídos a cada pessoa
-
Abra a consulta no Modo de Exibição de Design.
-
Neste exemplo, adicione a tabela Problemas .
-
Arraste os campos que você deseja usar para a grade de consulta. Neste exemplo, arraste AssignedTo.Value para a primeira coluna e Título para a segunda coluna.
-
Na guia Design , no grupo Mostrar/Ocultar , clique em Totais.
A linha Total é exibida na grade de consulta. Group By aparece por padrão na célula Total em cada campo na consulta.
-
Na grade de consulta, em Título, na linha Total , clique em Contagem.
-
Na guia Design, no grupo Resultados, clique em Executar.
Resultado A contagem de problemas atribuídos por pessoa é exibida em uma exibição achatada.
Para contar quantas pessoas são atribuídas a cada problema
-
Abra a consulta no Modo de Exibição de Design.
-
Neste exemplo, adicione a tabela Problemas .
-
Arraste os campos que você deseja usar para a grade de consulta. Neste exemplo, arraste Título para a primeira coluna e arraste AssignedTo para a segunda coluna.
-
Na guia Design , no grupo Mostrar/Ocultar , clique em Totais.
A linha Total é exibida na grade de consulta. Group By aparece por padrão na célula Total no campo Título na consulta. A expressão é exibida por padrão na célula Total no campo AssignedTo porque você não pode executar uma operação Group By diretamente em um campo multivalido, apenas um <Fieldname>. Campo Valor.
-
Na grade de consulta, em AssignedTo, na linha Total , clique em Contagem.
-
Na guia Design, no grupo Resultados, clique em Executar.
Resultado A contagem de pessoas atribuídas por problema é exibida em uma exibição achatada.
Usar uma consulta append com um campo multivalorizado
Você pode inserir um único valor em um campo multivalorizado usando uma consulta append. Por exemplo, suponha que você queira adicionar "Tom Michaels" ao campo AssignedTo multivalued na tabela Problemas.
Observação Este é o único tipo de consulta append que funciona com um campo multivalued.
-
Abra a consulta no Modo de Exibição de Design.
-
Adicione a tabela Problemas .
-
Na guia Design , clique em Acrescentar.
-
Na caixa de diálogo Anexar , selecione Problemas e clique em OK.
-
Na linha Acrescentar Para da Grade de Design, selecione AssignedTo.Value.
-
Na linha Campo da Grade de Design, insira "Tom Michaels".
-
Para limitar a operação de acréscimo a problemas específicos, adicione um campo à grade Design, como Título, remova Título da linha Acrescentar Para e insira critérios como "Problema 3".
-
Na guia Design, no grupo Resultados, clique em Executar.
O Access pode pedir que você confirme se deve acrescentar a linha selecionada. Clique em Sim para inserir a linha ou clique em Não para cancelar.
Resultado "Tom Michaels" agora é adicionado ao campo AssignedTo para o Problema 3.
Importante Você não pode usar uma consulta append que referencia uma tabela que contém um campo multivalued. Por exemplo, a consulta a seguir não é válida:
INSERT INTO [NewIssues] ( ID, Title, AssignedTo ) SELECT Issues.ID, Issues.Title, Issues.AssignedTo FROM Issues;
Usar uma consulta de atualização com um campo multivalido
Você pode usar uma consulta Update para alterar um único valor em um campo multivalued para outro valor. Neste exemplo, você deseja atualizar o campo AssignedTo multivalued para substituir "Kelly Rollin" por "Lisa Miller".
-
Abra a consulta no Modo de Exibição de Design.
-
Adicione a tabela Problemas .
-
Na guia Design , clique em Atualizar.
-
Arraste AssignedTo.Value para a grade de consulta.
-
Na linha Atualizar para , insira "Lisa Miller".
-
Na linha Critérios , insira "Kelly Rollin".
-
Na guia Design, no grupo Resultados, clique em Executar.
O Access pode pedir que você confirme se deve acrescentar a linha selecionada. Clique em Sim para inserir a linha ou clique em Não para cancelar.
Resultado Lisa Miller substitui Kelly Rollin no campo AssignedTo por todos os problemas correspondentes.
Usar uma consulta Delete com um campo multivalorizado
Quando você trabalha com uma tabela que contém um campo multivalued, você pode usar uma consulta de exclusão para excluir registros que contêm um valor específico em um campo multivalorizado ou para excluir um valor específico de um campo multivalorizado em todos os registros da tabela. No exemplo a seguir, suponha que você queira excluir "David Hamilton" da tabela Problemas.
Importante Quando você usa uma consulta de exclusão para excluir um campo multivalorizado que contém dados, você perde esses dados permanentemente – não é possível desfazer a exclusão. Por esse motivo, faça um backup do banco de dados antes de excluir todos os campos da tabela ou outros componentes do banco de dados.
Para excluir um valor específico de um campo multivalido em todos os registros
-
Na guia Criar, no grupo Consultas, clique em Design da Consulta.
-
Adicione a tabela Problemas .
-
Abra a consulta no Modo de Exibição de Design.
-
Na guia Design , clique em Excluir.
-
Na linha Critérios , insira "David Hamilton".
-
Na guia Design, no grupo Resultados, clique em Executar.
O Access pode pedir que você confirme se deve excluir os registros. Clique em Sim para excluir os registros ou clique em Não para cancelar.
Resultado David Hamilton é removido de para todos os problemas correspondentes.
Excluir registros que contêm um valor específico em um campo multivalorizado
-
Na guia Criar, no grupo Consultas, clique em Design da Consulta.
-
Adicione a tabela Problemas .
-
Abra a consulta no Modo de Exibição de Design.
-
Na guia Design , clique em Excluir grupo.
-
Na guia Design , no grupo Resultados , clique na seta em Exibir e clique em Exibição de SQL.
-
Insira a seguinte instrução SQL:
DELETE FROM Issues WHERE (((Issues.AssignedTo.Value)="David Hamilton"));
Observação Nesse caso, você só pode usar uma instrução SQL, não a grade design. Se você alternar para a exibição de grade de design, o Access adicionará um asterisco (*) após a instrução DELETE, que você deve remover do modo de exibição SQL.
-
Na guia Design, no grupo Resultados, clique em Executar.
O Access pode pedir que você confirme se deve excluir os registros. Clique em Sim para excluir os registros ou clique em Não para cancelar.
Resultado Todos os problemas em que David Hamilton é atribuído são removidos.