Pesquisas
Pesquisas
A grande vantagem do Access sobre outros programas e mesmo sobre outras bases de dados consiste na forma intuitiva e gráfica de criar pesquisas sobre os dados.
As pesquisas permitem achar os dados que se pretendem ordenados da forma que se quiser. Através das pesquisas podem-se achar as respostas a várias perguntas acerca dos dados existentes na nossa base de dados.
As pesquisas podem ser efectuadas sobre uma ou várias tabelas e podem servir de base a formulários e relatórios. Antes já se tinham visto os filtros mas as pesquisas permitem criar filtros permanentes.
Como abrir uma pesquisa
Para abrir uma pesquisa fazer:
-
Carregar no botão de pesquisas
-
Escolher a pesquisa que se quer ver.
-
Visualizar os dados que obedecem às especificações da pesquisa.
-
Carregar no botão de DESIGN para se ver os parâmetros da pesquisa e para, eventualmente os alterar.
Pesquisas com várias tabelas
Uma pesquisa pode ser feita a partir de várias tabelas. Neste caso é necessário estabelecer relações entre as tabelas de forma a relacionar a informação duma forma significativa. Esta indicação é colocada como uma linha que liga um campo de uma tabela a um campo da outra tabela. No caso de se trabalhar com uma pesquisa deste tipo o comando VIEW TABLE NAMES permite ver os nomes das tabelas a que os vários campos pertencem.
No caso de surgirem 2 tabelas não ligadas numa pesquisa esta irá ter tantas linhas como o produto do número de linhas de cada tabela.
As pesquisas também podem ser feitas baseadas em outras pesquisas. No entanto existe um limite para o grau de complexidade permitido a partir do qual será necessário criar tabelas intermédias.
Como criar uma pesquisa a partir de uma tabela
Os passos para o fazer são:
-
Carregar no ícone de pesquisas.
-
Carregar no botão NEW.
-
Escolher a opção Design View
-
Seleccionar a ou pesquisa tabela na qual se pretende efectuar a pesquisa.
-
Carregar no botão ADD.
-
Carregar em CLOSE.
-
Arrastar os campos que se pretendem da zona de cima para a zona em baixo para a linha FIELD. arrastando o campo com o nome da tabela seguido de um asterisco arrastam-se todos os campos.
-
Debaixo dos campos colocar se serão utilizados na ordenação, o critério de pesquisa nesses campos e a indicação se esse campo deve ser visualizado.
-
Carregar no botão do modo de visualização DATASHEET ou no botão com um ponto de exclamação.
O conjunto de dados que assim surge obedece aos critérios definidos na pesquisa e tem a ordenação indicada assim como os campos pedidos.
Como criar uma pesquisa a partir de várias tabelas
Os passos para o fazer são:
-
Carregar no ícone de pesquisas.
-
Carregar no botão NEW.
-
Seleccionar a tabela a acrescentar à pesquisa.
-
Carregar no botão ADD ou executar o comando QUERY ADD TABLE.
-
Repetir os dois passos anteriores até ter colocado todas as tabelas pretendidas.
-
Carregar em CLOSE.
Para efectuar a junção de campos de duas tabelas fazer:
-
Seleccionar numa das tabelas um dos campos..
-
Arrastar esse campo até outra tabela para o campo com o mesmo nome. Como regra geral o campo na primeira tabela é uma chave estrangeira e na segunda tabela é a chave primária.
Após estes passos surge uma linha a ligar esses campos. Para tirar a ligação entre as tabelas basta seleccionar e apagar essa linha. No caso de já existir uma ligação entre as tabelas assim que se colocam as duas tabelas na pesquisa o JOIN é colocado. A forma de acrescentar campos e critérios é igual ao caso de só uma tabela.
Fazendo um duplo clic na ligação estabelecida pode-se indicar que se pretende ver todas os campos existentes numa tabela mesmo que não existam campos associados a essa chave na outra tabela.
Efectuar cálculos em pesquisas
Nas pesquisas, e em campos de formulários ou relatórios podem ser efectuados cálculos diversos.
Para esses cálculos podem ser usadas funções matemáticas ou outras e serem usados os diversos campos existentes nas tabelas que estão a ser usadas pela pesquisa.
Exemplo:
PVP: valor * iva
Neste caso iremos ter um campo calculado cujo valor será igual ao valor do campo valor vezes o valor do campo IVA
A forma mais simples de aceder às funções existentes é carregar no botão do lado direito do rato e a seguir escolher a opção Build. Com isto irá surgir o ecrã abaixo no qual poderá escolher as funções que pretende.
Existem dezenas de funções que permitem fazer desde cálculos com datas a cálculos financeiros passando por cálculos sobre base de dados, ficheiros exteriores, funções de formatação de texto, etc.
Efectuar cálculos estatísticos em pesquisas
Através das pesquisas é ainda possível determinar valores médios e somatórios para vários valores de vários campos. Para tal faz-se:
1. No modo de visualização DESIGN carrega-se no botão do somatório . Isto faz que surga uma linha com os totais na grelha de saída. Por defeito coloca a opção GROUP BY em cada campo.
2. Em cada campo escolhe-se o tipo de estatística pretendido:
– A opção GROUP BY indica que é para agrupar os dados por cada valor desta opção.
– A opção SUM indica que se deve efectuar a soma dos valores existentes neste campo para cada grupo indicado nos outros campos.
– As opções MIN e MAX mostram o valor máximo e mínimo desses valores
– A opção COUNT faz a contagem de fichas existentes.
– A opção AVERAGE efectua a média.
Pode ainda escolher que o resultado da pesquisa sejam só as 5 primeiras fichas para isso, use o comando VIEW PROPERTIES e indique 5 em Top Values. Isto terá em conta os critérios de ordenação que utilizou.
Pesquisas baseadas em formulários
É possível criar pesquisas baseadas em formulários através da indicação dos campos dos formulários nas próprias pesquisas. Para isso a forma mais fácil é carregar no botão do lado direito do rato escolher a opção Build. Na caixa que surge pode-se depois escolher o formulário e o campo que se quer considerar.
Para a criação deste tipo de pesquisas é igualmente útil a utilização das funções IsNull que permite verificar se um campo está vazio e da função Iif que permite que um critério possa assumir 2 valores diferentes baseado numa qualquer condição.
Pesquisas de acção
As pesquisas de acção poderão ser seleccionadas através dos menus.
Este tipo de pesquisa efectua-se em dois passos.
O tipo Make-Table permite criar uma tabela com o resultado da pesquisa. Já o tipo Append acrescenta só novas linhas a umatabela existente sem se ter que apagar a mesma tabela.
O tipo Update permite actualizar o valor de um campo ou mais de acordo com a fórmula que seja indicada. É usado quando se pretende actualizar dezenas ou centenas de linhas de uma tabela. Por exemplo, se houver uma mudança do prefixo telefónico.
Por fim o tipo Delete permite apagar todas as linhas que obedeçam a um determinado critério.
Para todos estas pesquisas depois de serem definidas é necessário fazer a execução das mesmas através do comando Query – Run ou do botão com o ponto de exclamação. Quando se pede para visualizar as linhas da pesquisa só vai mostrar as linhas sobre as quais a pesquisa é passível de ser executada.
A nível de programação a forma de executar estas pesquisas é usando o comando Docmd.runsql podendo-se usar o comando docmd.setwarnings para evitar mostrar diversas mensagens.
SQL Specific
Existem pesquisas que só poem ser definidas a partir de SQL e que não podem ser visualizadas na forma de design.
A forma mais utilizada é a UNION que permite juntar o resultado de duas ou mais, pesquisas ou tabelas. Utiliza-se em especial quando se pretende visualisar na mesma tabela linhas actuais e linhas do ficheiro histórico.
CrossTab
Numa pesquisa do tipo CrossTab o resultado da pesquisa é apresentado em forma de tabela. Assim podem-se definir um ou mais campos para agrupar as linhas e um campo para agrupar as colunas. Indica-se ainda o campo que deverá ser usado como valor.
Para quem conhece as Pivot table do Excel esta funcionalidade é similar.