Usando consultas SQL no MS-Access
A Structured Query Language - SQL é uma linguagem muito usada na consulta, atualização e gerenciamento de banco de dados relacionais. Cada consulta criada no MS-Access tem uma instrução SQL associada que define as ações daquela consulta. |
|
Normalmente é mais conveniente usar a grade QBE e as ferramentas gráficas de estruturação de consulta do Access para criar e modificar consultas. Mas se você está familiarizado com SQL, pode usar instruções SQL para:
Consultas União
É uma consulta específica SQL que cria um resultado contendo dados de todos os registros especificados em duas ou mais tabelas. Pelo contrário, uma consulta baseada em uma associação cria um dynaset contendo dados somente de registros cujos campos relacionados encontram uma condição especificada.
Por exemplo, uma consulta união da tabela clientes e data da tabela fornecedores resulta um Resultado que contém todos os registros especificados em ambas as tabelas, a de clientes e a de fornecedores.
A consulta união a seguir, consiste de duas instruções SELECT que retornam os nomes de empresa e cidades que estejam tanto na tabela Fornecedores como na tabela Clientes, e sejam do Brasil.
A seguinte consulta união consiste de duas instruções SQL SELECT que retornam os nomes de companhias e cidades que estão nas tabelas Fornecedores e Clientes e são do Brasil.
SELECT [Nome da empresa], [Cidade]
FROM [Fornecedores]
WHERE Pais="Brasil"
UNION SELECT [Nome da empresa], [Cidade]
FROM [Clientes]
WHERE Pais="Brasil";
A seguinte consulta união seleciona o nome de todas as empresas e cidades que estejam nas tabelas Fornecedores e Clientes e classifica alfabeticamente os dados por cidade.
SELECT [Nome da empresa], [Cidade]
FROM [Fornecedores]
UNION SELECT [Nome da empresa], [Cidade]
FROM [Clientes]
ORDER BY [Fornecedores], [Cidade];
A consulta união a seguir renomeia o campo "Nome da empresa" para "Nome do cliente/fornecedor" na saída da consulta;
SELECT [Nome da empresa] AS [Nome do cliente/fornecedor], [Cidade]
FROM [Fornecedores]
UNION SELECT [Nome da empresa] AS [Nome do cliente/fornecedor], [Cidade]
FROM [Clientes];
A consulta união a seguir utiliza a instrução UNION ALL para recuperar registros duplicados:
SELECT [Nome da empresa], [Cidade]
FROM [Fornecedores]
UNION ALL SELECT [Nome da empresa], [Cidade]
FROM [Clientes];
Consulta Definição de Dados
Este tipo de consulta cria uma tabela sem adicionar nenhum registro a ela, é interessante quando precisamos criar tabelas temporárias. Veja o exemplo:
CREATE TABLE [SÓCIOS] (Código COUNTER, Nome TEXT (50), Rua TEXT (50), (CONSTRAINT CódigoDoSócio PRIMARY KEY ([Código])); |
No exemplo acima é criada uma tabela Sócios com os seguintes campos:
Campo | Tipo | Tamanho |
Código | Contador | 4 bytes |
Nome | Texto | 50 |
Rua | Texto | 50 |
A palavra chave CONSTRAINT indica que em seguida vem o nome de um índice chamado CódigoDoSócio, entre parêntesis vem o nome do campo que faz parte deste índice e opcionalmente a clausula PRIMARY KEY para indicar a chave primária da tabela.
Tipos de dados do SQL compatíveis com o Access
Tipo de dado | Tamanho | Descrição |
BINARY | 1 byte | Para consultas em tabelas anexadas em produtos de banco de dados que definem um tipo de dados Binário. O Microsoft Access não usa o tipo de dados Binário. |
BIT | 1 byte | Valores Sim e Não e campos que contém apenas um entre dois valores. |
BYTE | 1 byte | Um valor inteiro entre 0 e 255. |
COUNTER | 4 bytes | Um número incrementado automaticamente pelo Microsoft Access quando um novo registro é adicionado a uma tabela. No Jet database engine, o tipo de dado para este valor é Long. |
CURRENCY | 8 bytes | Um inteiro dimensionado entre -922.337.203.685.477,5808 e 922.337.203.685.477,5807. |
Tipo de dado | Tamanho | Descrição |
DATETIME(Consulte DOUBLE) | 8 bytes | Um valor data ou hora entre os anos 100 e 9999. |
SINGLE | 4 bytes | Um valor ponto flutuante de precisão simples com um intervalo de -3,402823E38 a -1,401298E-45 para valores negativos, 1,401298E-45 a 3,402823E38 para valores positivos e 0. |
DOUBLE | 8 bytes | Um valor ponto flutuante de precisão dupla com um intervalo de -1,79769313486232E308 a -4,94065645841247E-324 para valores negativos, 4,94065645841247E-324 a 1,79769313486232E308 para valores positivos e 0. |
SHORT | 2 bytes | Um inteiro curto entre -32.768 e 32.767 |
LONG | 4 bytes | Um inteiro longo entre -2.147.483.648 e 2.147.483.647. |
LONGTEXT | 1 byte por caracter | Zero até um máximo de 1,2 gigabytes. (Consulte Text.) |
LONGBINARY | Como definido | Zero a um máximo de aproximadamente 1 gigabyte. Usado para objetos OLE. |
TEXT | 1 byte por caracter | Zero a 255 caracteres. |
Criar sub-consultas
Para criar uma sub-consulta, você usa a grade QBE, mas insere uma instrução SQL SELECT como critério.
Diferenças entre consultas Ação e consultas seleção
Quando se cria uma consulta, o MS-Access cria uma consulta seleção, a não ser que se escolha um tipo diferente no menu consulta.
Quando uma consulta seleção é executada, o MS-Access exibe o Dynaset, os registros recuperados de suas tabelas. Pode-se, então, visualizar o dynaset e fazer alterações em seus dados. Entretanto, ao fazer alterações, elas são inseridas registro a registro.
Caso haja um grande número de alterações similares, você pode poupar tempo usando uma consulta ação. Uma consulta ação faz quaisquer alterações em apenas uma operação. Por exemplo, caso deseje excluir todos os produtos que tenham sido descontinuados, você pode executar uma consulta ação que remova todos esses produtos.
Para se garantir que alterações indesejadas não sejam feitas se você executar inadvertidamente uma consulta ação, o MS-Access exibe na janela Banco de dados, um ícone especial para identificar as quatro consultas ação.
Consulta Anexação
Consulta Atualização
Consulta Criação de Tabela
Consulta Exclusão
Alterando dados com consultas Ação
Com as consultas ação, você pode criar novas tabelas ou alterar os dados de tabelas já existentes. Todas as Consultas Ação são feitas com base numa consulta seleção, então para se criar qualquer tipo de consulta ação, devemos criar as consultas seleção que nos trarão os dados que desejamos manipular pelas consultas ação, podendo assim atualizar, excluir, exportar e anexar dados.
O MS-Access proporciona quatro tipos de consultas ação.
Cria uma nova tabela a partir de outra ou parte de outra tabela com um novo nome definido pelo usuário e adicionando os registros especificados pelo critério.
Exclui os registros de uma ou mais tabelas que atendem a um critério.
Adiciona uma grupo de registros de uma ou mais Tabelas para outra ou mais tabelas.
Altera ou dados em um grupo de registros de uma ou mais tabelas.
Consulta Criação de Tabela:
Quando você clicar no botão Executar, o MS-Access informa quantas linhas ( registros ) serão incluídos na nova tabela, nesta mensagem, você pode confirmar a criação ou cancelar a inclusão.
Se você clicar no botão Modo Folha de Dados, a consulta seleção será executada e você verá os registros que vão para a nova tabela.
Consulta exclusão:
Quando você clicar no botão Executar, o MS-Access informa quantas linhas ( registros ) serão excluídas da tabela, nesta mensagem, você pode confirmar a eliminação ou não.
Se você clicar no botão Modo Folha de Dados, a consulta seleção será executada e você verá os registros que vão excluídos.
Consulta Atualização:
Consulta anexação:
Quando você clicar no botão Executar, o MS-Access informa quantas linhas ( registros ) serão anexadas da tabela, nesta mensagem, você pode confirmar a anexação ou não.
Se você clicar no botão Modo Folha de Dados, a consulta seleção será executada e você verá os registros que vão ser anexados.
É isto aí...