bases de dados com microsoft access · pdf file3.5 sql – uma linguagem de bases de...

24

Upload: ngokhanh

Post on 11-Mar-2018

220 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas
Page 2: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas
Page 3: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

VIDAL DE CARVALHO ANA AZEVEDO

ANTÓNIO ABREU

BASES DE

DADOS COM

MICROSOFT ACCESS 2007

Portugal/2008

Page 4: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

’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.

Page 5: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

Í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

Page 6: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

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

Page 7: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

Í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

Page 8: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

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

Page 9: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

Í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

Page 10: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

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

Page 11: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

Í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

Page 12: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

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

Page 13: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

ÍNDICE 13

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

Page 14: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

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

Page 15: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

PARTE I

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. Explora-mos também o modelo relacional de Bases de Dados, apresen-tando os operadores da Álgebra Relacional e fazendo uma breve abordagem à linguagem SQL. Seguidamente veremos o modelo Entidade-Relacionamento para modelação de dados. Abordare-mos, por fim, o conceito de Dependência Funcional e a sua apli-caçã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.

Page 16: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

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 Ál-gebra Relacional.

25. Para cada uma das tabelas seguintes identifique, a partir dos dados fornecidos, as super-chaves, as chaves candidatas e a chave pri-mária:

a.

Page 17: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

I.4 MODELAÇÃO DE DADOS 137

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:

Apresente as tabelas do modelo relacional associadas a este esquema.

34. Considere o diagrama E-R seguinte:

divide

Contémensino

requere

Professor

Curso

Turma Aluno

Sala

1

1

M

M

M

M N

N

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.

Montanha Rio

origina

nome

comprimento

altitude nome localização

1 N

Page 18: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

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 ES-TRUTURA 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.

Page 19: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

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ã.

Page 20: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

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 co-luna “Data” correspondente à opção ORDENAR. Em seguida, devemos es-colher 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

Page 21: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

II.6 MANIPULAÇÃO DE DADOS COM CONSULTAS 285

Consultas com parâmetros

Suponhamos que, ao abrir a consulta “Vendas dos Livros”, queríamos indi-car um determinado intervalo de datas para visualizar as respectivas ven-das, sem sermos obrigados a alterar a condição no modo VISTA DE ESTRU-TURA 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. Adicional-mente, 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 exe-cuçã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

Page 22: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

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ça-das, 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 valo-res 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

Page 23: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas

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 pro-gramaçã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 sin-taxe é 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 enu-merar 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, devol-vendo um valor “Variant” que especifica a data e a hora de acordo com o relógio interno do computador.

Page 24: BASES DE DADOS COM MICROSOFT ACCESS  · PDF file3.5 SQL – Uma linguagem de bases de dados relacionais ..... 88 3.5.1 Definição de dados ... 6.10.2 Consultas SQL específicas