BASES DE DADOS COM MICROSOFT ACCESS 2007

Propaganda
VIDAL DE CARVALHO
ANA AZEVEDO
ANTÓNIO ABREU
BASES
DADOS
DE
COM
MICROSOFT
ACCESS 2007
Portugal/2008
’Microsoft’ is a registered trademark of Microsoft Corporation in the United States and/or other
countries and is used by Centro Atlântico under license from owner. ‘Bases de Dados com
Microsoft Access 2007’ is an independent publication not affiliated with Microsoft Corporation.
Reservados todos os direitos por Centro Atlântico, Lda.
Qualquer reprodução, incluindo fotocópia, só pode ser feita com autorização expressa dos editores da obra.
BASES DE DADOS COM MICROSOFT ACCESS 2007
Colecção: Tecnologias
Autores:
António João Vidal de Carvalho
Ana Isabel Rojão Lourenço Azevedo
António José Abreu da Silva
Direcção gráfica: Centro Atlântico
Revisão técnica: Vítor Emanuel Pereira
Capa:
Paulo Buchinho
© Centro Atlântico, Lda., 2008
Av. Dr. Carlos Bacelar, 968 – Escr. 1 – A
4764-901 V. N. Famalicão
© Rua da Misericórdia, 76 – 1200-273 Lisboa
Portugal
Tel. 808 20 22 21
[email protected]
www.centroatlantico.pt
Impressão e acabamento: Inova
1ª edição: Janeiro de 2008
ISBN: 978-989-615-050-1
Depósito legal:
/08
Marcas registadas: Todos os termos mencionados neste livro conhecidos como sendo marcas
registadas de produtos e serviços foram apropriadamente capitalizados. A utilização de um
termo neste livro não deve ser encarada como afectando a validade de alguma marca registada
de produto ou serviço.
O Editor e os Autores não se responsabilizam por possíveis danos morais ou físicos causados
pelas instruções contidas no livro nem por endereços Internet que não correspondam às Home-Pages pretendidas.
Índice
PARTE I
I.1 OS SISTEMAS DE INFORMAÇÃO E AS ORGANIZAÇÕES ....... 17
1.1 Características de um Sistema .......................................................................... 18
1.2 A organização vista como um Sistema .............................................................. 19
1.3 A Informação ..................................................................................................... 19
1.3.1 Características da informação ........................................................................... 20
1.3.2 A Informação nas organizações......................................................................... 20
1.3.3 Tipos de informação nas organizações ............................................................. 21
1.4 Os Sistemas de Informação Organizacionais .................................................... 22
1.4.1 Evolução histórica dos Sistemas de Informação ............................................... 23
1.4.2 Planeamento e desenvolvimento de Sistemas de Informação .......................... 25
1.4.3 A introdução dos Sistemas de Informação nas organizações .......................... 28
TERMOS CHAVE ................................................................................................................. 30
PARA REVER … .................................................................................................................. 31
PARA INVESTIGAR … ........................................................................................................ 31
I.2 AS BASES DE DADOS ..................................................... 33
2.1 As raízes históricas: Ficheiros e Sistemas de Ficheiros .................................... 34
2.1.1 Gestão de dados nos Sistemas de Ficheiros..................................................... 35
2.1.2 Dependência dados-aplicações ......................................................................... 38
2.1.3 Redundâncias nos dados .................................................................................. 38
2.2 Sistemas de Bases de Dados ............................................................................ 39
2.2.1 Características de um Sistema de Bases de Dados .......................................... 40
2.2.2 Intervenientes num Sistema de Bases de Dados .............................................. 41
2.2.3 As funções do Sistema de Gestão de Bases de Dados .................................... 42
2.2.4 Arquitectura do Sistema de Gestão de Bases de Dados e Independência dos
Dados ......................................................................................................................... 44
2.2.5 Linguagens fornecidas pelo SGBD .................................................................... 46
2.2.6 Classificação dos SGBD’s ................................................................................. 48
6
BASES DE DADOS COM MICROSOFT ACCESS 2007
2.3 Modelos de Bases de Dados ............................................................................ 48
2.3.1 Modelo Hierárquico ........................................................................................... 49
2.3.2 Modelo em Rede ............................................................................................... 51
2.3.3 O Modelo Relacional ......................................................................................... 53
2.3.4 Novos modelos: Modelos Orientados a Objectos e Extensões ao Modelo
Relacional .................................................................................................................. 54
2.4 Outras Aplicações das Base de Dados ............................................................. 59
2.4.1 Data Warehouses ............................................................................................. 59
2.4.2 OLAP’s .............................................................................................................. 62
2.4.3 Data Mining ...................................................................................................... 63
2.4.4 Integração com a Web ...................................................................................... 65
TERMOS CHAVE ................................................................................................................ 67
PARA REVER … ................................................................................................................. 68
PARA INVESTIGAR …........................................................................................................ 69
I.3 O MODELO RELACIONAL DE BASES DE DADOS ................ 71
3.1 Terminologia básica .......................................................................................... 72
3.2 Atributos Chave................................................................................................. 75
3.2.1 Super-Chave ..................................................................................................... 75
3.2.2 Chave Candidata .............................................................................................. 75
3.2.3 Chave Primária ................................................................................................. 76
3.2.4 Chave Estrangeira ............................................................................................ 76
3.2.5 Um exemplo ...................................................................................................... 77
3.3 Regras de Integridade ....................................................................................... 79
3.3.1 Integridade de Entidade .................................................................................... 79
3.3.2 Integridade Referencial ..................................................................................... 79
3.4 Operadores da Álgebra Relacional ................................................................... 80
3.4.1 O Operador SELECT ........................................................................................ 81
3.4.2 O operador PROJECT ...................................................................................... 81
3.4.3 O operador PRODUCT ..................................................................................... 82
3.4.4 O operador UNION ........................................................................................... 84
3.4.5 O Operador DIFFERENCE ............................................................................... 85
3.4.6 O Operador INTERSECT .................................................................................. 85
3.4.7 O operador JOIN ............................................................................................... 86
3.4.8 O operador DIVIDE ........................................................................................... 87
3.5 SQL – Uma linguagem de bases de dados relacionais ..................................... 88
3.5.1 Definição de dados ........................................................................................... 89
3.5.2 Inserção e actualização de dados ..................................................................... 92
3.5.3 Queries com SQL.............................................................................................. 94
ÍNDICE
7
3.6 As regras de Codd ............................................................................................. 98
TERMOS CHAVE ............................................................................................................... 101
PARA REVER … ................................................................................................................ 102
PARA INVESTIGAR … ...................................................................................................... 109
I.4 MODELAÇÃO DE DADOS ............................................... 111
4.1 A importância da modelação de dados ............................................................ 111
4.2 O modelo Entidade-Relacionamento (E-R) ...................................................... 112
4.2.1 Entidades e Atributos ....................................................................................... 113
4.2.2 Relacionamentos ............................................................................................. 115
4.2.3 Entidades fracas .............................................................................................. 123
4.2.4 Entidades compostas....................................................................................... 124
4.2.5 Uma comparação de notações ........................................................................ 127
4.3 Desenvolvendo um Diagrama E-R................................................................... 128
4.4 Correspondência entre o modelo E-R e o modelo relacional ........................... 133
TERMOS CHAVE ............................................................................................................... 136
PARA REVER … ................................................................................................................ 137
PARA INVESTIGAR … ...................................................................................................... 142
I.5 DEPENDÊNCIAS FUNCIONAIS E NORMALIZAÇÃO ............. 143
5.1 A Importância da Normalização ....................................................................... 145
5.2 Dependências funcionais ................................................................................. 146
5.3 O processo de Normalização ........................................................................... 147
5.3.1 Primeira Forma Normal .................................................................................... 149
5.3.2 Segunda Forma Normal ................................................................................... 151
5.3.3 Terceira Forma Normal .................................................................................... 152
5.3.4 Forma Normal de Boyce-Codd ........................................................................ 153
5.3.5 Multi-dependência e Quarta Forma Normal ..................................................... 156
5.3.6 Dependência de junção e Quinta Forma Normal ............................................. 157
TERMOS CHAVE ............................................................................................................... 160
PARA REVER … ................................................................................................................ 161
PARA INVESTIGAR … ...................................................................................................... 165
8
BASES DE DADOS COM MICROSOFT ACCESS 2007
PARTE II
II.1 O MICROSOFT ACCESS ................................................ 169
1.1 Características gerais ...................................................................................... 169
1.2 O Microsoft Access 2007................................................................................. 170
II.2 NOVIDADES DO MICROSOFT ACCESS 2007 ................... 173
2.1 Começar rapidamente a controlar as informações .......................................... 173
2.1.1 Excelentes modelos para introdução ............................................................... 173
2.1.2 Criação rápida avançada utilizando o separador Criar .................................... 174
2.1.3 Criação rápida de tabelas com a vista Folha de Dados melhorada................. 175
2.1.4 Filtrar e classificar dados ................................................................................. 175
2.1.5 Campos com valores múltiplos ........................................................................ 176
2.1.6 Anexar documentos e arquivos à Base de Dados ........................................... 177
2.1.7 Texto formatado em campos Memo ................................................................ 177
2.1.8 Calendário automático para selecção da data................................................. 177
2.1.9 Linha de total nas folhas de dados .................................................................. 178
2.1.10 Macros incorporadas ..................................................................................... 178
2.1.11 Dividir formulários .......................................................................................... 178
2.1.12 Visualizador de Ajuda melhorado .................................................................. 179
2.2 Partilhar informações controladas com outros utilizadores ............................. 179
2.2.1 Recolher dados usando o Outlook 2007.......................................................... 179
2.2.2 Colaboração na Web com o Windows SharePoint Services ........................... 180
2.2.3 Trabalhar off-line com as listas do Windows SharePoint Services .................. 180
2.2.4 Integração com o fluxo de trabalho do Windows SharePoint Services ............ 181
2.2.5 Exportar para PDF e XPS ................................................................................ 181
2.2.6 Experiência melhorada de importação e exportação ....................................... 181
2.3 Criar e adaptar relatórios para responder às necessidades ............................ 182
2.3.1 Edição dos modos Relatório e Esquema ......................................................... 182
2.3.2 Painel de campos dos Relatórios .................................................................... 183
2.3.3 Informações agrupadas em Relatórios ............................................................ 183
2.4 Gerir e auditar informações confidenciais ....................................................... 184
2.4.1 Segurança avançada ....................................................................................... 184
2.4.2 Auditoria de dados ........................................................................................... 185
2.4.3 Histórico da revisão ......................................................................................... 185
2.4.4 Configuração de permissão ............................................................................. 185
2.4.5 Reciclagem ...................................................................................................... 185
ÍNDICE
9
II.3 A INTERFACE DO MICROSOFT ACCESS 2007 ................. 187
3.1 Interface de utilizador orientada a resultados...................................................187
3.2 O friso ..............................................................................................................188
3.2.1 Os separadores do friso ................................................................................... 188
3.2.2 Secções contextuais......................................................................................... 189
3.3 O Botão Microsoft Office ..................................................................................190
3.4 Barra de Ferramentas de Acesso Rápido ........................................................191
3.5 Painel de Navegação .......................................................................................192
3.6 Barra de Estado ...............................................................................................193
II.4 CRIAÇÃO DE UMA BASE DE DADOS COM O ACCESS 2007 195
4.1 Compreender as Bases de Dados do Access ..................................................195
4.2 Iniciar o Access 2007 .......................................................................................197
4.3 Alternativas para a criação de uma Base de Dados ........................................198
4.3.1 Criar uma Base de Dados utilizando um Modelo ............................................. 199
4.3.2 Criar uma Base de Dados vazia ....................................................................... 200
4.4 Gravar e Abrir Base de Dados do Access ........................................................201
4.4.1 Gravar Bases de Dados num formato diferente ............................................... 201
4.4.2 Abrir uma Base de Dados ................................................................................ 202
II.5 CONSTRUÇÃO DE TABELAS EFICIENTES ........................ 205
5.1 Opções para a criação de uma tabela .............................................................205
5.2 Criação de uma tabela com base num modelo predefinido .............................206
5.3 Criação de uma tabela por Inserção de Dados ................................................206
5.4 Criação de uma tabela na vista de estrutura ....................................................207
5.4.1 Escolher tipos de dados ................................................................................... 208
5.4.2 Propriedades dos campos ................................................................................ 209
5.4.3 Campo chave primária ..................................................................................... 217
5.5 Relacionamentos entre tabelas ........................................................................218
5.5.1 Criação de relacionamentos ............................................................................. 219
5.5.2 Integridade Referencial .................................................................................... 220
5.5.3 Tipos de relacionamentos ................................................................................ 221
5.5.4 Alteração da estrutura de relacionamentos ...................................................... 222
5.5.5 Navegação nos relacionamentos ..................................................................... 223
10
BASES DE DADOS COM MICROSOFT ACCESS 2007
5.6 Manipulação da Folha de Dados: Formatar, ordenar, filtrar e procurar ........... 225
5.6.1 Navegação na Folha de Dados ....................................................................... 226
5.6.2 Formatação da Folha de Dados ...................................................................... 227
5.6.3 Rearranjar Colunas.......................................................................................... 227
5.6.4 Colunas escondidas ........................................................................................ 228
5.6.5 Ordenação ....................................................................................................... 229
5.6.6 Filtragem .......................................................................................................... 229
5.6.7 Pesquisa .......................................................................................................... 233
5.6.8 Imprimir a Folha de Dados............................................................................... 234
5.7 Importação e exportação de dados ................................................................. 235
5.7.1 Importar dados................................................................................................. 236
5.7.2 Exportar dados ................................................................................................ 237
5.8 Exercício guiado .............................................................................................. 238
II.6 MANIPULAÇÃO DE DADOS COM CONSULTAS .................. 247
6.1 Tipos de consultas com o Access ................................................................... 247
6.2 Criação de uma consulta simples com o assistente ........................................ 248
6.3 Criação de uma consulta com a Vista de Estrutura ......................................... 250
6.3.1 Descrição da janela para a criação de uma consulta ...................................... 251
6.3.2 Caracterização da grelha da consulta ............................................................. 252
6.3.3 Inserção de campos nas consultas.................................................................. 252
6.3.4 Visualizar a consulta através da Folha de Dados ............................................ 254
6.3.5 Especificar o tipo de ordenação....................................................................... 254
6.3.6 Valores superiores ........................................................................................... 255
6.4 Definição de critérios em consultas ................................................................. 255
6.5 Criação de consultas com tabelas relacionadas ............................................. 257
6.6 Consultas com parâmetros.............................................................................. 258
6.7 Criação de campos calculados........................................................................ 260
6.8 Consultas de Referência Cruzada ................................................................... 265
6.8.1 Criação de uma consulta de referência cruzada com o Assistente ................. 266
6.8.2 Criar uma consulta de referência cruzada com a Vista de estrutura ............... 269
6.9 Consultas de Acção ........................................................................................ 270
6.9.1 Impedir que o modo Desactivado bloqueie uma consulta ............................... 271
6.9.2 Consulta criar tabela ........................................................................................ 271
6.9.3 Consulta eliminação ........................................................................................ 273
6.9.4 Consulta acrescentar ....................................................................................... 275
6.9.5 Consulta actualização ...................................................................................... 276
ÍNDICE
11
6.10 Consultas SQL ...............................................................................................278
6.10.1 Visualização ou modificação de uma declaração SQL................................... 279
6.10.2 Consultas SQL específicas ............................................................................ 279
6.10.3 Utilização de Subconsultas ............................................................................ 282
6.11 Exercício guiado.............................................................................................282
II.7 CONSTRUIR UMA INTERFACE COM FORMULÁRIOS .......... 289
7.1 Aplicação de formulários ..................................................................................289
7.2 Opções para a criação de formulários .............................................................290
7.3 Formulário de Criação Rápida .........................................................................291
7.4 Formulários usando o Assistente .....................................................................293
7.4.1 Criação de um novo formulário com Assistente ............................................... 293
7.5 Formulários em branco ....................................................................................294
7.6 Formulários usando a Vista de Estrutura .........................................................295
7.6.1 Criação de um formulário com a Vista de Estrutura ......................................... 296
7.7 Secções do formulário .....................................................................................297
7.7.1 Accionar as secções do formulário ................................................................... 297
7.7.2 Alterar o tamanho de uma secção .................................................................... 298
7.7.3 Seleccionar as propriedades de uma secção ou do próprio formulário ............ 298
7.8 Controlos num formulário .................................................................................299
7.8.1 Controlos dependentes, independentes e de cálculo ....................................... 299
7.8.2 Inserir campos na área do formulário ............................................................... 300
7.8.3 Criar outros controlos ....................................................................................... 300
7.8.4 Criar controlos que calculem valores................................................................ 301
7.8.5 Criar controlos tipo etiqueta.............................................................................. 302
7.8.6 Alterar as propriedades de um controlo já existente ........................................ 303
7.8.7 Grupo de Opções ............................................................................................. 304
7.8.8 Caixa de Listagem e Caixa de Combinação..................................................... 307
7.8.9 Subformulários ................................................................................................. 311
7.8.10 Cálculos num formulário ................................................................................. 313
7.8.11 Cálculos num subformulário ........................................................................... 314
7.8.12 Botões de comandos ...................................................................................... 317
7.8.13 Quebras de página ......................................................................................... 318
7.8.14 Moldura de objecto dependente e independente ........................................... 319
7.9 Tabelas Dinâmicas...........................................................................................321
7.10 Efeitos especiais de construção .....................................................................324
7.10.1 Como obter uma grande selecção de cores ................................................... 324
7.10.2 Formatação dos controlos do formulário ........................................................ 325
12
BASES DE DADOS COM MICROSOFT ACCESS 2007
7.10.3 Caixas de informação para os controlos........................................................ 326
7.11 Exercício guiado ............................................................................................ 327
II.8 IMPRESSÃO DE RELATÓRIOS ........................................ 335
8.1 Aplicação de relatórios .................................................................................... 335
8.2 Modos de Criação de relatórios....................................................................... 336
8.3 Relatório de Criação Rápida ........................................................................... 337
8.4 Relatórios usando o Assistente ....................................................................... 338
8.5 Relatórios em branco ...................................................................................... 341
8.6 Relatórios usando a Vista de Estrutura ........................................................... 343
8.6.1 Secções do relatório ........................................................................................ 344
8.6.2 Controlos em relatórios .................................................................................... 346
8.7 Filtragem, Ordenação e Agrupamento ............................................................ 348
8.7.1 Filtragem de um relatório ................................................................................. 348
8.7.2 Ordenação de dados ....................................................................................... 349
8.7.3 Agrupamento dos dados .................................................................................. 351
8.8 Gráficos em relatórios ..................................................................................... 353
8.9 Etiquetas com relatórios .................................................................................. 356
8.10 Impressão de um relatório ............................................................................. 358
8.11 Exportar relatórios ......................................................................................... 359
8.12 Exercício guiado ............................................................................................ 360
II.9 MACROS ..................................................................... 365
9.1 Acções e argumentos ...................................................................................... 365
9.2 Criação de uma macro .................................................................................... 366
9.3 Execução e Teste de uma macro .................................................................... 368
9.3.1 Executar uma macro a partir do Painel de Navegação.................................... 368
9.3.2 Executar uma macro com recurso a um botão de comando ........................... 369
9.3.3 Testar uma macro passo-a-passo ................................................................... 370
9.4 Criação de grupos de macros ......................................................................... 371
9.5 Criar macros condicionadas ............................................................................ 372
9.6 Atribuir macros a acontecimentos ................................................................... 374
13
ÍNDICE
9.6.1 Atribuir uma macro a um acontecimento .......................................................... 374
9.6.2 Criar uma nova macro para um acontecimento................................................ 375
9.7 Exercício Guiado ..............................................................................................376
II.10 GESTÃO DA BASE DE DADOS ..................................... 381
10.1 Sistema de Navegação ..................................................................................381
10.1.1 Construção do Painel de Navegação ............................................................. 381
10.1.2 Designação do Sistema de Navegação como formulário de arranque da
aplicação ................................................................................................................... 383
10.2 Fazer Cópias de Segurança...........................................................................384
10.3 Utilizar uma palavra-passe para encriptar uma BD ........................................385
10.3.1 Encriptação utilizando uma palavra-passe ..................................................... 386
10.3.2 Desencriptar e abrir uma base de dados........................................................ 387
10.3.3 Remover uma palavra-passe ......................................................................... 387
10.4 Segurança para Bases de Dados Distribuídas...............................................388
10.5 Divisão de Base de Dados .............................................................................389
10.6 Analisar o desempenho .................................................................................391
10.7 Analisar Tabelas ............................................................................................393
PARTE III
III. 1 INTRODUÇÃO À PROGRAMAÇÃO EM VBA .................... 399
III.2 CARACTERÍSTICAS DA PROGRAMAÇÃO EM VBA ........... 401
2.1 Programação Orientada por Objectos ..................................... 401
2.2 O ambiente de desenvolvimento do VBA ................................ 402
2.2.1 Objectos e Classes .................................................................. 402
2.2.2 Propriedades e Métodos .......................................................... 404
2.2.3 Eventos .................................................................................... 410
14
BASES DE DADOS COM MICROSOFT ACCESS 2007
2.3 Procedimentos e Módulos ........................................................ 412
2.3.1 SubProcedimentos ................................................................... 415
2.3.2 Funções ................................................................................... 418
2.4 Janelas do Editor de Visual Basic – VBE Windows ................. 423
2.5 Conceitos e Estruturas de Controlo em VBA ........................... 428
2.5.1 Tipos de dados ......................................................................... 428
2.5.2 Variáveis e Constantes ............................................................ 429
2.5.3 Variáveis declaradas e não declaradas ................................... 430
2.5.4 Âmbito das variáveis e constantes ........................................... 432
2.5.5 Operadores .............................................................................. 435
2.5.6 Estruturas de controlo .............................................................. 437
2.6 Funções do VBA ...................................................................... 451
III.3 MODELO DE OBJECTOS NO ACCESS 2007/VBA ........... 473
3.1 Arquitectura DAO ..................................................................... 474
3.1.1 Microsoft Data Access Objects ................................................ 476
3.2 Arquitectura ADO ..................................................................... 506
3.2.1 A Metodologia ADO no Access/VBA ........................................ 508
3.2.2 Modelo de Objectos ADO ........................................................ 508
3.2.3 Objectos ADO no Access 2007 ................................................ 510
III.4 TRANSIÇÃO DA METODOLOGIA DAO PARA ADO .......... 521
ANEXO I: GLOSSÁRIO DE ABREVIATURAS ........................... 525
ANEXO II: FUNÇÕES DO VBA ............................................. 529
BIBLIOGRAFIA ................................................................... 533
PARTE
Na primeira parte deste livro é feito um enquadramento teórico
sobre bases de dados. Neste sentido, começamos por abordar os
Sistemas de Informação organizacionais, dos quais fazem parte
os Sistemas de Bases de Dados. Posteriormente veremos alguns
conceitos importantes relacionados com estes assuntos. Exploramos também o modelo relacional de Bases de Dados, apresentando os operadores da Álgebra Relacional e fazendo uma breve
abordagem à linguagem SQL. Seguidamente veremos o modelo
Entidade-Relacionamento para modelação de dados. Abordaremos, por fim, o conceito de Dependência Funcional e a sua aplicação à Normalização de relações. No final de cada capítulo são
apresentados os termos chave, algumas questões para revisão e
alguns tópicos para investigação.
I
102
BASES DE DADOS COM MICROSOFT ACCESS 2007
PARA REVER …
23. Explique sucintamente o que entende por:
a. Relação
b. Atributo
c. Tuplo
d. Grau de uma relação
e. Cardinalidade de uma relação
f.
Domínio
g. Base de dados relacional
h. Esquema de uma relação
i.
Super-chave
j.
Chave candidata
k. Chave primária
l.
Chave estrangeira
m. Regra de integridade
n. Integridade de entidade
o. Integridade referencial
24. Refira e explique sucintamente os oito operadores originais da Álgebra Relacional.
25. Para cada uma das tabelas seguintes identifique, a partir dos dados
fornecidos, as super-chaves, as chaves candidatas e a chave primária:
a.
137
I.4 MODELAÇÃO DE DADOS
PARA REVER …
31. Explique por palavras suas cada um dos termos chave apresentados.
32. Em que medida é importante a modelação de dados?
33. Considere o seguinte esquema no modelo Entidade Relacionamento:
comprimento
1
Montanha
altitude
nome
localização
N
origina
Rio
nome
Apresente as tabelas do modelo relacional associadas a este esquema.
34. Considere o diagrama E-R seguinte:
Curso
1
divide
M
Professor
1
ensino
M
Turma
M
Contém
N
Aluno
M
requere
N
Sala
a. Com base no diagrama, apresente uma descrição do sistema real.
b. Transforme o diagrama de modo a conter apenas relacionamentos com
cardinalidade 1:M.
282
BASES DE DADOS COM MICROSOFT ACCESS 2007
6.10.3 Utilização de Subconsultas
Uma SUBCONSULTA é uma declaração tipo SQL SELECT dentro de outra
CONSULTA DE SELECÇÃO ou CONSULTA DE ACÇÃO, ou seja, a SUBCONSULTA é
uma consulta que se baseia na consulta principal.
É possível criar uma SUBCONSULTA que defina um campo, ou podemos
usar uma SUBCONSULTA que defina o critério de um campo. Para definir um
critério para um campo, insere-se a declaração SELECT na linha de critério na grelha de QBE.
Podemos utilizar uma SUBCONSULTA para:
•
Calcular totais;
•
Testar a existência de algum resultado (se existe ou não uma certa
palavra ou informação de um campo);
•
Encontrar algum valor que seja maior, menor ou tão grande, como
um valor da SUBCONSULTA;
•
Criar SUBCONSULTA dentro de SUBCONSULTA.
6.11 EXERCÍCIO GUIADO
Consideremos novamente a nossa base de dados para exemplificação das
operações de consultas com o Access. Vamos fazer uma abordagem a
grande parte dos procedimentos associados às consultas, recorrendo a
exemplos que se enquadrem na utilização da base de dados Editora.
Criação de consultas com base em várias tabelas
Vamos começar por criar uma consulta que apresente os dados referentes
às vendas dos livros da editora. A consulta deverá apresentar a data, o título, a quantidade e o preço unitário do livro.
Para criar a nova consulta devemos accionar o separador
CRIAR do friso. Posteriormente, seleccionamos o Botão ESTRUTURA DA CONSULTA na secção OUTRO. A partir do quadro
MOSTRAR TABELA adicionamos as tabelas cujos campos vão ser utilizados
na consulta, nomeadamente Vendas, Venda/Livro e Livros.
II.6 MANIPULAÇÃO DE DADOS COM CONSULTAS
283
Figura II.6.45 Quadro MOSTRAR TABELA que permite a adição das tabelas cujos campos vão
ser utilizados na consulta
As referidas tabelas deverão aparecer na parte superior da janela da VISTA
DE ESTRUTURA ligadas pelos respectivos relacionamentos. Em seguida
seleccionamos os campos que pretendemos incluir na consulta. Vamos
incluir nesta primeira consulta os campos Número, Data da venda, Título,
Quantidade e PreçoUnitário do respectivo livro.
Para inserir um campo na grelha de consulta, como já referimos, podemos
arrastá-lo da respectiva tabela para a grelha ou seleccioná-lo na caixa de
listagem, que podemos abrir na primeira linha da grelha.
Figura II.6.46 VISTA DE ESTRUTURA da consulta Valor Vendas
No final, a nossa consulta deve apresentar uma estrutura como a que pode
ser vista na figura II.6.46. Depois de concluída a primeira fase da elaboração da consulta, devemos efectuar a sua gravação. Para tal, clicamos no
respectivo botão
GUARDAR e digitamos o nome Valor Vendas na janela
que aparece no ecrã.
284
BASES DE DADOS COM MICROSOFT ACCESS 2007
Figura II.6.47 Caixa de diálogo usada para atribuir um nome e
efectuar a gravação da consulta
Estabelecer uma ordenação
Vamos estabelecer uma ordenação dos registos da nossa consulta pela
data da venda, de forma a aparecem primeiro as vendas mais recentes.
Neste sentido, devemos premir com o rato no rectângulo em branco da coluna “Data” correspondente à opção ORDENAR. Em seguida, devemos escolher a opção DESCENDENTE que aparece na caixa de combinação.
Figura II.6.48 Escolha da opção de ordenação na grelha da VISTA DE ESTRUTURA da
consulta Valor Vendas
Critérios para a consulta
Podemos, a partir desta consulta, definir os mais variados critérios de
selecção. Por exemplo, vamos elaborar a consulta que apresente apenas
as Vendas do Livro “Desenho e Implementação de bases de dados com
Microsoft Access XP” em 2004.
Vamos chamar a esta consulta ”Vendas Access 2004”, que terá a mesma
estrutura de campos da consulta anterior. Em seguida, vamos introduzir na
linha CRITÉRIO as respectivas condições, tal como mostra a figura.
Figura II.6.49 VISTA DE ESTRUTURA da consulta que apresenta apenas as vendas do livro
“Desenho e Implementação de bases de dados com Microsoft Access XP” em 2004
II.6 MANIPULAÇÃO DE DADOS COM CONSULTAS
285
Consultas com parâmetros
Suponhamos que, ao abrir a consulta “Vendas dos Livros”, queríamos indicar um determinado intervalo de datas para visualizar as respectivas vendas, sem sermos obrigados a alterar a condição no modo VISTA DE ESTRUTURA da consulta.
Para resolver este problema, vamos criar uma nova consulta com o nome
“Vendas Access Mês” que terá como base a consulta anterior. Adicionalmente, vamos impor que o intervalo de tempo será definido no início da
sua execução. A figura seguinte apresenta a sequência dos procedimentos
a adoptar, desde a configuração dos critérios da consulta, até à sua execução.
Figura II.6.50 Consulta que apresenta as vendas do livro “Desenho e Implementação de
bases de dados com Microsoft Access XP” nos meses de Agosto e Setembro 2004
Campos calculados
Ainda recorrendo à consulta “Vendas dos Livros”, vamos efectuar algumas
alterações que permitam introduzir um campo calculado. Neste caso,
vamos inserir um novo campo que apresente o valor da venda de cada
livro, ou seja, vamos multiplicar a quantidade pelo preço unitário de cada
livro vendido.
Uma vez aberta a consulta em VISTA DE ESTRUTURA, vamos posicionar o
indicador do rato na linha CAMPO e na primeira coluna da grelha que estiver
vazia. Nessa célula escrevemos “Valor:” que será a legenda a apresentar
460
BASES DE DADOS COM MICROSOFT ACCESS 2007
Figura III.2.95 Tabela Venda/Livro antes da aplicação da instrução UPDATE (SQL)
Figura III.2.96 Tabela Venda/Livro depois da aplicação da instrução UPDATE (SQL), após
confirmação
Devemos ter algum cuidado na utilização deste tipo de consultas avançadas, visto podermos mesmo eliminar, acrescentar ou actualizar registos
com valores não desejados. A pensar na eventual possibilidade de engano
por parte do utilizador quer na actualização, eliminação e inserção de valores não desejados, o SQL nas consultas de acção, antes de realizar o
“UPDATE” (actualização), interroga o utilizador, no sentido de confirmar a
actualização. Esta interrogação é realizada através de uma caixa de diálogo (MsgBox), podendo o utilizador ter a última palavra no que concerne
à actualização ou não, através dos botões “sim” ou “não”.
O código VBA gerado para realizar este programa exemplo é o seguinte:
Figura III.2.97 código VBA desenvolvido para o exemplo solicitado
III.2 CARACTERÍSTICAS DA PROGRAMAÇÃO EM VBA
461
NOTA: O carácter (_) em código de programação permite quebrar uma linha de
código, continuando numa outra imediatamente abaixo sem originar erro de programação.
Função IIF
A função IIF() permite ao utilizador realizar diferentes acções consoante a
avaliação da condição (expressão), devolvendo uma das partes. A sua sintaxe é a seguinte:
IIF(expressão, ParteVerdadeira, ParteFalsa)
O parâmetro expressão representa a expressão que queremos avaliar. Os
parâmetros ParteVerdadeira e ParteFalsa, representam os valores de
retorno, caso a expressão seja verdadeira ou falsa, respectivamente (figura
III.2.100).
Funções categoria Data e Hora
As funções pertencentes a esta categoria assumem uma importância vital,
nomeadamente as funções “Date” e “Time”, quando se pretende saber a
hora e a data exacta em que um determinado registo foi introduzido ou
então introduzir num formulário/relatório a data e hora. Vamos então enumerar algumas dessas funções:
=Date()
Esta função devolve um tipo de dados “Variant” contendo a
data de sistema.
=Time()
Esta função devolve um tipo de dados “Variant” contendo a
hora de sistema.
=Now()
Esta função combina as duas funções anteriores, devolvendo um valor “Variant” que especifica a data e a hora de
acordo com o relógio interno do computador.
Download