Escolhendo o que você quer ver.
- Com as Consultas, você formata a exibição dos dados, mostrando
somente as colunas que lhe interessam, e definindo critérios, filtros, para as pesquisas.
- Você pode criar consultas que envolvam uma ou mais tabelas e com um ou mais critérios ( consultas
podem ser criadas para mostrar, por exemplo, funcionários por faixa salarial, ou por cargos ).
- Assim como as tabelas, os formulários, também, podem ser criados a partir das consultas.
- Para criar uma pesquisa em uma tabela, clique na guia Consulta da janela Banco de dados.
- Clique, em seguida, no botão Novo.
- Nesta caixa de diálogo são apresentadas 5 opções para criação de consultas.
Vamos começar pela primeira. Clique na opção Modo Estrutura e no botão OK.
- Na parte superior, está a estrutura da tabela.
- Na parte inferior, ficam os campos, que farão parte da consulta.
- Para inserir um campo, clique no nome e...
- ...mantendo o botão esquerdo pressionado, arraste-o ...
- ...até a 1a. coluna. Libere o mouse na caixa Campo.
- Os nomes do campo e o da tabela, ao qual ele pertence, são exibidos.
Quero selecionar mais de um campo ao mesmo tempo.
- Mantendo pressionada a tecla [ Shift ], clique em Endereço.
- Daí para a frente o processo é o mesmo. Arraste o mouse com o botão esquerdo pressionado....
- ...até a 1a. coluna vazia.
- Como foram selecionados 2 campos, 2 colunas são preenchidas.
Quero inserir mais campos.
- Se precisar aumentar a janela, posicione o ponteiro na margem direita e arraste-o.
- Você pode selecionar os campos, clicando na seta à direita da coluna. A estrutura da tabela
será exibida.
- Aí, basta clicar no nome do campo.
Quero excluir uma coluna.
- Posicione o ponteiro do mouse no cabeçalho da coluna, que será excluída. Quando aparecer uma
seta apontando para baixo, ....
- ...clique com o botão esquerdo. Toda a coluna será selecionada.
- Para excluí-la, pressione a tecla [ Delete ].
- Como vou criar critérios para cidades e bairros, insiro o campo Cidade.
A estrutura final da consulta ficará como na figura abaixo.
- Clique no botão Fechar ( X ) da janela Consulta.
- Na caixa de mensagem que surgir, clique no botão Sim para salvar a estrutura.
- Como o Access não sabe o nome da consulta, lá vem ele com o padrão do Office: Consulta1.
- Informe o nome e clique no botão OK.
De volta ao pedaço !
- Lá está a janela Banco de dados com a consulta que você acabou de criar.
Para vê-la, clique no botão Abrir.
Versão light da tabela.
- Apenas os campos escolhidos são exibidos.
Parcerias RicardoHorta.Net
Selecionando registros.
- Definida a estrutura, você pode selecionar os registros a serem exibidos.
Se não for especificado um critério, a tabela inteira será mostrada.
- Em
Clientes-Dados-Cadastrais,
existem clientes do Rio de Janeiro e de Belo Horizonte. Suponha que você
queira pesquisar somente os clientes de uma cidade.
- Um critério pode ser definido para o campo Cidade.
- Na guia Consultas, selecione Clientes-Bairro e clique no botão Estrutura.
- Na linha Critério da coluna Cidade, você deve informar o nome da cidade.
- Clique no botão Fechar da janela Estrutura e...
- Apenas os clientes de Belo Horizonte são exibidos.
- Observe que no campo Bairro existem 2 registros para Centro e 2 para São Pedro.
- E se você quisesse exibir apenas os clientes que moram no Centro ?
- Retorne à janela Estrutura e digite Centro na linha Critério da coluna Bairro.
- Feche a janela Estrutura e abra a consulta no modo Folha de dados.
- Só são exibidos os clientes do bairro informado. O critério foi: Cidade = Belo Horizonte e
Bairro = Centro
- Movendo o nome do bairro para a linha Ou, o resultado será ....
Oops !
- Todos os clientes de Belo Horizonte são exibidos, porque o critério agora é: Cidade = Belo Horizonte
ou Bairro = Centro.
Parcerias RicardoHorta.Net
Consulta estática.
- Em
Definindo critério você
aprendeu como filtrar os dados. Só eram exibidos, por exemplo, os clientes de uma determinada cidade
ou bairro.
- Mas você deve ter percebido que aquela era um tipo de consulta estática, ou seja, os critérios
não mudavam.
Mas qual o problema ?
- Naquele módulo, foi criado uma consulta para exibir somente os clientes de Belo Horizonte.
- E se você quisesse pesquisar outra cidade ? Fazer outra consulta ? Então, se no banco de dados estiverem
cadastradas 300 cidades, 300 consultas teriam de ser feitas.
- Não é uma decisão muito sábia.
Então criar consultas não é uma boa ?!
- Muito pelo contrário. Você pode e deve criá-las, porém, de uma forma que permita serem feitas várias pesquisas
numa mesma tela.
- Ao invés de trabalhar com critérios predefinidos, que tal exibir uma caixa de diálogo para o
usuário informar o código da cidade ? Ou do bairro ?
- Assim, você cria uma consulta apenas, porém flexível o suficiente para receber qualquer tipo de
filtro.
- A tabela de exemplos,
Clientes-Dados-Cadastrais,
possui os seguintes dados.
- Em
Definindo critério você
criou uma consulta para exibir os clientes cujo bairro era o Centro, em Belo Horizonte.
- A pesquisa era estática. Para pesquisar outro bairro você teria que alterar o critério.
- Pois bem. Abra a consulta
Clientes-Bairro
no modo Estrutura e limpe o critério para o bairro.
- Em seguida, digite [ Informe o bairro ].
- Quando você passa um texto entre colchetes ( [ ] ), o Access interpreta-os como parâmetro que deve
ser informado, e exibirá uma caixa de diálogo para digitação do nome do bairro.
- Será ?!
- Clique no botão Fechar do modo Estrutura.
- Com Clientes-Bairro selecionada, clique no botão Abrir.
- Uma caixa de diálogo é exibida solicitando ( ou exigindo ?! ) o nome do bairro.
- Informe Centro e clique no botão OK.
- Bem mais flexível, o resultado da pesquisa será retornado.
E se eu digitasse um bairro inexistente na tabela ?
- Seria exibida a tela do modo Folha de dados, porém, sem registro algum.
Posso fazer o mesmo para o campo Cidade ?
- Claro ! Limpe o código informado na coluna Cidade e digite [ Informe o código da cidade ].
- Salve a alteração e execute a consulta.
- Serão exibidas 2 caixas de diálogo: uma para o bairro e outra para a cidade.
- Esta é a melhor maneira para você definir as consultas. Flexíveis, permitem que as pesquisas sejam
feitas para qualquer conteúdo dos campos.
Parcerias RicardoHorta.Net
Unindo dados.
- Um jeito diferente de exibir dados é concatenar os campos.
Ao invés de exibi-los separados por colunas, você pode agrupá-los numa coluna apenas.
- Na consulta abaixo, que será feita a partir da tabela
Clientes-Dados-Cadastrais,
a primeira coluna exibirá o nome do cliente.
Inserindo uma expressão.
- Na 2a., serão concatenados os campos DataNascto, Telefone e Cidade ( poderia utilizar outros
campos, é apenas um exemplo ).
- Você não irá selecioná-los, mas sim, digitar uma expressão de concatenação.
Para exibi-los em uma coluna apenas, clique na linha Campo, conforme figura abaixo.
- Em seguida, pressione as teclas [ Shift ] + [ F2 ].
- A caixa Zoom será exibida, para você digitar os campos, que deseja exibir nesta coluna.
- Mas ( há sempre um mas ) é preciso obedecer à uma sintaxe.
- A expressão para concatenar os campos é: DataNascto & ", " & Telefone & ", " & Cidade
- Clique, em seguida, no botão OK.
- Lá está na 2a. coluna a expressão digitada.
- Feche a janela da consulta, salvando as alterações com o nome Clientes-DataNascto.
- Selecione a consulta e clique no botão Abrir.
- A coluna com a expressão ficou pequena ?
- Não tem problema. Posicione o ponteiro do mouse na borda da coluna e...
- ... aparecendo 2 setas, clique com o botão esquerdo e aumente a largura.
É ou não é uma maneira diferente de exibir os dados ?
- Surpreso(a) ?! Vem mais coisa boa por aí.
Parcerias RicardoHorta.Net
Dando jeito no que não tem jeito.
- Em
Concatenar,
o resultado retornado pela consulta, exibiu a tela abaixo.
- Tudo muito legal, mas.... a tabela não está classificada por nenhum dado. Quando o número de registro
é pequeno, o trabalho é pouco ou quase nenhum. Mas imagine uma tabela com 300, 400 clientes.
- Uma ordem alfabética, por exemplo, não faria mal algum. Então, que tal classificar por nome a consulta
feita na tabela
Clientes-Dados-Cadastrais ?
Eu poderia classificá-la por qualquer outro campo desta tabela ?
- Sim. Você poderia classificá-la por data de nascimento, cidade, bairro, código, etc., etc.,
Classificando a consulta por nome do cliente.
- Na coluna do campo Cliente, clique na seta à direita da caixa Classificar e selecione Crescente.
- Clique no botão Fechar ( X ) da janela Estrutura e salve a alteração.
- Com a consulta Clientes-DataNascto selecionada, clique no botão Abrir.
- Aí estão os dados classificados em ordem crescente por nome do cliente.
Quero classificá-la por data de nascimento.
- Tudo bem. Feche a janela Folha de dados.
- Abra a consulta no modo Estrutura.
- Clique na seta à direita da caixa Classificar, do campo Cliente, e selecione a opção
não classificado
Ah, já sei ! Como a expressão, definida por mim, tem a data de nascimento, basta eu classificá-la
por ordem crescente.
- Bom... Não era isto o que eu ia fazer, mas tudo bem. Vamos satisfazer a sua curiosidade.
- Na coluna Expr1, clique na seta à direita da caixa Classificar e selecione Crescente.
- Clique em Exibir, localizada na barra de menus e selecione Modo Folha de dados.
Oops !
- É Oops mesmo ! Não funcionou. Mas por que ?
- Quando campos são concatenados, o Access os considera como texto. Ele não considera cada coluna
individualmente, mas sim como um resultado.
Então, não tem jeito ?!
- Claro que sim. A turma do Bill Gates não iria deixar você com pires nas mãos.
- Clique, novamente na opção Exibir da barra de menus e selecione Modo Estrutura.
- Em seguida, selecione não classificado na coluna Expr1.
- Na 3a. coluna, insira o campo DataNascto.
- Em Classificação, selecione Crescente.
Ah, mas aí o campo da data será exibido 2 vezes na consulta !
- Quem falou ?! Eu ?! Você ?!
- Ele não será exibido. Você irá desativar a caixa Mostrar.
- O campo DataNascto fará parte da consulta, mas não será exibido individualmente e sim dentro da
expressão.
Teste São Tomé.
- Clique em Exibir ( barra de menus ) e selecione Folha de dados.
- Aí está a consulta, classificada por DataNascto ( agora sim ! ).
A opção Mostrar.
- Aquela opção Mostrar é utilizada para ocultar campos que fazem parte da consulta mas não devem
ser exibidos.
- Se você está gerando uma consulta dos clientes da cidade de São Paulo, por exemplo, não há necessidade
do campo Cidade ser exibido ( os clientes são todos de São Paulo ).
- Então, você utiliza o campo Cidade como
parâmetro, mas desativa a opção Mostrar.
Parcerias RicardoHorta.Net
Formulários baseados em Consultas !
- Interessante !
- Nem sempre o usuário deve ter acesso a todas as informações em um banco de dados. É preciso controlar
a exibição dos campos.
- Você aprendeu que através das
Consultas
as informações podem ser filtradas, as colunas para
exibição podem ser selecionadas.
- Uma lista de aniversários do cadastro de clientes não deve conter informações sobre a avaliação de
cada um. A coluna de salários dos funcionários não deve constar de toda e qualquer pesquisa
feita no cadastro.
- E as consultas vieram para acabar com este problema.
- E poder criar os formulários a partir das consultas é demais. Você filtra as informações. Não há necessidade
de criar toda e qualquer pesquisa ou acesso diretamente na tabela. Elas podem ser criadas a partir
das consultas, já com os dados filtrados, selecionados.
A consulta Clientes-DataNascto.
- Para criar um formulário baseado nesta consulta, clique na guia Formulários, da janela Banco de dados,
e clique no botão Novo.
- Na caixa Novo formulário, selecione a opção que mais lhe agrada para criação do formulários.
- Neste exercício, eu vou ficar com o
Assistente de formulário.
- Na caixa Escolha a tabela ou consulta..., clique na seta à direita e selecione a consulta
Clientes-DataNascto.
- Clique, em seguida, no botão OK.
- Na caixa Tabelas/Consultas está o nome da consulta selecionada.
- E em campos disponíveis estão o campo e a
expressão,
criada por você, para concatenar os campos.
- Clique no botão com os símbolos >> para movê-los para a caixa Campos selecionados e...
- ...clique no botão Avançar.
- Para layuot do formulários vou selecionar Tabela.
- Defino um estilo para o formulário.
- E mantenho o mesmo nome da consulta.
- E aí está o formulário baseado numa consulta.
- Um formulário com informações filtradas é uma boa opção para você utilizar com os seus usuários.
- Pense nisto.
- É claro, que você deve dar uma melhorada no visual. Aumentar a largura, talvez diminuir a altura,
mudar a disposição dos campos, mas tudo isto você aprendeu a fazer em
Altura e largura dos formulários.
Parcerias RicardoHorta.Net
RicardoHorta.Net
Parcerias RicardoHorta.Net
14/03/2001 - www.ricardohorta.net - Direitos adquiridos - Autor: Ricardo Horta