Centro Atlântico DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP Ana Azevedo António Abreu Vidal de Carvalho DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP 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. DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP Colecção: Tecnologias Autores: Ana Azevedo, António Abreu, Vidal de Carvalho Direcção gráfica: Centro Atlântico Revisão: Centro Atlântico Capa: Paulo Buchinho © Centro Atlântico, Lda., 2002 Ap. 413 - 4764-901 V. N. Famalicão Porto - Lisboa Portugal Tel. 808 20 22 21 [email protected] www.centroatlantico.pt Fotolitos: Centro Atlântico Impressão e acabamento: Inova 1ª edição: Julho de 2002 ISBN: 972-8426-54-2 Depósito legal: 182.646/02 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. Agradecemos às nossas famílias pelo seu apoio e paciência, durante a realização deste projecto, à empresa FuturSoft e ao nosso editor, Dr. Libório Manuel Silva, pela disponibilidade, sugestões e apoio. ÍNDICE INTRODUÇÃO ..................................................................... 15 PARTE I ...................................................... 17 I.1. OS SISTEMAS DE INFORMAÇÃO E AS ORGANIZAÇÕES ....... 19 1.1 Características de um sistema ........................................ 20 1.2 A organização vista como um sistema ............................. 21 1.3 A Informação ................................................................... 22 1.3.1 Características da informação ................................... 22 1.3.2 A Informação nas organizações ................................. 23 1.3.3 Tipos de informação nas organizações ..................... 24 1.4 Os Sistemas de Informação Organizacionais .................. 25 1.4.1 Evolução histórica dos Sistemas de Informação ........ 26 1.4.2 Planeamento e desenvolvimento de Sistemas de Informação....................................... 28 1.4.3 A introdução dos Sistemas de Informação nas organizações ........................................................... 30 I.2. 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 ................................ 37 2.1.3 Redundâncias nos dados .......................................... 37 2.2 Sistemas de Bases de Dados ........................................ 38 2.2.1 Características de um Sistema de Bases de Dados . 39 2.2.2 Intervenientes num Sistema de Bases de Dados ....... 41 2.2.3 As funções do Sistema de Gestão de BD ................. 42 8 CENTRO ATLÂNTICO - DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP 2.2.4 Arquitectura do SGBD e Independência dos Dados .. 44 2.2.5 Linguagens fornecidas pelo SGBD ........................... 45 2.2.6 Classificação dos SGBD‘s ........................................ 47 2.2.7 Vantagens e desvantagens dos Sistemas de BD ...... 48 2.3 Modelos de Bases de Dados .......................................... 49 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 ............................. 55 2.4 Tendências futuras........................................................... 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 .............................................. 64 I.3. O MODELO RELACIONAL DE BASES DE DADOS .............. 67 3.1 Terminologia Básica ........................................................ 68 3.2 Atributos Chave ............................................................... 71 3.3 Regras de Integridade ..................................................... 74 3.3.1 Integridade de Entidade ............................................ 74 3.3.2 Integridade Referencial ............................................. 74 3.4 Operadores da Álgebra Relacional ................................. 75 3.4.1 O Operador SELECT ................................................ 75 3.4.2 O operador PROJECT .............................................. 76 3.4.3 O operador PRODUCT ............................................. 77 3.4.4 O operador UNION .................................................... 78 3.4.5 O Operador DIFFERENCE ....................................... 79 3.4.6 O Operador INTERSECT .......................................... 80 3.4.7 O operador JOIN ....................................................... 80 3.4.8 O operador DIVIDE ................................................... 82 3.5 SQL – Uma linguagem de bases de dados relacionais ... 83 3.5.1 Definição de dados ................................................... 84 3.5.2 Inserção e actualização de dados ............................. 87 3.5.3 Queries com SQL ..................................................... 89 3.6 As regras de Codd .......................................................... 92 ÍNDICE 9 I.4. MODELAÇÃO DE DADOS ............................................ 95 4.1 A importância da modelação de dados ........................... 95 4.2 O modelo Entidade-Relacionamento (E-R) ...................... 97 4.2.1 Entidades e Atributos ................................................ 97 4.2.2 Relacionamentos .................................................... 100 4.2.3 Entidades fracas ..................................................... 107 4.2.4 Entidades compostas ............................................. 107 4.2.5 Uma comparação de notações ............................... 110 4.3 Desenvolvendo um Diagrama E-R ................................ 111 4.4 Correspondência entre o modelo E-R e o modelo relacional .................................................... 117 I.5. DEPENDÊNCIAS FUNCIONAIS E NORMALIZAÇÃO ............ 121 5.1 A Importância da Normalização ..................................... 123 5.2 Dependências funcionais .............................................. 124 5.3 O processo de normalização ......................................... 125 5.3.1 Primeira Forma Normal ........................................... 126 5.3.2 Segunda Forma Normal .......................................... 129 5.3.3 Terceira Forma Normal ............................................ 130 5.3.4 Forma Normal de Boyce-Codd ................................ 132 5.3.5 Quarta e Quinta Formas Normais ............................ 134 PARTE II ................................................... 137 II.1. MS ACCESS XP .................................................. 139 1.1 Definição ...................................................................... 139 1.2 Características Gerais .................................................. 139 1.3 Novidades do Microsoft Access XP .............................. 141 1.4 Novas funcionalidades do Microsoft Access XP ............ 141 1.5 Iniciar o Access XP ....................................................... 144 1.5.1 Opções no menu de arranque do Access XP .......... 145 1.6 Criar uma base de dados no Access XP ....................... 146 1.6.1 Criar uma base de dados utilizando o Assistente de base de dados ................................... 146 10 CENTRO ATLÂNTICO - DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP 1.6.2 Criar uma base de dados sem utilizar o Assistente de base de dados ................................... 147 1.7 Os Objectos na janela de uma Base de Dados ............ 148 II.2. TABELAS ............................................................. 151 2.1 Criação de uma tabela .................................................. 151 2.2 Como criar uma tabela com o Assistente de tabelas ..... 153 2.3 Como criar uma tabela por inserção de dados .............. 154 2.4 Como criar uma tabela sem o Assistente de tabelas ..... 155 2.4.1 Utilizar o Construtor de Campos .............................. 156 2.4.2 Escolher tipos de dados .......................................... 157 2.4.3 Propriedades dos campos ...................................... 157 2.4.4 Campo chave primária ............................................ 165 2.5 Relacionamentos entre tabelas ..................................... 166 2.5.1 Criação de relacionamentos ................................... 167 2.5.2 Integridade Referencial ........................................... 168 2.5.3 Tipos de relacionamentos ....................................... 169 2.5.4 Alteração da estrutura de relacionamentos .............. 169 2.6 A folha de dados de uma tabela .................................... 170 2.7 Importação e Exportação de dados............................... 172 2.7.1 Importar dados ........................................................ 172 2.7.2 Exportar dados ........................................................ 173 2.8 Exercício Guiado ........................................................... 175 II.3. CONSULTAS ......................................................... 185 3.1 Definição ...................................................................... 185 3.2 Razões para aplicar uma consulta ................................. 186 3.3 Criação de uma consulta ............................................... 187 3.4 Como criar uma consulta com o Assistente ................... 188 3.5 Como criar uma consulta sem o Assistente ................... 189 3.5.1 Descrição da janela para a criação de uma consulta190 3.5.2 Caracterização da grelha da consulta...................... 191 3.5.3 Inserção de campos nas consultas .......................... 191 3.5.4 Visualizar a consulta através da folha de dados....... 192 3.5.5 Especificar o tipo de ordenação .............................. 193 3.5.6 Valores superiores .................................................. 194 3.6 Definição de critérios em consultas ............................... 194 ÍNDICE 11 3.7 Criação de consultas com base em várias tabelas ........ 196 3.8 Consultas com parâmetros ............................................ 198 3.9 Criar campos calculados ............................................... 199 3.10 Consultas de Referência Cruzada ............................... 203 3.10.1 Criar uma Consulta Tabela de referência cruzada com um Assistente .................................. 204 3.10.2 Como criar uma consulta de referência cruzada sem o Assistente ................................................... 205 3.10.3 Especificar os cabeçalhos de colunas ................... 206 3.11 Consultas de Acção .................................................... 207 3.11.1 Consulta criar tabela .............................................. 207 3.11.2 Consulta eliminação .............................................. 209 3.11.3 Consulta acrescentar ............................................. 210 3.11.4 Consulta actualização ............................................ 211 3.12 Consultas SQL ............................................................ 212 3.12.1 Como visualizar ou modificar uma declaração do SQL ............................................... 213 3.12.2 Consultas de SQL específicas ............................... 213 3.12.3 Utilização de Subconsultas .................................... 216 3.13 Exercício Guiado ......................................................... 217 II.4. FORMULÁRIOS ...................................................... 229 4.1 Definição ...................................................................... 229 4.2 Aplicação de formulários ............................................... 229 4.3 Modos de Criação de formulários ................................. 230 4.4 Formulários com “Formulários Automáticos” ................. 231 4.4.1 Formulário Automático: Colunas .............................. 231 4.4.2 Formulário Automático: Tabelas .............................. 231 4.4.3 Formulário Automático: Folha de Dados ................. 232 4.5 Formulários usando os Assistentes ............................... 233 4.5.1 Como criar um novo formulário com o Assistente .... 233 4.6 Formulários usando a vista de estrutura ........................ 235 4.6.1 Como criar um formulário sem o Assistente............. 235 4.6.2 Inserir campos na área do formulário ....................... 236 4.7 Secções do formulário .................................................. 237 4.7.1 Alterar o tamanho de uma secção ........................... 238 4.7.2 Seleccionar as propriedades de uma secção ou do próprio formulário .......................................... 238 4.8 Controlos num Formulário ............................................. 239 12 CENTRO ATLÂNTICO - DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP 4.8.1 Controlos dependentes, independentes e de cálculo 239 4.8.2 Criar outros controlos usando a Caixa de Ferramentas .............................................. 240 4.8.3 Criar controlos que calculem valores ....................... 241 4.8.4 Criar controlos tipo etiqueta..................................... 241 4.8.5 Alterar as propriedades de um controlo já existente . 242 4.8.6 Grupo de Opções .................................................... 243 4.8.7 Caixa de Listagem e Caixa de Combinação ........... 248 4.8.8 Subformulários ........................................................ 253 4.8.9 Cálculos num formulário .......................................... 256 4.8.10 Cálculos num subformulário ................................... 257 4.8.11 Botões de comandos ............................................ 259 4.8.12 Quebras de página ............................................... 262 4.8.13 Moldura de objecto dependente e independente ... 262 4.9 Efeitos especiais de construção ................................... 265 4.9.1 Como obter uma grande selecção de cores ............ 266 4.9.2 Formatação dos controlos do Formulário ................ 266 4.9.3 Caixas de informação para os controlos ................. 267 4.11 Impressão e gravação de um formulário ...................... 268 4.12 Exercício Guiado ......................................................... 269 II.5. RELATÓRIOS ......................................................... 279 5.1 Definição ...................................................................... 279 5.2 Aplicação de Relatórios ................................................ 279 5.3 Modos de Criação de Relatórios ................................... 280 5.4 Relatório com Relatórios Automáticos ........................... 282 5.4.1 Relatório Automático: Colunas ................................ 282 5.4.2 Relatório Automático: Tabelas ................................. 283 5.5 Relatórios usando os Assistentes .................................. 283 5.5.1 Como criar um relatório com o Assistente ............... 284 5.5.2 Como criar um relatório com o Assistente de etiquetas ............................................ 287 5.6 Relatórios usando a vista de estrutura ........................... 291 5.6.1 Como criar um relatório sem o Assistente ............... 291 5.7 Secções do Relatório .................................................... 292 5.8 Controlos em Relatórios ................................................ 294 5.9 Ordenação e Agrupamento ........................................... 295 5.9.1 Ordenação de dados .............................................. 295 5.9.2 Agrupar os dados .................................................... 296 ÍNDICE 13 5.10 Impressão de um relatório ........................................... 297 5.11 Exportar Relatórios para o MSWord e MSExcel .......... 298 5.12 Exercício Guiado ......................................................... 299 II.6. PÁGINAS DE ACESSO A DADOS ................................ 305 6.1 Definição ...................................................................... 305 6.2 Utilização das Páginas de acesso a dados ................... 305 6.3 Modos de Criação de Relatórios ................................... 306 6.4 Criar Páginas com Página Automática .......................... 307 6.5 Criar Páginas com o Assistente .................................... 308 6.6 Páginas usando a vista de estrutura .............................. 311 6.6.1 Como criar uma página sem o Assistente ............... 311 6.6.2 Secções da Página ................................................. 313 6.6.3 Adicionar um tema a uma página ............................ 314 6.6.4 Agrupar os dados de uma página ............................ 315 6.7 Ver a página de acesso a dados ................................... 316 6.8 Tornar disponíveis as páginas de acesso a dados ........ 317 6.9 Exercício Guiado ........................................................... 320 II.7. MACROS ............................................................. 327 7.1 Definição ...................................................................... 327 7.2 Acções e argumentos .................................................... 327 7.3 Criar uma macro ........................................................... 328 7.4 Executar e Testar uma macro ........................................ 330 7.4.1 Executar uma macro a partir da janela BD ............... 330 7.4.2 Executar uma macro com recurso a um botão de comando ................................................... 331 7.4.3 Testar uma macro passo-a-passo ........................... 332 7.5 Criar Grupos de Macros ................................................ 333 7.6 Criar Macros Condicionadas ........................................ 335 7.7 Atribuir Macros a Acontecimentos ................................. 336 7.7.1 Atribuir uma macro a um acontecimento .................. 337 7.7.2 Criar uma nova macro para um acontecimento ........ 338 7.8 Exercício Guiado ........................................................... 340 14 CENTRO ATLÂNTICO - DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP PARTE III .................................................. 345 III.1. VBA - MICROSOFT VISUAL BASIC FOR APPLICATIONS 347 1.1 Introdução à Programação em VBA .............................. 347 1.2 Características da programação em VBA ..................... 347 1.2.1 Programação Orientada por Objectos ..................... 347 1.2.2 O ambiente de desenvolvimento do VBA ................ 348 1.2.3 Procedimentos e Módulos ....................................... 358 1.2.4 Janela do Editor de Visual Basic – VBE Windows .. 367 1.2.5 Conceitos e Estruturas de Controlo em VBA ........... 372 ANEXO I. GLOSSÁRIO DE ABREVIATURAS ............................. 413 ANEXO II. FUNÇÕES DO VBA .......................................... 417 ANEXO III. PROTECÇÃO JURÍDICA DAS BASES DE DADOS ELECTRÓNICAS (POR MANUEL OEHEN MENDES) ... 423 BIBLIOGRAFIA ................................................................. 439 Introdução A ideia de escrever este livro surgiu do facto de nós, os seus autores, com responsabilidades e diversos projectos desenvolvidos com estes conceitos e tecnologias, quer a nível académico quer a nível profissional, sentirmos a falta de um livro que englobasse todo o processo de concepção e implementação de um sistema de base de dados. Ao pensar na sua elaboração, pretendemos atingir um vasto leque de leitores. Em primeiro lugar, pretendemos abranger leitores no contexto das PME’s portuguesas, dada a importância da utilização dos sistemas de bases de dados nesta área. Por outro lado, entendemos também que o nosso trabalho tem as características necessárias para que possa ser utilizado como ferramenta a nível académico, no apoio às disciplinas de Sistemas de Informação e de Bases de Dados. Salientamos os seguintes aspectos do livro: • É feito um enquadramento teórico do tema das bases de dados, pois consideramos esse enquadramento fundamental; • Nos aspectos teóricos serão referenciadas as últimas evoluções registadas nesta área, nomeadamente, novos modelos de bases de dados, Datawarehouses, Data Mining, etc. • É feita a utilização de um “exercício guiado” uniforme em todo o livro e que será a base para o desenvolvimento dos procedimentos associados à elaboração de uma Base de Dados; • Será feita a exploração das últimas potencialidades da nova versão do Microsoft Access XP (pois é o SGBD mais utilizado em Portugal quer nas PMEs quer nas aulas das disciplinas de Introdução às Bases de Dados nas Universidades), nomeadamente as funcionalidades associadas à Internet; 16 C ENTRO A TLÂNTICO - DESENHO E IMPLEMENTAÇÃO DE B ASES DE DADOS COM M ICROSOFT A CCESS XP Este livro encontra-se estruturado em três partes distintas e complementares. Esta estruturação proporciona aos leitores uma sequência lógica dos procedimentos a adoptar na elaboração de uma base de dados, desde a estruturação inicial dos dados, passando pelas funcionalidades do Microsoft Access XP, até aos procedimentos mais avançados suportados pela programação em Visual Basic (VBA). Na primeira parte é feito um enquadramento teórico do tema das 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ências Funcionais e a Normalização de relações. Na segunda parte serão abordados os procedimentos e funcionalidades associados à concepção, implementação e manutenção de uma Base de Dados, com base na utilização do Sistema de Gestão de Base de Dados Microsoft Access XP. Com efeito, serão explorados na prática os diferentes objectos do MS Access XP nomeadamente, Tabelas, Consultas, Formulários, Relatórios, Páginas de acesso a dados e Macros. Na terceira parte serão abordados conceitos gerais sobre programação orientada a objectos, em particular, será abordada a linguagem de programação VBA como linguagem de manipulação de bases de dados com MS Access XP. PARTE III O VBA permite de uma forma concreta manipular os diversos objectos existentes na Base de Dados. A sua utilização permite ao utilizador, mais experiente, a realização de acções, tais como, a tomada de uma decisão ou a repetição de várias acções, que seriam impossíve is sem o recurso a uma ferramenta de programação (VBA). Neste capítulo irão ser abordados os vários conceitos da estrutura VBA e sua metodologia, que permitirão ao utilizador, de uma forma clara, usar o recurso à informação, quer para pesquisa, alteração ou aperfeiçoamento com o objectivo de tornar mais eficiente e amigável o tratamento de dados. 1 VBA - Microsoft Visual Basic for Applications 1.1 INTRODUÇÃO À PROGRAMAÇÃO EM VBA O objectivo deste capítulo é o de fornecer um conjunto de noções básicas e exemplos de programação em VBA, que permitam ao utilizador, com uma razoável experiência na utilização do MSAccess, construir pequenos programas que aumentem a eficiência e optimização das suas bases de dados. Ao longo deste capítulo serão abordados, de uma forma detalhada, os vários aspectos de programação em Visual Basic for Applications, bem como situações de programação que, embora associadas ao contexto da base de dados – exemplo (“Consultório do Dr. Dentinho”), facilmente se adaptarão às próprias bases de dados do leitor. 1.2 CARACTERÍSTICAS DA PROGRAMAÇÃO EM VBA 1.2.1 Programação Orientada por Objectos Com a utilização do VBA, o utilizador estará a tomar conhecimento dos diversos objectos existentes no VBA - Object Basic (derivado do Visual Basic), o qual é também a base do Visual Basic for Applications (VBA), 348 C ENTRO A TLÂNTICO – DESENHO E IMPLEMENTAÇÃO DE B ASES DE DADOS COM M ICROSOFT A CCESS XP que é, actualmente, o suporte de programação nas principais aplicações do Microsoft Office. Deste modo, aumenta-se a eficiência do programador, que encontrará métodos semelhantes no Word, Excel, Project, Access XP... O utilizador que já possui alguma experiência de programação, irá encontrar muitos conceitos e estruturas familiares, como variáveis, condições, ciclos repetitivos, entre outras. O VBA é uma linguagem de programação estruturada, que permite gerir as estruturas de dados e os objectos concebidos pelo próprio Access. Uma das necessidades mais importantes é a alteração da forma de pensar do programador. Torna-se fundamental ter sempre presente que o VBA no Access XP manipula objectos, que vão desde a própria base de dados, passando pelos nossos conhecidos formulários, relatórios, consultas,... até janelas, caixas de diálogo, folhas de cálculo do Excel, documentos do Word,... . Por outro lado, encontra-se uma filosofia de eventos (acções reconhecidas por um objecto), aos quais se associam determinados métodos, instruções e funções de VBA, que já se encontram disponíveis na própria linguagem, como por exemplo: • efectuar um cálculo num formulário, após a escolha de uma determinada opção (OnClick) ou depois de passar com o rato sobre um botão (OnMouseMove); • verificar se um valor é ou não válido, após a sua alteração (AfterUpdate); • activar um conjunto de configurações do ambiente de trabalho, quando é aberto um determinado formulário (OnOpen); No entanto, e porque este capítulo parte do princípio de que o utilizador não é um programador experiente, serão abordados todos os conceitos básicos necessários. 1.2.2 O ambiente de desenvolvimento do VBA Como já referimos, o MSAccess XP suporta a linguagem de programação orientada por objectos – VBA, possuindo para tal estruturas pró- 349 III.1. M ICROSOFT V ISUAL B ASIC FOR A PPLICATIONS - VBA prias, tais como: colecção, objectos, propriedades, métodos e Eventos (Figura III.1.1), que passarei a descrever. OBJECTOS OBJECTS Têm Associadas Podem Responder a Têm Associados MÉTODOS PROPRIEDADES PROPERTIES METHODS EVENTOS EVENTS CÓDIGO Que constitui A resposta A cada evento Figura III.1.1 Forma esquemática de alguns dos elementos fundamentais da programação em VBA Objectos e Classes O Visual Basic for Applications é uma linguagem de programação orientada por objectos, como já foi referido. Os objectos são entidades das mais diversas origens, tais como carros, telemóveis, vídeos, etc. Os objectos no VBA possuem propriedades, executam métodos e respondem a eventos. Os objectos, tal como acontece na vida real, são agrupados por modelos ou espécies (os Siemens si45, Siemens s45 e Siemens 45 pertencem à classe dos telemóveis), também em VBA os objectos, por exemplo, Texto1, Texto2, Texto3, num Formulário, pertencem todos à classe Caixa de Texto (TextBox). O objecto Aplicação (Application) é considerado o objecto de mais alto nível da aplicação de Base de Dados, e a ele são acopladas todas as colecções de objectos abertos no momento, Formulários (Forms), Rela- 350 C ENTRO A TLÂNTICO – DESENHO E IMPLEMENTAÇÃO DE B ASES DE DADOS COM M ICROSOFT A CCESS XP tórios (Reports) e Módulos (Models). Cada um dos Formulários e relatórios contém, por sua vez, uma colecção de controlos. O objecto Aplicação (Application) possui ainda dois objectos especiais: o objecto Screen 1 e o objecto DoCmd2. O objecto Screen possui algumas propriedades particularmente importantes e úteis: ActiveControl, ActiveDataSheet, ActiveForm, ActiveReport, PreviousControl e MousePointer. O objecto DoCmd permite executar a maior parte das acções das macros no VBA (Figura III.1.2 e Figura III.1.3). Figura III.1.2: Código exemplificativo da utilização dos objectos Screen e DoCmd Figura III.1.3: Resultado do Formulário na utilização dos objectos Screen e DoCmd 1 O objecto “Screen” pode ser utilizado para referenciar em particular um formulário, relatório ou controlo, que esteja activo naquele momento. 2 O objecto “DoCmd” permite que ao serem utilizados os vários métodos deste objecto possamos correr diversas acções do Microsoft Access XP a partir do Visual Basic for Applications. Por exemplo, podemos utilizar o método “OpenForm” do objecto “DoCmd” para abrir um formulário. III.1. M ICROSOFT V ISUAL B ASIC FOR A PPLICATIONS - VBA 351 Propriedades e Métodos Em programação, o conceito de objecto tem associado a si não apenas o conceito de propriedade como também o conceito de método. As propriedades e os métodos caracterizam a aparência e o comportamento dos objectos. As propriedades assumem valores e os métodos fazem executar operações. A forma (sintaxe) de interligar um método ou uma propriedade a um objecto3 é a seguinte: objecto.propriedade ou objecto.método. Por exemplo, TxtCodigo.BackColor especifica a propriedade da cor de fundo do objecto caixa de texto (TextBox) TxtCodigo num determinado formulário. Outro exemplo será Forms.Item (0), que se refere ao primeiro Formulário da colecção. O MSAccess XP numera os objectos dentro de uma colecção, a partir de zero (0) até NomeColecção.Count - 1. Por exemplo, poderíamos determinar o número de formulários abertos por referência à propriedade Count da Colecção Formulários: Forms.Count. Podemos ter acesso às propriedades de um objecto da base de dados, quando nos encontramos no modo de estrutura (Design View) e acedemos ao menu “Ver”, opção “Propriedades”, ou então, clicamos no botão propriedades da barra de ferramentas (Figura III.1.4 e Figura III.1.5). Figura III.1.4: acesso às propriedades dos objectos pela barra de ferramentas 3 O termo objecto está aqui referido no sentido de objecto individual (controlo) ou como colecção de objectos.