73
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access 1 INTRODUÇÃO AO BANCO DE DADOS MICROSOFT ACCESS FEA/USP Prof. Dr. Ronaldo Zwicker 1998

Informática - Introdução ao Microsoft Access

  • Upload
    excelly

  • View
    2.900

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

1

INTRODUÇÃO AOBANCO DE DADOS

MICROSOFT ACCESS

FEA/USP

Prof. Dr. Ronaldo Zwicker

1998

Page 2: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

2

Introdução ao Microsoft AccessO Microsoft Access é um software utilizado para o desenvolvimento de sistemas deBancos de Dados. Ele é baseado no argumento dos bancos de dados relacionais no qual ousuário/projetista mantém informações organizadas em forma tabular. Não é objetivodesta apostila detalhar qualquer metodologia de análise de sistemas voltada àespecificação de soluções baseadas no argumento relacional. Normalmente esta análise ereflexão prévias constituem passos importantes para obtenção de bons sistemasautomatizados de armazenamento e recuperação de informações.

Ao longo do texto, emprega-se um exemplo/modelo muito simples baseado em apenastrês tabelas. O que se deseja automatizar é um cadastro de funcionários onde, além dasinformações típicas de nome e número, participam informações associadas referentes aodepartamento do funcionário, seu cargo e seu salário. Estas informações constam deoutros dois cadastros. Estes cadastros são naturalmente tabulares e seu exato conteúdofica evidente ao longo do texto.

O texto que segue não pretendeu-se de forma alguma esgotar todos os recursos epossibilidades do Access. Em geral, os pontos mais relevantes e de utilidade maisimediata foram abordados. Tentou-se evitar o detalhamento de minúcias principalmentereferentes a recursos estéticos de tela. Além disso, certamente há pontos quesimplesmente foram esquecidos ou ignorados ao longo desta compilação. A parte deprogramação não é abordada neste texto introdutório.

Todos os constituintes de um Banco de Dados em Access são reunidos em um únicoarquivo de extensão mdb. Para abrir um Banco de Dados basta selecionar o arquivo datela de diálogo do menu Arquivo opção Abrir Banco de Dados. Para criar um novo Bancode Dados seleciona-se a opção Novo Banco de Dados.

O Access também cria um arquivo de extensão ldb. Este arquivo tem utilidade emambientes multiusuário onde um mesmo banco de dados pode estar sendo acessadosimultaneamente por vários usuários. Se este não for o caso, então não é necessário sepreocupar com este arquivo. Inclusive não é necessário copiar o arquivo conjuntamentecom o arquivo de extensão mdb, por exemplo, para um disquete. O Access recria oarquivo ldb se ele não estiver presente.

Convém observar que no menu Arquivo consta a opção Salvar, entretanto, ela não serefere ao arquivo mdb. Ela serve para salvar objetos isolados do Access: tabelas,formulários, consultas, relatórios e macros. Isto significa que ao longo de uma sessão oarquivo mdb é constantemente atualizado e não é possível revertê-lo à sua condiçãooriginal no início da sessão.

Page 3: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

3

Capítulo 1 – Tabelas

1.1 - Definição

Uma Tabela é uma área de disco ou memória que armazena informações sobre algumassunto, por exemplo, uma relação de funcionários. As informações de cada funcionárioconstituem um registro. Uma determinada informação constitui um campo.

Figura 1.1 - Tabela

Cada campo possui características próprias. Por exemplo, na tabela da figura 1.1podemos identificar campos numéricos como o campo número do funcionário e camposalfanuméricos ou textuais como o campo nome do funcionário. Dizemos, portanto, quecada campo contém dados de um certo tipo.

Além do tipo, cada campo possui características adicionais que eventualmente dependemdo seu tipo. Por exemplo, campos textuais possuem um comprimento máximo emnúmero de caracteres. Por outro lado, em campos numéricos as informações sãoarmazenadas em diferentes formatos internos do computador: como número inteiro, comonúmero fracionário, como número fracionário de dupla precisão etc. Todas estascaracterísticas precisam ser especificadas quando se cria uma nova tabela no Banco deDados.

Registro Nome da Tabela Chave Primária Campo Nome do Campo

Texto (3) Número Texto (30) Texto (5)

Tipo / Tamanho do Campo

Page 4: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

4

Usualmente também é necessário especificar para cada tabela qual o campo ( ouconjuntos de campos ) que identifica univocamente cada registro. Este campo édenominado Chave Primária. No exemplo dado, a chave primária mais natural é ocampo número do funcionário já que nunca teremos dois funcionários com o mesmonúmero. O campo nome do funcionário não seria uma boa escolha porque podemos terhomônimos na tabela. A chave primária:

- determina a ordem padrão segundo a qual os registros são listados na tela;- impede que se alimentem dois registro com chaves idênticas.

1.2 – Gerar nova tabela

A obtenção de uma nova tabela é feita a partir da janela Banco de Dados selecionandoTabelas e clicando em Novo. Em resposta aparece uma janela que permite alternativaspara a definição da tabela, em geral interessa apenas o Modo Estrutura. No modoEstrutura os campos são definidos, assim como suas respectivas propriedades.

Figura 1.2 – Janela Banco de dados

Geralmente, o Access abre na janela Tabela. Caso isso não ocorra, basta selecioná-la eem resposta na janela aparecerão todas as tabelas pertencentes ao Banco de Dados emquestão.

Quando uma nova tabela é criada, o Access atribui a ela o nome de Tabela1. Este nomeserá posteriormente alterado para o nome definitivo da tabela. A figura 1.3 mostra a

Selecionar

Seleciona nome da tabela para Abrir ou mudar aEstrutura

Mostra o conteúdo Altera aestrutura Cria nova

estrutura

Page 5: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

5

janela de definição de estruturas de tabelas, ela vem acompanhada da correspondentebarra de ferramentas mostrada na figura 1.4.

Para digitar informações basta clicar a barra de inserção na linha desejada e digitar. Parasaltar de uma coluna para outra, basta utilizar a tecla TAB. Para remover informações,selecione ou marque e use a tecla Delete ou DEL.

Figura 1.3 – Janela de construção de tabelas

Figura 1.4 – Barra de ferramentas para a construção de tabelas

Clicar paraselecionar todasas linhas

Aumenta a larguradas colunas

Definiçãodos campos

Clicarparaselecionara linhainteira

Aumentaa alturadas linhas

Muda para o modofolha de dados

Salvamodificações

Desfaz aúltimaoperação

ChavePrimária

Lista depropriedadesda tabela

Help

Cria formulários,relatórios,consultas e macros

Mudapara omodoEstrutura

Índices

Inserir eExcluirlinhas decampo

Page 6: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

6

1.3 - Tipos e formatos de dados

Cada campo irá conter dados de certo tipo. O tipo de dados pode ser escolhido na listaacionada através do botão de escolha da figura 1.5.

Figura 1.5 – Tipos de dados

Texto: até 255 caracteresMemorando: até 65.535 bytes (sentenças/parágrafos)Número: tipo exato depende do tamanho do campoData/Hora: data e hora para anos de 100 a 9999Moeda: 15 dígitos à esquerda e 4 a direita do ponto decimalAutoNumeração: incrementado automaticamente ao adicionar registroSim/Não: valor booleano de 1 bitAssistente de pesquisa: cria campo cujo valor pode ser escolhido de uma lista

Os campos tipo número podem ter vários tamanhos de campo que determinam suacapacidade de armazenamento de valores numéricos:

Tamanho Bytes VariaçãoByte 1 0 a 255Inteiro 2 -32.768 a 32767Inteiro Longo 4 -2.147.483.648 a 2.147.483.647Simples 4 -3.402.823E38 a 3.402.823E38Duplo 8 -179.768.313.486.232E308 a 179.769.313.486.232E308

Além disso, os números podem ter diversos formatos de exibição. Os formatos apenasatuam sobre a forma como o dado é mostrado na tela, ele não altera a forma dearmazenamento interno. O número de casas decimais também pode ser escolhido pelousuário:

Número geral: exibe o número no formato padrãoMoeda: separa milhares, mostra negativos entre parentesis, com 2 decimaisFixo: exibe no mínimo 1 dígito com dois decimaisPadrão: idem, mas separa em milharesPorcentagem: multiplica por 100 e acrescenta sinal %Científico: usa notação mantissa/expoente

Page 7: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

7

As outras propriedades dos campos incluem:

Máscara de entrada: usada para facilitar a entrada de dadosLegenda: para ser usada no lugar do nome do campo em formuláriosValor padrão: valor que inicializa o campoRegra de validação: expressão que verifica a consistência do dado alimentado

(por exemplo: >0 e < 100)Texto de validação: mensagem de erro a ser apresentada se a regra de validação

não foi satisfeitaRequerido: indica que este campo exige entrada de algum dado, se não

for requerido, o campo admitirá o valor nulo (teclar enter)Comprimento zero: indica se a cadeia vazia(“”) para campos texto constitui ou

não uma entrada válidaIndexado: permite definir o campo como sendo um índice para

acelerar o acesso às informações da tabela.

1.4 – Chave Primária

Deve-se informar para cada tabela qual o campo que constitui a sua chave primária. Umcampo é candidato a ser chave primária se permitir a identificação única de cada registroda tabela. Para definir uma chave primária, realize as seguintes operações:

- Selecione o campo que constituirá a chave primária; se a chave for de múltiploscampos, selecione os campos apertando simultaneamente a tecla CTRL;

- Clique o botão da chave primária na barra de ferramentas

Para alterar a campo chave, simplesmente reposicione sobre outro campo e clique o botãoda chave primária.

Em geral é necessário definir uma chave primária para cada tabela. No cadastro defuncionários, o campo número do funcionário é o candidato mais natural pois defineprecisamente cada funcionário. O campo nome do funcionário seria um candidato setivéssemos certeza de que não ocorressem homônimos no cadastro.

É possível criar tabelas sem chave primária, basta que o usuário responda Não quando oAccess perguntar se deseja ou não criar uma chave ( a pergunta é feita sempre que ousuário não tiver acionado a definição através do botão correspondente). Quando oAccess faz esta pergunta o usuário deve tomar cuidado pois a resposta Sim faz com oAccess inclua mais um campo automaticamente. Este é um campo de autonumeraçãoque funciona como chave pois cada novo registro inserido ele numera através destecampo. Em geral o usuário não deseja esse campo. Sugere-se que o usuário dê comoresposta Cancelar voltando para a janela de estrutura onde ele pode escolher e definir o(s)campo(s) da chave primária.

Page 8: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

8

1.5 – Folha de dados

A entrada de dados (registros) na tabela é feita via folha de dados acionada através dobotão na barra de ferramentas ou via botão Abrir na janela Banco de dados. A figura 1.6mostra a folha de dados da tabela Cadastro de Funcionários.

Figura 1.6 – Folha de Dados de uma tabela

Para remover registros, selecione os registros e aperte a tecla DEL ou aperte o botão deExcluir registro. Para criar um novo registro basta posicionar o ponto de inserção em umalinha em branco ou clicar no botão de Novo registro situado na barra de ferramentas ouna borda inferior da tabela.

Para inserir registros, insira sempre no final. Quando a tabela for reapresentada o registroestará inserido de acordo com a chave primária. Para alterar registros basta redigitar porcima do texto atual.

Pode-se alterar o layout da folha de dados alterando a altura das linhas, largura decolunas, fontes para caracteres etc. Para tanto, utilizar no menu Formatar as opções láindicadas. A opção Congelar colunas serve para fixar a coluna onde está o ponto deinserção ou colunas situadas à esquerda da janela, evitando que elas sejam roladas parafora. Para salvar as mudanças no layout da tabela basta clicar no botão Salvar na barra deferramentas ou selecionar a opção Salvar no menu Arquivo. Ao fechar a tabela sem tersalvado as alterações, o próprio Access abre uma caixa de diálogo perguntando se vocêdeseja salvar o novo layout; caso você queira salvá-lo clique em Sim.

Primeiroregistro

Retrocederregistro

Avançarregistro

Últimoregistro

Novoregistro

Registro sendo editado

Novo registro

Seleciona todasas linhas

Page 9: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

9

Para trocar colunas de lugar, selecione a coluna, clique novamente na sua legenda earraste-a para uma outra coluna ao lado da qual será inserida.

Pode-se copiar, mover e remover dados/registros via menu Editar e opções Recortar,Copiar, Colar, tradicionais em ambiente Windows. Podemos copiar dados entre campos,copiar registros para o final da tabela ou copiar registros entre tabelas diferentes. Nesteúltimo caso a cópia é feita segundo a ordem dos campos, independentemente do nomedeles. Caso se deseja que a cópia substitua certos registros, estes devem ser selecionadosantes de usar Colar. Se a cópia for para o final da tabela, utilizar Colar acréscimo nomenu Editar.

A folha de dados possui barra de ferramentas própria:

Figura 1.7 – Barra de ferramentas da folha de dados de uma tabela

Para procurar dados na tabela pode-se acionar o botão correspondente na barra deferramentas ou utilizar Localizar no menu Editar. Na caixa de diálogo que aparecerá emseguida você pode escolher onde o dado deve ser procurado. Em princípio, a procura seráfeita no campo onde está o ponto de inserção. Também é possível trocar uma informaçãopor outra através da opção Substituir do menu Editar. Neste caso é necessário fornecer ovalor a procurar e o novo valor que será atribuído.

Para mostrar na folha de dados apenas os registros que satisfaçam determinada condiçãodeve-se especificar um filtro. A montagem de filtros utiliza recursos análogos àconstrução de consultas como será visto mais adiante. Uma vez especificados os critériosde seleção dos registros, aplica-se o filtro com o botão correspondente. Para voltar avisualizar todos os registros utiliza-se o botão Remover.

1.6 – Salvar tabela

Podemos salvar a tabela via menu Arquivo e opção Salvar. Se desejamos salvá-la comoutro nome, utilizar a opção Salvar como. Também será salva a tabela se fechamos ajanela via botão de fechamento Windows ou via Fechar no menu Arquivo. Observar quepodemos minimizar a janela Tabela via botão de minimização Windows. Deve ficar claroque a operação de salvamento salva tanto a estrutura quanto o conteúdo (registros) databela.

SalvarVisualizarimpressão

Desfaz aúltimaoperação

Classificaem ordemcrescente edecrescente

Filtros

Botão utilizadopara localizardados

Aplicar/remover filtro

Page 10: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

10

As folhas de dados das outras tabelas que constituem o banco de dados Empresa estãoindicadas a seguir:

Figura 1.8 – Outras tabelas do Banco de dados Empresa.

Page 11: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

11

Capítulo 2 – RelacionamentosÉ comum que informações de uma tabela estejam associadas com informações de outrastabelas. Neste caso podemos estabelecer um relacionamento entre as duas tabelas. Éatravés do relacionamento que o Access consegue, a partir de informações numa tabela,obter informações registradas na outra tabela. Existem três tipos de relacionamentos entreduas tabelas A e B: um-para-um, um-para-muitos e muitos-para-muitos.

2.1 – Relacionamento um-para-um

O relacionamento um-para-um ocorre quando um registro na tabela A possui no máximoum registro associado na tabela B e um registro na tabela B possui no máximo umregistro associado na tabela A.

Este relacionamento está presente no número do gerente/número do funcionário, entre ocadastro de departamentos e o cadastro de funcionários. Para cada número de gerenteidentificamos apenas um registro no cadastro de funcionários e cada funcionário éeventualmente gerente de apenas um departamento.

2.2 – Relacionamento um-para-muitos

O relacionamento um-para-muitos ocorre quando um registro na tabela A pode ter maisde um registro associado na tabela B, entretanto, um registro da tabela B possui nomáximo um registro associado na tabela A.

Este relacionamento está presente na sigla do departamento entre o cadastro dedepartamento e o cadastro de funcionários. Para cada sigla no cadastro de departamentosidentificamos vários registros com esta sigla no cadastro de funcionários, entretanto, paracada sigla no cadastro de funcionários identificamos no máximo um registro no cadastrode departamentos.

Também deve ficar claro que, em princípio, podemos ter departamentos sem funcionáriose funcionários que momentaneamente não estão alocados em qualquer departamento.

2.3 – Relacionamento muitos-para-muitos

O relacionamento muitos-para-muitos ocorre quando um registro na tabela A pode termais de um registro associado na tabela B e, analogamente, um registro na tabela B podeter mais de um registro associado na tabela A.

Os cargos ocupados por um funcionário ao longo do tempo constituem umrelacionamento desta natureza. Cada funcionário ocupou vários cargos e um cargo foi

Page 12: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

12

ocupado por diversos funcionários. Nesse relacionamento fica imediatamente aparenteque ao par funcionário/cargo provavelmente estarão associadas outras informações, porexemplo, a data em que o funcionário assumiu o cargo em questão.

Relacionamentos do tipo muitos-para-muitos não podem ser especificados diretamenteem Access. É necessária a criação de uma tabela intermediária que no caso poderia ter onome: cargos ocupados. Cada registro nesta tabela seria composto de três campos:número do funcionário, código do cargo e data de admissão neste cargo. Como seobserva, criou-se um relacionamento um-para-muitos entre o cadastro de funcionários e ocadastro de cargos ocupados e, analogamente, outro relacionamento um-para-muitosentre o cadastro de cargos e salários e o cadastro de cargos ocupados. Portanto umrelacionamento muitos-para-muitos é convertido em dois relacionamentos um-para-muitos quando houver informações associadas aos pares relacionados.

2.4 – Criação de relacionamentos

Em Access podemos criar relacionamentos localizados, utilizados numa consultaespecífica, ou relacionamentos globais que possivelmente terão um uso mais geral.Relacionamentos de uso localizado serão vistos mais adiante no capítulo referente aconsultas.

Relacionamentos de uso geral são úteis porque podem ser usados automaticamente emnovas consultas, facilitam a geração de subformulários e subrelatórios e permitem umcerto grau de proteção em operações de atualização ao se impor a integridade referencialpara os relacionamentos como será visto adiante.

A criação e edição de relacionamentos é feita na janela Relacionamentos como mostra afigura 2.1. Nesta janela mostra-se o diagrama de relacionamentos entre as tabelas. Paracada tabela são mostrados os seus campos e linhas de associação com campos de outrastabelas. Estas linhas representam os relacionamentos.

Figura 2.1 – Janela Relacionamentos

Page 13: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

13

Para exibir a janela Relacionamentos, clica-se o botão Relacionamentos na barra deferramentas da janela Banco de Dados. Em resposta aparece a janela acompanhada dajanela de diálogo Mostrar Tabela. Se o diálogo não aparecer, basta clicar o botão Mostrartabela na barra de ferramentas. No caso foram adicionadas as três tabelas anteriormenteconstruídas. As tabelas adicionais podem ser arrastadas e redimensionadas até que fiquemvisualmente legíveis.

Para criar o relacionamento entre o cadastro de departamentos e o cadastro defuncionários, clica-se sobre o campo sigla do departamento na tabela cadastro dedepartamentos e arrasta-se até o campo sigla do departamento na tabela cadastro defuncionários. Em resposta surge a janela de diálogo relacionamentos (figura 2.3) para quesejam fornecidas mais especificações sobre a ligação em questão. Caso se deseje alterarposteriormente estas especificações basta dar duplo clique sobre a linha de união, isto fazaparecer a janela de diálogo relacionamentos.

No caso deseja-se impor a integridade referencial para impossibilitar o cadastramentode funcionários em departamentos inexistentes no cadastro de departamentos. Ao ligaresta opção passa a ser necessário especificar também qual é o tipo de relacionamento. Otipo um-para-muitos já aparece selecionado porque é o padrão do Access. Além disso, énecessário indicar se deseja-se a atualização em cascata e a exclusão em cascata. Aatualização em cascata ocorre quando se altera a sigla de um departamento na cadastro dedepartamentos e automaticamente todas siglas correspondentes no cadastro defuncionários são atualizadas. A exclusão em cascata ocorre na caso da exclusão de umdepartamento do cadastro de departamentos. Em resposta são excluídos todos os registroscorrespondentes do cadastro de funcionários.

Ao fechar a janela Relacionamentos o sistema em geral pergunta se deseja-se salvar olayout desta janela. Convém salvá-lo se uma nova distribuição das tabelas forvisualmente mais adequada. Deve-se observar que o desenho dos relacionamentos indicase ele é do tipo um-para-muitos (algarismo 1 e símbolo de infinito) ou um-para-um(algarismo 1). As bordas mais grossas da linha de união indicam que a integridadereferencial foi imposta para o relacionamento.

2.5 – Remoção de relacionamentos

Para remover um relacionamento basta selecionar a linha de união e acionar a tecla DEL.Para remover uma tabela basta selecioná-la e acionar também a tecla DEL.

É importante lembrar que a remoção de uma tabela não remove o relacionamento. Se ajanela relacionamentos for fechada e acionada de novo, então a tabela apagada émostrada novamente com todos os seus relacionamentos. Portanto para remover umrelacionamento é necessário selecioná-lo explicitamente e acionar DEL, em seguida seremove a tabela.

Pode-se apagar todo o conteúdo da janela Relacionamentos. Para isso, basta no menuEditar acionar Limpar Layout. Mas isto não remove os relacionamentos registrados

Page 14: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

14

internamente. Em seguida pode-se adicionar uma tabela e utilizar o botão da barra deferramentas Exibir relacionamentos diretos para exibir apenas os relacionamentosdiretamente associados á tabela. Para exibir tudo, acione o botão Exibir todosrelacionamentos.

Figura 2.3 – Janela de diálogo relacionamentos

Mostrartabela

Exibirrelacionamentosdiretos

Exibir todosrelacionamentos

Limparlayout

Figura 2.2 – Barra de ferramentas da janela Relacionamentos

Page 15: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

15

Capítulo 3 – Consultas

3.1 – Definição

Uma consulta recupera informações no Banco de Dados e eventualmente apresenta-as natela. Serão estudados três tipos de consultas:

- de seleção: seleciona e apresenta registros no formato padrão- de cruzamento: seleciona e apresenta registros em formato de planilha- de ação: altera o conteúdo de registros numa única operação

Os registros selecionados constituem um conjunto. Este conjunto é dinâmico no sentidode seu conteúdo ter por origem várias tabelas e no sentido de só existir enquanto aconsulta estiver ativa. Ao fechar uma consulta, ele deixa de existir. Isto constitui umagrande vantagem pois se alterarmos os dados de uma tabela as consultas sobre elaautomaticamente refletirão essas alterações.

Consultas constituem um recurso prático para obter informações específicas contidas noBanco de Dados. Com elas podemos:

- escolher campos específicos de tabelas específicas;- selecionar informações via critérios;- mostrar as informações em várias ordens;- obter dados de várias tabelas simultaneamente;- calcular totais;- criar formulários e relatórios;- criar outras consultas e gráficos.

3.2 – Gerar nova consulta

A obtenção de uma nova consulta é feita a partir da janela Banco de Dados, selecionandoConsultas e clicando na opção Novo. Em resposta aparecerá uma caixa de diálogo quepermite que você escolha o modo como a consulta deve ser construída. Ou você mesmomonta a consulta através do modo Estrutura ou você utiliza os Assistentes, que facilitam amontagem tanto de consultas como relatórios, formulários etc.

Ao escolher o modo estrutura, aparecerá a janela de Consulta Seleção sobreposta com ajanela de diálogo Mostrar tabela. Para cada tabela ou consulta a adicionar, selecione seunome e clique no botão Adicionar. Caso se adicione uma tabela/consulta errada, bastaselecioná-la e apertar DEL para removê-la da área de tabelas.

Page 16: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

16

Figura 3.1 – Janela Mostrar tabela da consulta

A ativação da janela de diálogo Mostrar tabela também pode ser realizada através domenu Consulta opção Mostrar tabela ou pelo botão correspondente na barra deferramentas.

A janela Consulta Seleção possui duas áreas, a área das tabelas envolvidas na consulta e aárea da consulta propriamente ativa. Nesta última área a montagem da consulta é feitaatravés do esquema QBE (query by example). Neste esquema criamos as consultasarrastando campos da área superior da janela para a área inferior. Na planilha QBE cadacoluna contém informações a respeito do campo incluído na consulta.

Figura 3.2 – Barra de ferramentas da Janela Consulta

A figura 3.3 mostra a estrutura da consulta que foi denominada “Engenheiros daEmpresa”. Ao acionar a execução da consulta aparece o resultado apresentado na figura

Mostrartabela

Tipo deconsulta

Executa aconsulta

Exibe/oculta totais

Propriedades

Janela Banco deDados

Alterna entre o modoestrutura e a folha dedados

Page 17: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

17

3.4. Esta figura mostra que o resultado é apresentado numa folha de dados que, emprincípio, pode ser também usada para alterar e excluir registros.

Figura 3.3 – Estrutura da Consulta Engenheiros da Empresa

Figura 3.4 – Folha de Dados da consulta Engenheiros da Empresa

3.3 – Adicionar campos à consulta

Inicialmente deve-se selecionar os campos na tabela. Pode-se selecionar vários camposclicando e apertando simultaneamente SHIFT ou CTRL. Em seguida, apontar para algumdos campos selecionados e arrastar para a linha campo na área inferior.

A seta selecionaa coluna

Indica que seráexibida a coluna

Quais registros serãoexibidos

Chave primária

Duplo clic seleciona tudoInclui todosos campos

Arrastar para ocampo ou duplo clic

Classificação porvários campos

Page 18: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

18

Também é possível adicionar um campo selecionando o campo na área inferior. Bastaabrir a caixa de combinação que aparece quando o ponto de inserção está posicionado naárea do campo e escolher entre os campos listados.

Para adicionar todos os campos da tabela à planilha QBE é necessário inicialmenteselecionar todos os campos. Há um atalho para esta tarefa: basta clicar duas vezes a barrade título da tabela. Outro método consiste no arraste da linha de asterisco (*) da tabelapara algum campo da parte inferior. Entretanto, neste caso ele arrasta toda a tabela eproduz um efeito secundário interessante: caso a tabela venha a ser alterada na suaestrutura, pela adição/exclusão de campos, não será necessário refazer a consultaenvolvida. Por outro lado, campos QBE baseados em asterisco não admitem critério declassificação e seleção.

Para inserir um campo entre outros já existentes na planilha QBE basta arrastar o camposelecionado na parte superior para o campo que ficará à direita do campo inserido. Pararearranjar campos na planilha QBE basta selecionar e arrastar para outra posição. Paraeliminar um campo, basta selecionar e dar DEL. Para remover todos os campos daplanilha use a opção Limpar grade do menu Editar.

O texto que identifica colunas na folha de dados é o nome do campo. Muitas vezes essenome é longo e deseja-se substitui-lo por outro. Para tanto basta preceder o nome docampo na planilha QBE com o nome desejado seguido de dois pontos. Exemplo: Cargo:código do cargo. Entretanto, se a coluna possuir a propriedade legenda esta teráprioridade.

Eventualmente é necessário utilizar um campo numa consulta sem que haja necessidadede mostrá-lo na folha de dados, por exemplo, quando esse campo participa da chave declassificação. Neste caso basta desativar a marquinha de Mostrar correspondente naplanilha QBE.

3.4 – Classificação dos dados apresentados

Basta especificar a ordem de classificação (crescente ou decrescente) dos campos quefazem parte da chave de classificação. Observar que a ordem dos campos passa a serimportante e, eventualmente, é necessário rearranjar as colunas em relação à sua ordemna tabela original.

Nada impede de um campo da tabela ocorrer duas ou mais vezes como campo na planilhaQBE. Eventualmente essa pode ser uma solução interessante para poder usar o campo nachave de classificação (onde sua posição é fixa) porém desativando sua apresentação nalinha Mostrar. A segunda versão do campo é exibida na posição desejada pelo usuário. Omesmo efeito pode ser utilizado em conjunto com campos da planilha QBE oriundos deasterisco. Como não é possível usar critérios de seleção e classificação para camposasterisco, basta incluir uma duplicata dos campos necessários. Para essas duplicatas são

Page 19: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

19

estabelecidos os critérios de classificação e seleção concomitantemente com adesativação de sua apresentação na linha Mostrar da planilha QBE.

3.5 – Salvar e imprimir consultas

Para salvar a consulta, use as opções Salvar e Salvar como/exportar do menu Arquivo.

Para imprimir a consulta devemos estar na folha de dados e acionar Visualizar impressãopara ver o layout da folha a ser impressa. A opção Imprimir do menu Arquivo realiza aimpressão permitindo eventualmente imprimir apenas os registros selecionados na folhade dados. Para isso, basta escolher a opção Registros Selecionados como Intervalo deImpressão.

3.6- Critérios de Seleção envolvendo um único campo

Como critério de seleção na planilha QBE podemos empregar diversos tipos deexpressões envolvendo diversos tipos de funções internas. O resultado de alguns critériosexemplos é apresentado a seguir:

>520 todos os números maiores que 520entre 520 e 528 todos os números entre 520 e 528 inclusive= “Carlos Moreira” todos exatamente iguais a“S*” todos iniciados com a letra S“ fe*eira” por exemplo: ferreira, fereira, festeira“sm?th” por exemplo: smith, smyth“* * *” nomes de três palavras separadas por um branco*/*/93 todas as datas de 93negado como “S*” todos os nomes não iniciados por S>=1-jan-92 e <=20-fev-93 todas as datas no intervalo“S*” ou “R*” todos iniciados pela letra S ou Rnulo todos os registros com campo nulonegado nulo todos os registros com valor no campoem (“eng1”; “eng2”) todos com valor na listadata() todos com a data atualentre data() e data()-7 todos com data da última semana

3.7- Critérios de seleção envolvendo mais de um campo

Neste caso emprega-se as linhas Critério, ou e linhas seguintes da planilha QBE. Deve-seobservar a seguinte regra para definir expressões entre vários campos:

Page 20: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

20

- expressões ligadas por e ficam na mesma linha- expressões ligadas por ou ficam em linhas diferentes.

Os exemplos seguintes esclarecem a questão:

a) selecionar todos os engenheiros e que sejam do departamento de finanças:

b) todos os engenheiros ou funcionários do departamento de finanças:

c) todos engenheiros nível 2 do departamento de marketing ou engenheiros nível 2 comnomes iniciados pela letra R

Figura 3.5 – Seleções envolvendo mais de um campo

3.8 – Seleção com valores únicos sem repetição

Seja o problema de exibir os cargos constantes do cadastro de funcionários. Em princípiobasta montar uma consulta simples, envolvendo apenas o código do cargo, conforme afigura 3.6.

Page 21: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

21

Figura 3.6 – Consultas sem e com valores exclusivos

Como se observa há repetição de valores pois todos os registros foram selecionados eapenas o campo código do cargo é apresentado. Para listar sem repetição deve-se indicarque a seleção deve omitir valores repetidos. Para tanto deve-se acionar na tela de projeto(Modo Estrutura) o menu Exibir opção Propriedades ou clicar no botão correspondente.Na janela de diálogo que aparece em seguida, ativar a opção Valores Exclusivos.

3.9 – Consultas com múltiplas tabelas

É comum que dados para uma consulta se localizem em diversas tabelas. Por exemplo, atabela cadastro de funcionários faz referência ao código do cargo do funcionário, mas nãoespecifica seu salário, pois na empresa exemplo o salário é função apenas do cargo.Dessa forma, o salário correspondente a cada cargo consta somente na tabela cadastro decargos e salários.

Se desejamos fazer uma consulta que apresenta o nome do funcionário e seu salário seránecessária a referência a duas tabelas. Além disso, é necessário informar ao sistema comoas informações se ligam entre as tabelas, no caso, a ligação é através do código do cargo

Page 22: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

22

que consta nas duas tabelas. Essa ligação é estabelecida no modo estrutura da consultaapós ter-se adicionado as duas tabelas na parte superior. Para fazer a ligação, basta clicarsobre a linha código do cargo na tabela cadastro de funcionários e arrastar até que oícone fique sobre a linha código do cargo na tabela cadastro de cargos e salários. Se oscampos envolvidos possuírem o mesmo nome nas duas tabelas então o Access tentaráestabelecer o relacionamento automaticamente.

Da mesma forma, caso já tenham sido estabelecidos os relacionamentos entre as duastabelas na janela relacionamentos, então ao adicionar as tabelas na janela de projeto deconsultas automaticamente aparecerá a reta de ligação entre os campos relacionados.

Finalmente especificamos na planilha QBE quais campos a incluir na consulta:

- o nome do funcionário- o salário do cargo- o desconto de 8% sobre o salário

O último campo é um campo computado cuja descrição se inicia com a palavra descontoseguida de dois pontos. Esta será a legenda da coluna. O cálculo efetuado envolve aseguinte expressão:

Cmoeda(IIf(Énulo([salário do cargo]);0;[salário do cargo]*0,08))

Esta fórmula envolve várias funções internas do sistema. Inicialmente deve-se observarque campos envolvidos em expressões precisam estar entre colchetes, daí a razão de seescrever [salário do cargo].

A função IIf é uma função do tipo IIf(x;y;z) onde x é um teste e y e z são os resultadosque a função fornece. Se o teste der verdadeiro, então retorna o resultado y, se o teste derfalso, então retorna z. No caso, é necessário testar o campo salário do cargo pois podemoster funcionários sem cargo. Dessa forma, é feito um teste para verificar se o campo temvalor nulo.

Observar que ao digitar IIf, o nome da função é automaticamente substituído pelo nomeSelmed. Observar também que o fato do salário não existir é que está sendo testado pelafunção Énulo e não que o valor do salário valha zero.

Se não existir o salário então retorna zero como desconto. Se o salário existir então ele éempregado para calcular 8% sobre ele. Tanto um resultado quanto o outro acabam sendoalimentados na função Cmoeda que converte esse resultado do formato interno paraformato moeda e que é finalmente apresentado na folha de dados.

A fórmula para cálculo dos descontos foi digitada diretamente na coluna QBE porém,poderia ter sido construída com auxílio do botão Construir que aciona o construtor deexpressões.

Page 23: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

23

Figura 3.7 – Consulta envolvendo várias tabelas

Figura 3.8 – Folha de dados de consulta envolvendo várias tabelas

3.10 – Totalizações

É possível obter totais em consultas. Podemos contar o número de ocorrências deregistros, obter somas, médias, mínimos, máximos etc. Para obter totais é necessárioacrescentar uma linha Total na planilha QBE o que é feito pelo botão somatória na barrade ferramentas ou menu Exibir opção Totais.

Na linha Total para cada campo da consulta deverá ser especificado o tipo de totalizaçãodesejada. Por exemplo, se o campo servir apenas para contar registros, devemos escolhera opção Contar. Se o campo tiver que ser somado, escolhe-se Soma. Por outro lado,sempre haverá campos que vão controlar o agrupamento dos registros, por exemplo, se

Page 24: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

24

desejamos totais por departamentos, no caso para o de nome do departamento,especificaremos Agrupar por.

Para obter totais de subagrupamentos basta incluir na sequência correta os campos quedão origem aos grupos e subgrupos indicando a ordem de classificação mais conveniente.O exemplo da figura 3.9 mostra a obtenção do total de funcionários por cargo dentro decada departamento. Para cada entrada nesta consulta também é apresentada a soma dossalários.

Na figura 3.10 da folha de dados observa-se que a coluna com o total dos salários possuilegenda e está em formato moeda. Estas características foram definidas selecionando acoluna salário do cargo na janela de estrutura da consulta e acionando o botãopropriedades na barra de ferramentas. Na janela Propriedades do campo foramespecificados o formato moeda, casas decimais automáticas e legenda Soma.

Figura 3.9 – Consulta envolvendo totalizações

Page 25: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

25

Figura 3.10 – Folha de dados de consulta envolvendo várias tabelas

3.11 – Tabelas Cruzadas

As totalizações vistas anteriormente também podem ser obtidas através de consultas dereferência cruzada. A figura 3.11 mostra a construção de uma consulta deste tipo najanela Consulta de Tabela de Referência Cruzada acionada pelo botão correspondente nabarra de ferramentas.

Neste tipo de consulta deve-se indicar qual a informação que caracteriza linhas e colunas.Isto é indicado na linha Referência cruzada: linha, coluna ou valor. No exemplo, o campoNúmero do funcionário foi usado como valor para indicar contagem dos funcionários dopar departamento e cargo. Além disso, é necessário indicar na linha total como cadacampo deve ser computado. A sigla do departamento e o código do cargo são campos deagrupamento e o número do funcionário indica simples contagem.

Page 26: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

26

Figura 3.11– Estrutura de consulta de Referência Cruzada

Figura 3.12 – Folha de Dados da consulta de Referência Cruzada

3.12 – Propriedades da Associação

Quando se constrói uma relação entre duas tabelas numa consulta é necessário especificarqual o tipo de associação desejada. Esta questão pode ser observada na consulta querelaciona para cada departamento o nome do seu gerente. A figura 3.13 mostra a estruturadessa consulta que envolve duas tabelas e uma associação entre o número do gerente e onúmero do funcionário (foi removido o relacionamento entre siglas do departamento).

Page 27: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

27

Figura 3.13 – Consulta para campos associados iguais

Ao se clicar sobre a linha de associação aparece a janela Propriedades da Associação,conforme a figura 3.14.

Figura 3.14 – Janela para definir tipo de associação

Nessa janela está ligada a primeira opção, o que indica que na folha de dados da consultasó irão aparecer as informações de campos das duas tabelas para registros onde o númerodo gerente e o número do funcionário forem iguais. A folha de dados correspondenteaparece na figura 3.15.

Page 28: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

28

Figura 3.15 – Folha de dados para a associação tipo 1

Por outro lado, se desejamos que apareçam todos os departamentos mesmo aqueles quenão possuem gerente ou cujo número de gente por alguma razão não ocorra no cadastrode funcionários, então devemos ligar a opção que inclui todos os registros do cadastro dedepartamentos. Observar que neste caso a linha de associação se transforma numa setaque vai do cadastro de departamentos para o cadastro de funcionários. A folha de dadoscorrespondente aparece na figura 3.16.

Figura 3.16 - Folha de dados para a associação tipo 2

Finalmente é possível relacionar todos os funcionários do cadastro de funcionáriosacompanhados de seu eventual registro associado no cadastro de departamentos (casosejam gerentes). Neste caso é necessário escolher a terceira opção na janela Propriedadesda Associação. Observar que neste caso a linha de associação se transforma numa setaque vai do cadastro de funcionários para o cadastro de departamentos. A folha de dadoscorrespondente aparece na figura 3.17.

Page 29: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

29

Figura 3.17 – Folha de dados para a associação tipo 3

3.13 – Consultas com parâmetros

Podemos construir consultas cujos critérios de seleção podem ser fornecidos quando aconsulta for executada. Por exemplo, podemos pedir ao usuário que forneça a sigla dodepartamento dos funcionários que deseja listar na tela. Para tanto construímos umaconsulta normal de seleção, por exemplo, a partir da tabela cadastro de funcionários e nalinha Critério do campo sigla do departamento especificamos uma mensagem entrecolchetes: [informar sigla do depto a listar]. Essa mensagem é apresentada através de umajanela de informação de parâmetro onde o usuário deve digitar a sigla desejada. Apenasos registros com esta sigla serão listados. A figura 3.18 mostra a estrutura e janela desolicitação do parâmetro.

Page 30: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

30

Figura 3.18 – Consulta com parâmetro

Page 31: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

31

Capítulo 4 – Consultas envolvendo açõesConsultas do tipo seleção apenas apresentam dados na tela para o usuário inspecionar.Também podemos realizar ações com ou sobre o Banco de Dados e neste caso tambémempregamos consultas. Como estas consultas causam efeitos secundários, sãoidentificadas por outros tipos de ícones na janela Banco de dados.

Figura 4.1 – Botão tipo de consulta

O sistema em geral vai exigir confirmação para cada ação realizada por este tipo deconsulta. Observe que esta confirmação pode ser inibida ( via menu Ferramentas, opçãoOpções, categoria Editar/Localizar, opção Confirmar consultas Ação).

Para construir consultas envolvendo ações secundárias normalmente partimos de umaconsulta tipo Seleção. Também é uma boa prática inicialmente testar a seleção paraverificar sobre quais registros ela atua antes de transformá-la numa consulta tipo Ação.

As ações que podemos ativar são:

- Construir novas tabelas- Excluir registros de tabelas- Adicionar registros à tabela- Alterar blocos de registros de tabelas.

4.1 – Construir novas tabelas

Inicialmente criamos uma consulta tipo seleção que seleciona os registros que desejamosconverter numa tabela. Uma utilidade típica desse tipo de ação é a criação de tabelas quevão ser exportadas/transferidas para outros sistemas/usuários.

Por exemplo, podemos desejar criar uma tabela contendo os funcionários dodepartamento de marketing acompanhados de suas respectivas remunerações. Para issoinicialmente construímos uma consulta tipo Seleção. A seguir convertemos esta consultanuma consulta para construir nova tabela, acionando o menu Consulta na janela de

Page 32: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

32

estrutura da consulta ou Botão tipo de consulta e clicando na opção Consulta criar tabela.Em resposta aparecerá uma janela de diálogo para informar o nome que deve seratribuído a tabela: funcionários de mkt.

Figura 4.2 – Consulta para a criação de uma nova tabela

Observar na figura 4.2 que na consulta foram incluídos todos os campos do cadastro defuncionários através do arraste do asterisco correspondente. Isto impede a especificaçãodo critério de seleção, por esta razão foi incluída a coluna sigla do departamento, porém,com a caixa Mostrar inibida. Além disso, para a coluna salário do cargo foi necessário,via diálogo de propriedades do campo, especificar formato moeda com duas casasdecimais.

Não exibir: usadoapenas paraselecionar registros

O asteriscoindica que todosos campos docadastro serãoincluídos

Page 33: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

33

Para realizar a ação devemos acionar o botão de execução na barra de ferramentas (botãocom ponto de exclamação). O sistema responde dizendo quantos registros serão copiadose exige confirmação. Para inspecionar a tabela gerada devemos fechar a janela deestrutura de consultas e ir para a janela do Banco de Dados ativando Tabela e Abrir para atabela funcionários de mkt.

4.2 – Excluir registros de tabelas

Neste exemplo vamos usar uma cópia da tabela funcionários de mkt criada no itemanterior. Para obter esta cópia, selecionamos a tabela original na janela Banco deDados e acionamos o menu Editar, opção Copiar. Em seguida usamos a opção Colar quesolicitará o nome da nova tabela: funcionários de mkt – cópia1. Serão copiados aestrutura e o conteúdo da tabela.

A nova tabela funcionários de mkt – cópia1 será usada como argumento da consulta deexclusão onde o objetivo será o de remover todos os funcionários que sejam engenheiros.Inicialmente se constrói uma consulta tradicional de seleção, verifica-se se ela estáselecionando o que se deseja e em seguida transforma-se a mesma numa consultaexclusão via menu Consulta opção Consulta exclusão. Essa opção acrescenta na planilhaQBE uma linha a mais denominada Excluir onde deverá ser indicada a tabela da exclusão(De) e o campo critério de exclusão (Onde).

Onde: indicação docampo cujo critério seráconsiderado como sendode exclusão.

Critério dosregistros a seremexcluídos

De: indicação databela na qual aexclusão deve serfeita

Page 34: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

34

Figura 4.3 – Consulta para a exclusão dos engenheiros da tabela funcionários de mkt -cópia1

4.3 – Anexar registros à tabela

Neste exemplo vamos tentar recompor a tabela funcionários de mkt – cópia 1, voltando aacrescentar os registros dos engenheiros. Para não modificar a tabela cópia 1 vamos geraruma cópia 2 idêntica á cópia 1. Só que agora iremos usar o procedimento de construçãode novas tabelas visto no item 4.1:

- na janela Banco de Dados escolher Consulta e clicar em Novo- adicionar a tabela funcionários de mkt – cópia 1- duplo clique no asterisco- no menu Consulta , escolher Consulta criar tabela- atribuir nome funcionários de mkt – cópia 2 à nova tabela- executar a consulta via botão de execução- fechar a janela de estrutura sem salvar, já que a consulta possui caráter apenas

eventual

A consulta de anexação de registros utiliza como origem dos campos as tabelas cadastrode funcionários e cadastro de cargos e salários pois será necessário acrescentar o saláriode cada funcionário.

Como pretendemos anexar somente os engenheiros, será necessário indicar na planilhaQBE que além da seleção do departamento(mkt), é necessário selecionar o cargo(eng*).Portanto iremos selecionar os funcionários de mkt que sejam engenheiros. A seguir, aconsulta é convertida numa consulta de anexação escolhendo a opção Consulta acréscimodo menu Consulta. Será solicitado o nome da tabela a qual as informações serãoanexadas: funcionários de mkt – cópia 2. Em seguida podemos executar a consulta viabotão executar e salvar a Consulta de anexação com nome: anexa eng* em funcionáriosde mkt – cópia 2. Observar na figura 4.4 que os dados foram recompostos porém estãofora de ordem pois a tabela não possui chave primária.

Page 35: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

35

Figura 4.4 – Consulta para a anexação de registros a funcionários de mkt – cópia 2

4.4 – Alterar blocos de registros

A alteração manual de registros é conveniente quando o volume de dados a alterar ébaixo. Quando o volume é grande convém realizar a alteração através de uma consulta dealteração. Por exemplo, vamos alterar os salários dos engenheiros e dos analistas desistemas na tabela cadastros de cargos e salários acrescentando-lhes 20% no seu valor.

Inicialmente cria-se uma consulta normal de seleção indicando todos os campos da tabelacadastros de cargos e salários necessários. Na folha de dados observa-se se a seleção estácorreta pois sobre estes registros é que a alteração irá atuar. A seguir escolhe-se a opçãoConsulta atualização do menu Consulta, e que acrescenta uma linha Atualizar para naplanilha QBE. Nesta linha indica-se o novo valor computado para o campo dos registrosque serão selecionados. Executa-se a atualização via botão executar e salva-se a consultacom nome apropriado.

Engenheiros do depto de mktA quais campos seráfeita a anexação

Page 36: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

36

Figura 4.5 – Consulta para a atualização de alguns salários

Page 37: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

37

Capítulo 5 – Formulários: operações básicasFormulários constituem telas para a entrada e apresentação de informações. O layoutdestas telas é determinado pelo projetista do Banco de Dados e pode envolver algumasofisticação tal como uso de cores, letras de diversos tipos e tamanhos, figuras, botõesetc. Nos formulários é possível apresentar resultados de cálculos e efetuar consistênciassobre dados alimentados. Eventualmente pode-se imprimir um formulário apesar doAccess possuir um recurso específico para a apresentação de informações impressas:relatórios.

Existem três tipos importantes de formulários: colunar, tabular e subformulários. Emgeral é possível criar rapidamente um formulário através de um recurso denominadoAssistente. Os assistentes geram formulários relativamente padronizados sobre os quais,se o projetista desejar, é possível fazer ajustes. A sequência de passos para a criação deum formulário através do assistente é o seguinte:

- na janela Banco de dados, selecionar Formulários e clicar o botão Novo- escolher a opção Assistente de formulário- escolher a tabela ou consulta para a qual o formulário será desenvolvido- seguir as indicações dadas pelas janelas apresentadas pelo assistente.

Para gerar um formulário rapidamente no formato padrão basta escolher o assistente paraautoformulários colunar, tabular ou folha de dados.

Ao final deste processo pode-se inspecionar o formulário gerado na janela de estrutura ouna janela de formulário com os dados da tabela ou consulta. Acessoriamente pode-seinspecionar essa tabela ou consulta no formato padrão de folha de dados, basta acionar osbotões correspondentes na barra de ferramentas na parte superior da tela. A figura 5.1mostra o formulário gerado para o cadastro de funcionários.

Figura 5.1 – Formulário gerado pelo assistente para o cadastro de funcionários

Para verificar a distribuição das informações desse formulário impresso, basta acionar obotão Visualizar impressão. Este botão também pode ser acionado diretamente na janelaBanco de Dados. O sistema fornece uma visão da impressão em formato compactado.Para visualizar detalhes pode-se acionar o zoom clicando sobre a parte desejada. Para sair

Page 38: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

38

do modo de visualização de impressão, basta clicar a tecla ESC ou clicar o botão Fecharna barra de ferramentas.

Figura 5.2 – Janela de projeto do formulário do cadastro de funcionários.

As barras de ferramentas para a construção de formulários apresentam recursos quedependem da personificação usada (menu Exibir, opção Barra de Ferramentas,Personalizar). Em geral apresentam-se configuradas conforme a figura 5.3. Além disso,também é empregada a caixa de ferramentas para construir rótulos e caixas de textoconforme detalhado a seguir. Caso as barras ou a caixa não estejam visíveis no modoestrutura do formulário deve-se torná-los visíveis através das opções no menu Exibir.

Mostra a folha dedados, formulário ouestrutura

Lista decampos

Caixa deferramentas

Propriedades

Seções

Rótulos Caixas de texto associadas a campos da tabela

Seleciona objetos do formulário Cor defundo

Cor deletra

Cor deborda

Tipo deborda

Page 39: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

39

Figura 5.3 – Barras e caixa de ferramentas para a construção de formulários

O projetista de formulários manipula controles na janela de estrutura. As ações que elepode realizar em geral envolvem seleção, movimentação, redimensionamento e ajustedestes controles. Estas ações básicas também valem para o desenvolvimento de relatóriossendo apresentadas a seguir.

5.1 – Seleção

A seleção do controle é feita clicando sobre ele, em resposta aparecem marcas guias demanipulação (handles). Alguns controles, como caixas de texto, possuem outro controleassociado do tipo rótulo. Estes dois controles em geral andam juntos.

Figura 5.4 – Caixa de texto com rótulo associado

Clicando sobre o rótulo será considerado selecionado o rótulo, clicando sobre a caixa detexto será considerada selecionada a caixa de texto.

É possível selecionar múltiplos controles clicando o mouse fora da área em que estãoestes controles, arrastando por sobre eles até envolvê-los e soltando em seguida o mouse.Este procedimento também pode ser usado para selecionar só caixas de texto ou sórótulos dependendo de quais objetos foram envolvidos pela seleção. Outra forma deselecionar múltiplos controles é clicando um por um enquanto se mantém pressionada atecla SHIFT.

Guias de Movimentação

Guias de Redimensionamento

Rótulo Caixa de texto selecionada

Page 40: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

40

5.2 – Movimentação

Para movimentar o par rótulo e caixa de texto selecionados deve-se colocar o cursorsobre suas bordas inferiores até que ele se transforme numa mãozinha. Neste instantedeve-se clicar e arrastar.

Para mover apenas o rótulo, clicar a sua guia de movimentação(a seta se transforma emuma mãozinha com o dedo indicador apontando para a guia) e arrastar. Para moverapenas a caixa de texto utilizar sua correspondente marca guia. Observar que apesar damovimentação ser separada, os dois controles permanecem associados.

Caso seja necessário mover apenas um dos elementos do par para outra seção (cabeçalho,rodapé), será necessário utilizar o menu Editar. Seleciona-se o elemento e utiliza-seRecortar. A seguir seleciona-se a seção objetivo e aciona-se Colar. Agora os doiscontroles estarão definitivamente desassociados.

Para restringir a direção de movimentação dos controles recomenda-se manterpressionada a tecla SHIFT, selecionar o controle e arrastá-lo. A direção do primeiromovimento prevalecerá e será a única segundo a qual poderemos mover o controle atésoltar o botão do mouse.

5.3 – Redimensionamento

O redimensionamento é feito através do posicionamento do mouse sobre uma guia deredimensionamento. O ponteiro deve mudar de formato para uma seta de duas pontas,neste instante deve-se clicar e arrastar.

É possível ajustar as bordas de rótulos ao texto que ele contém automaticamente. Deve-seselecionar o rótulo e acionar Formatar, Dimensionar, Para caber. Caso o texto sejaexpandido ou reduzido em quantidade de caracteres, automaticamente é feito o ajuste dasbordas.

5.4 – Replicação

Podemos duplicar um controle diversas vezes. Deve-se selecionar o controle e usar omenu Editar com a opção Duplicar. A duplicata que aparece ao lado ou abaixo docontrole original deve ser movida para a posição desejada e, caso necessário, novaduplicação pode ser solicitada. Neste caso a duplicata já vai aparecer numa posiçãorelativamente idêntica a que havia entre os dois controles anteriores.

Outra maneira de replicar é através do recurso Copiar/Recortar/Colar. Neste casoseleciona-se o objeto, recorta-se ou copia-se via menu Editar. A seguir, seleciona-se a

Page 41: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

41

seção (detalhe, rodapé, cabeçalho) para onde deve ser feita a colagem. Novamente nomenu Editar escolhe-se Colar.

5.5 – Remoção e associação de rótulos

Para remover um controle com seu rótulo associado deve-se clicar o controle e acionar atecla DEL. Para remover apenas o rótulo deve-se clicar o rótulo e acionar DEL.

Para reassociar um rótulo, o procedimento é algo complicado. Inicialmente deve criar umnovo rótulo via ferramenta da caixa de ferramentas. Selecione o botão, clique noformulário, digite o texto. Em seguida recorte o rótulo via Editar; Recortar. Agoraseleciona-se o controle ao qual será associado o rótulo e aciona-se Editar; Colar.

5.6 – Alinhamento à grade

O alinhamento correto e preciso entre controles de um formulário é difícil de obtermanualmente. O Access dispõe de uma grade de alinhamento automático e que pode serapresentada na janela de projeto do formulário. A grade só é usada durante a fase deprojeto.

Para que a grade seja exibida e utilizada automaticamente, várias providências precisamser tomadas:

- ligar a opção Grade no menu Exibir- ligar a opção Encaixar na grade no menu Formatar- selecionar o formulário clicando em área fora das seções.- No menu Exibir acionar a opção Propriedades para apresentar na tela a janela de

diálogo de propriedades do formulário- Na pasta Formato localizar as propriedades Grade X e Grade Y e atribuir a elas algum

valor menor ou igual a 9, por exemplo 5, o que indica cinco pontos de grade por cmde formulário nas direções x e y.

A partir deste instante, todos os novos controles desenhados na tela serãoautomaticamente alinhados às marcas de grade. Caso, para algum controle, não se desejeeste efeito, deve-se manter pressionada a tecla CTRL enquanto se desenha/arrasta ocontrole na tela.

A apresentação da grade pode ser desligada desativando a opção Grade no menu Exibir.O alinhamento automático pode ser inibido desligando a opção Encaixar na grade nomenu Formatar.

Se o alinhamento automático não está ativo, é possível momentaneamente fazer umalinhamento. Deve-se selecionar os controles a acionar o menu Formatar, opção Alinhar

Page 42: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

42

seguida da opção À grade. Todos os controles selecionados serão alinhados segundo suaponta superior esquerda.

Caso se deseje que um controle totalmente desalinhado (nem a ponta superior esquerda,nem suas dimensões estão conforme a grade) fique de acordo com a grade deve-seacionar o menu Formatar com a opção Dimensionar/na grade.

5.7 – Alinhamento entre controles

Independentemente da grade, é possível alinhar controles entre si. Deve-se selecionarcontroles que estejam relativamente numa mesma linha ou coluna e acionar o menuFormatar opção Alinhar seguido de escolha entre Esquerda, Direita, Superior e Inferior.O alinhamento será sempre em relação ao lado do controle mais afastado do grupo.

5.8 – Cópia de Formulários

É comum desenvolver um novo formulário a partir de uma cópia de um formulário jáexistente. Para produzir uma cópia no mesmo banco de dados deve-se realizar asseguintes operações na janela Banco de Dados:

- selecionar o formulário na tela Banco de Dados- no menu Editar usar Copiar- no menu Editar usar Colar- informar o nome da cópia na janela de diálogo

Para copiar formulários entre Banco de Dados distintos deve-se utilizar a opção Exportardo menu Arquivo.

Page 43: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

43

Capítulo 6 – Formulários: projeto e desenvolvimentoFormulários podem ser gerados pelos assistentes e/ou desenvolvidos pelo usuário.Existem alguns recursos para auxiliar nesta tarefa na janela de projeto:

- a lista de propriedades do controle selecionado- a lista de campos da tabela ou consulta- as barras de ferramentas- a caixa de ferramentas

A lista de propriedades permite ajustar características específicas de cada controle. Paraexibi-la deve-se selecionar o objeto, o menu Exibir e opção Propriedades ou acionar obotão de propriedades na barra de ferramentas. O mesmo efeito também é obtido clicandoduas vezes o objeto ao selecioná-lo. Ao digitar o valor de uma propriedade pode ser que aárea seja insuficiente, utilize SHIFT + F2 para mostrar a caixa de zoom da propriedade.

Para exibir a lista de campos deve-se acionar o menu Exibir e opção Lista de Campos.Também pode-se acionar o botão da lista de campos na barra de ferramentas.

Existem paletas de cores para o fundo/preenchimento, para o primeiro plano/fonte e paralinha/borda. A utilização dessas paletas é realizada através da barra de ferramentas deformatação que, caso não esteja ativa, deve ser acionada via menu Exibir opção Barra deFerramentas e Formatação.

A caixa de ferramentas em geral já vem exibida quando alternamos para a janela deestrutura. Caso seja necessário forçar a exibição da caixa de ferramentas, deve-se usar omenu Exibir opção Caixa de ferramentas, ou clicar o botão correspondente na barra deferramentas.

Figura 6.1 – Recursos da Caixa de Ferramentas

Selecionador de objetos Assistente para controles

Rótulo Caixa de texto

Grupo de opção Botão alternar

Botão de opção Caixa de seleção

Caixa de combinação Caixa de listagem

Botão de comando Imagem

Moldura de objeto não acoplado Moldura de objeto acopladoQuebra de página Controle guia

Subformulário/subrelatório Linha

Retângulo Mais controles

Page 44: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

44

No formulário criamos e manipulamos controles que podem ser de três tipos:

- controle associado a algum campo de tabela ou consulta e que exibiráautomaticamente o conteúdo deste campo

- controle sem associação como é o caso de retas, retângulos, cabeçalhos e caixas detexto para a entrada de dados que não vão para a tabela

- controle calculado que ficará ligado à uma expressão.

6.1 – Criação de controles associados a campos

Gera-se controles deste tipo a partir da lista de campos. Basta selecionar os campos earrastá-los para a posição desejada do formulário. Em princípio o Access sempre criauma caixa de texto e seu rótulo para cada campo selecionado.Caso se deseja criar umoutro tipo de controle, deve-se selecionar seu botão na caixa de ferramentas antes deselecionar os campos na lista de campos.

Eventualmente deseja-se associar um campo a um controle que foi criado no formuláriosem associação. Neste caso é necessário abrir a janela de propriedades do controle eatribuir o nome do campo à propriedade Origem do Controle.

6.2 – Criação de controles não associados ou calculados

Neste caso a geração é a partir da caixa de ferramentas. Seleciona-se o botão do controledesejado e em seguida deve-se clicar o lugar do formulário onde o controle deve ficar.Após clicar já é possível digitar a expressão de cálculo ou texto desejado para o campo.Se o objetivo for apenas desenhar o controle então deve-se, após clicar o formulário,arrastar o mouse até obter o formato desejado.

Controles do tipo rótulo podem armazenar várias linhas de texto. Deve-se observar que amudança de linha se efetua inserindo um caráter de mudança de linha no texto através doacionamento simultâneo das teclas CTRL e ENTER.

Para armazenar uma expressão numa caixa de texto calculada deve-se iniciar a expressãocom o sinal de igual (=). Por exemplo, para mostrar a data corrente na tela utilizar-se-ia=Date( ). Também convém lembrar que nomes de campos de tabelas em expressõesdevem vir envolvidos por colchetes. Estas recomendações também valem para caixas decombinação e caixas de listagem.

6.3 – Definição de propriedades de controles

Podemos definir e redefinir propriedades do controle selecionado através da janela dalista de propriedades. Basta selecionar o controle, abrir a janela e efetuar as definiçõesdesejadas. As propriedades que usualmente se altera são:

Page 45: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

45

Formato: permite especificar um formato para a apresentação devalores nas caixas

Casas Decimais: quantas casa decimais serão apresentadasTexto da barra de Status: texto a ser exibido na barra de status na parte inferior da

tela quando o controle for ativado no formulárioValor Padrão: valor padrão que preenche inicialmente o controleRegra de validação: teste da consistência sobre o dado alimentado, por exemplo

>0 e <1000Bloqueado: indica que este controle não pode receber qualquer entrada

de dados.

6.4 – Caixas com listas de escolhas

Quando alimentamos dados tais como a sigla de um departamento ou código de um cargosomos, em princípio, obrigados a nos recordar da lista dos possíveis valores. Uma formade facilitar a tarefa do usuário é apresentar-lhe a lista junto com o formulário. Há duasalternativas para isso: caixas de combinação e caixas de listagem.

Para mostrar sua sistemática de uso vamos tomar o formulário cadastro de funcionáriosgerado pelo assistente e reconfigurá-lo com uma caixa de combinação para o código docargo e com uma caixa de listagem para o campo sigla do departamento (figura 6.2).

Figura 6.2 – Estrutura do formulário com listas de escolhas

Caixa de combinação para código do cargo

Inicialmente deve-se selecionar e remover o rótulo e a caixa de texto correspondente aocódigo do cargo pois vamos substitui-los pela caixa de combinação. Proceder conformeindicado:

Page 46: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

46

- escolher caixa de combinação na caixa de ferramentas- desenhar na área de detalhe- no rótulo associado digitar “código”- selecionar a caixa de combinação e abrir a janela de propriedades definindo:

Tipo de origem da linha como sendo Tabela/Consulta, pois iremos obter os códigos doscargos da tabela cadastro de cargos e salários, somente os códigos lá cadastradospoderão ser escolhidos pelo usuário.

Origem da linha como sendo cadastro de cargos e salários, pois é a tabela onde estão oscódigos válidos.

Número de colunas como sendo 3, pois queremos apresentar os três primeiros camposque constituem a tabela cadastro de cargos e salários.

Cabeçalhos das colunas como sim, pois desejamos identificar pelo nome dos campos databela origem as colunas da caixa de combinação.

Largura das colunas como sendo 1cm; 2,71cm; 2cm, pois desejamos evitar que a caixa decombinação venha com barras de rolagem horizontais.

Coluna acoplada como sendo 1, pois é o primeiro campo da tabela cadastro de cargos esalários que contém o código do cargo que pode ser escolhido pelo usuário.

Linhas da lista como sendo 8, pois queremos evitar a barra de rolagem vertical.

Limitar a uma lista como sendo sim, pois queremos impedir que o usuário digite um valorpara o código do cargo, ele apenas pode escolher dentre a lista.

Finalmente, e isto deve ser entendido claramente, é necessário indicar de onde vem ovalor apresentado na caixa de combinação (ou para onde vai o valor escolhido da listaque se abre abaixo da caixa de combinação). Para isso é necessário definir a propriedadeOrigem do controle como sendo: código do cargo. Esse código do cargo é o campo databela cadastro de funcionários para a qual estamos projetando este formulário.

Caixa de listagem para a sigla do departamento

As caixas de listagem ficam permanentemente “abertas” no formulário contrariamente àscaixa de combinação que o usuário “abre” clicando o botão associado. Portanto as caixasde listagem precisam de alguma área livre no formulário apesar de suas barras derolagem.

Neste exemplo não iremos remover a caixa de texto para a sigla do departamento. Oobjetivo é mostrar uma lista de possíveis siglas dentre as quais o usuário escolhe uma.Além disso, não iremos criar esta lista a partir da tabela cadastro de departamentos (o

Page 47: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

47

que seria mais correto) pois o exemplo visa mostrar a possibilidade de definir a lista devalores na janela de propriedades. Procedimento:

- escolher a caixa de listagem na caixa de ferramentas- desenhá-la na área de detalhe- mover o rótulo que veio junto para cima da caixa de listagem e alterar seu texto para:

“relação de siglas”- selecionar a caixa de listagem e abrir a janela de propriedades definindo:

tipo de origem da linha como sendo Lista de valores, pois desejamos listar os valoresmanualmente a seguir

origem da linha como sendo fin;mkt;pro

Finalmente é necessário indicar de onde vem a informação que realça a linha da lista oupara onde vai a escolha efetuada na lista. Para isso é necessário definir a propriedadeOrigem do controle como sendo sigla do departamento. Esse é outro campo da tabelacadastro de funcionários que é a base do formulário que está sendo desenvolvido.

Figura 6.3 – Janela do formulário com a caixa de combinação aberta

6.5 – Subformulários

É possível criar formulários contidos dentro de formulários. Por exemplo, podemos listarpara cada departamento os funcionários que lá trabalham. A nível de departamento cria-se um formulário de coluna simples ao qual incorporamos um subformulário a nível defuncionário em formato tabular.

O procedimento para a criação do exemplo consiste de três partes: a criação de umaconsulta para o subformulário, a criação do subformulário a partir desta consulta e

Page 48: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

48

finalmente a criação do formulário principal e incorporação do subformulário. Em todosos processos envolvendo a criação de formulários utilizou-se assistentes realizando-se osajustes necessários ao final.

a) Criação da consulta salários e descontos por func por depto

Esta consulta envolve duas tabelas pois a sigla do departamento e o nome do funcionárioconstam numa tabela, enquanto o salário dele consta em outra. A ligação entre elasprecisa ser estabelecida através do código do cargo. Escolheu-se uma ligação com apropriedade da associação indicando que devem ser incluídos todos os registros docadastro de funcionários. Para ativar a janela de propriedade da ligação deve-seselecionar a ligação e ativar o menu Exibir opção Propriedades da Associação. Esse tipode ligação força a entrada de todos os funcionários inclusive aqueles momentaneamentesem cargo. A janela de projeto correspondente é apresentada na figura 6.4.

O desconto foi computado através da fórmula Cmoeda(IIf(Énulo([salário docargo];0;[salário do cargo]*0,08))

Figura 6.4 – Consulta salários e descontos por func por depto

b) Criação do formulário salários e descontos por func por depto (sub)

Utiliza-se o assistente gerador de formulários a partir da consulta criada anteriormente:salários e descontos por func por depto. Utilizar um assistente para o formato tabularincluindo todos os campos, estilo padrão e título “salários e descontos por func pordepto(sub)”

No formulário gerado são necessários vários ajustes:

Page 49: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

49

- ajustar os títulos das colunas nas caixas de rótulo do cabeçalho- ajustar o tamanho das caixas de texto na linha detalhe- reposicionar as colunas- incluir no rodapé uma linha de totalização dos salários e descontos através das

fórmulas: =soma([salário do cargo]) e =soma([descontos])

Figura 6.5 – Formulário salários e descontos por func por depto (sub)

c) Criação do formulário salários e descontos por func por depto (prin)

Este formulário também é criado pelo assistente a partir da tabela cadastro dedepartamentos. Empregar formato de coluna simples e atribuir o título “salários edescontos por func por depto (prin)”. Ao final são necessários alguns ajustes na área dedetalhe:

- ajustar a posição dos controles que permanecem- incluir um controle de subformulário a partir da caixa de ferramentas, na seção

detalhe

Ao alinhar a área para o subformulário é acionado o assistente para a criação dosubformulário. Este assistente faz três perguntas:

1) Se deseja usar um formulário, já criado anteriormente, como subformulário. Escolha aopção formulário e especifique o nome a partir da lista apresentada (salários edescontos por func por depto (sub)). Cuidado na escolha porque o texto é truncadopelo Access. Após a escolha ative o zoom via SHIFT/F2 para ver se o nome corretofoi escolhido.

2) Se deseja definir os campos de vinculação entre os 2 formulários ou se desejaescolher da lista. Escolha da lista a opção “exibir salários e descontos por func pordepto para cada registro...”.

Page 50: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

50

3) Qual o nome que deseja dar ao subformulário. Especifique o nome salários edescontos por func por depto (sub) igual ao formulário que o originou.

Finalizado o assistente podemos remover o rótulo que veio acompanhando a áreadesenhada para o subformulário pois ele não será usado. Basta abrir o formulárioprincipal para visualizar o conjunto criado.

Finalmente, caso se deseje impedir a alteração e entrada de dados no subformulário, bastaligar a propriedade bloqueado para todos os campos que o constituem.

Figura 6.6 – Formulário salários e descontos por func por depto (prin)

Page 51: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

51

Figura 6.7 – Apresentação final do formulário e seu subformulário

Page 52: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

52

Capítulo 7 – RelatóriosRelatórios constituem um recurso específico para apresentação de informações em papelimpresso. A origem destas informações pode ser uma tabela ou consulta. Além disso, épossível incluir no relatório elementos gráficos para torná-lo mais atrativo. Como serávisto, os relatórios também incluem meios para agrupar e agregar dados.

7.1 – Relatórios gerados por assistentes

Para mostrar como se gera um relatório através do assistente será utilizado o exemplo queimprime a relação de funcionários e seus salários por cargo dentro de cada departamento.Também desejamos imprimir o total de salários por cargo e por departamento, bem comoo total geral da empresa. O relatório final gerado é apresentado na figura 7.1.

Page 53: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

53

Figura 7.1 – Relatório funsal por cargo por depto (versão final)

Como é um relatório que envolve informações originárias das três tabelas do banco dedados, devemos criar inicialmente uma consulta que envolva todas as informaçõesnecessárias. Na consulta foram utilizadas legendas mais mnemônicas para facilitar aselaborações posteriores:

- sigla do departamento (depsig)- nome do departamento (depnom)- código do cargo (carcod)- nome do cargo (carnom)- número do funcionário (funnum)- nome do funcionário (funnom)- salário do cargo (carsal)

A tela de projeto desta consulta consta da figura 7.2. Observar que já foi indicada aordem adequada de classificação: sigla do departamento, código do cargo e o nome dofuncionário. Entretanto, isto não é obrigatório para gerar o relatório, o assistenteefetivamente refaz essa classificação.

O relatório na sua versão original foi gerado pelo assistente de relatório, opção escolhidana janela Novo relatório. Nesta janela também deve ser escolhida a consulta funsal porcargo por depto cujos registros irão compor o relatório gerado. O assistente faz 6perguntas comentadas a seguir.

1) Quais campos são desejados na relatório. Incluir todos na ordem em que irão aparecernas linhas: depsig, depnom, carcod, carnom, funnum, funnom e carsal.

2) Se são desejados níveis de grupo. Certamente são pois desejamos totalizar saláriospor cargo dentro de cada departamento. Dessa forma os níveis de grupo em ordem deprioridade são: depsig e carcod.

Page 54: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

54

Figura 7.2 – Consulta funsal por cargo por depto

3) Qual ordem de classificação e resumo informativo é desejado. A ordem se refere aclassificação das linhas de detalhe: por funnom. O resumo se refere ao que serátotalizado e em qual nível: soma de carsal mostrado a nível de detalhe e resumo.

4) Como se deseja ordenar/distribuir o relatório. O esquema mais adequado à versãofinal é o esquema por nível.

5) Qual é o estilo desejado de fontes e arte gráfica: Negrito.

6) Qual é o título que deve ser atribuído ao relatório: funsal por cargo por depto (versãooriginal)

O relatório gerado pelo assistente pode ser visto acionando o botão Visualizar na janelaBanco de dados. Uma parte dele é apresentada na figura 7.3 após alguns ajustes manuaisrealizados na sua estrutura que pode ser vista na figura 7.4, estes ajustes foram feitos parareduzir sua largura e permitir melhor visualização nas janelas apresentadas.

Como se observa, o relatório possui a estrutura desejada mas apresenta muitas diferençasem relação a versão final. Entre outras coisas observamos que os campos não estãodistribuídos conforme desejado e possuem comprimentos inadequados. Há títulos emdemasia, resumos não requeridos e não aparecem as linhas de separação que identam osgrupos na versão final.

Page 55: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

55

Figura 7.3 – relatório funsal por cargo por depto (versão original)

Tudo isso terá que ser resolvido manualmente na janela de estrutura. Para correr menosrisco sugere-se que o usuário tire uma cópia do relatório (via editar/copiar/colar na janelabanco de dados) antes de iniciar esta atividade. Resumidamente as alterações realizadasforam:

a) Mover para o cabeçalho do relatório a caixa de texto da data atual identificada pelafunção Agora( ) no rodapé da página. Esse movimento pode ser por arraste ou viaeditar/recortar/colar. Para encostar a data à direita da caixa acionar o botãocorrespondente na barra de ferramentas. Também incluir na área do cabeçalho dorelatório um rótulo com o texto “(versão final)”.

b) Remover do cabeçalho da página os rótulos indesejados e alterar outros para os textos“departamento” e “cargo”.

c) Mover para o cabeçalho depsig a caixa de texto depnom.

d) Mover para o cabeçalho carcod a caixa de texto carnom.

Page 56: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

56

Figura 7.4 – Estrutura do relatório funsal por cargo po depto (versão original)

e) Na linha de detalhe redistribuir e redimensionar as caixas de texto que restaram:funnum, funnom, carsal.

f) No rodapé carcod remover as caixas de texto de resumo indesejadas mantendo a caixaque calcula a soma de carsal.

g) Idem no rodapé depsig.

h) Remover a numeração de páginas do rodapé da página e eliminar a sua área.

i) No rodapé do relatório remover o rótulo de total geral e reposicionar a soma de carsal.

j) Redimensionar à direita as linhas retas que aparecem na cabeçalho do relatório ecabeçalho da página. Copiar uma dessas linhas para o rodapé depsig e para o rodapédo relatório e tornar sua espessura mais fina. Essas linhas ficam pouco visíveis najanela estrutura porque se confundem com outros elementos gráficos da tela.

k) Também é necessário copiar ou gerar uma linha reta no rodapé carcod cuidando paraacertar seu tamanho à esquerda corretamente.

Page 57: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

57

l) Se todos os objetos mais a direita na janela estrutura foram reposicionados, deve tersobrado espaço (fundo branco) que pode ser reduzido por arraste da sua borda. Sepermanecerem objetos nesta área o arraste não se concretiza.

m) Reduzir o tamanho vertical das diversas áreas do relatório de modo que as linhasimpressas fiquem mais juntas.

n) Acertar as fontes das caixas de texto e rótulos. No exemplo foram empregadas fontesarial, de tamanho 9 e 10, com e sem negrito. Além disso, todas as cores geradas peloassistente forma convertidas em preto.

Realizados os ajustes foi obtida a janela de estrutura que corresponde ao relatório na suaversão final. A janela de estrutura da versão final aparece na figura 7.5.

Figura 7.5 – Estrutura do relatório funsal por cargo por depto (versão final)

7.2 – Criação de relatórios

Para criar um relatório sem auxílio do assistente seleciona-se Relatório e Novo na janelabanco de dados. Na janela Novo relatório especifica-se a tabela ou consulta que servirá debase para o relatório e seleciona-se a opção Modo estrutura. A título de exemplo serádetalhada a criação do relatório de funcionários por cargo a partir da tabela cadastro defuncionários. O relatório final gerado aparece na figura 7.6.

Page 58: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

58

Figura 7.6 – Relatório funcionários por cargo

Após clicar OK aparece a janela de estrutura do relatório. Convém especificarinicialmente qual será a organização de agrupamentos e classificação dos camposenvolvidos. Para isto aciona-se o menu Exibir opção Classificar e agrupar ou aciona-se obotão correspondente na barra de ferramentas. Em resposta aparece a janela Classificar eagrupar.

Nesta janela indica-se que haverá agrupamento por código do cargo e os cargos devemser listados em ordem crescente. Por outro lado, dentro de cada cargo os funcionáriosdevem ser classificados segundo seu nome (na verdade o nome não constituirá grupo).

Para o código do cargo desejamos a inclusão de uma linha adicional ao final de cadagrupo (rodapé de grupo), mas não desejamos a linha adicional no início (cabeçalho degrupo). Além disso, o agrupamento deve ser feito pelo código do cargo por inteiro e nãosegundo alguns caracteres iniciais, portanto escolhemos Reagrupar cada valor. Para estaopção o número de caracteres é irrelevante e não precisa ser especificado. Como para onome do funcionário não desejamos agrupamento, não indicamos nem cabeçalho nemrodapé nas propriedades do grupo.

Após fechar esta janela o sistema incorpora a linha adicional de rodapé do código docargo à janela de estrutura. Agora podemos detalhar os campos que desejamos dispor najanela. Para isto, basta exibir a janela lista de campos e selecionar o número e nome dofuncionário e código do cargo (via tecla CTRL). Arrasta-se a seleção para a linha dedetalhe. Os campos vem acompanhados de seus rótulos que precisam ser selecionados,recortados e colados na linha cabeçalho da página. A seguir, deve-se definir a posiçãocorreta das caixas, sua dimensão e tipo de fonte. Também falta incluir um título eacessórios estéticos.

Page 59: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

59

Figura 7.7 – Janela Classificar e agrupar para o relatório funcionários por cargo

Para evitar a repetição do código do cargo em cada linha deve-se selecionar sua caixa detexto na linha detalhe, exibir sua lista de propriedades e indicar sim para a propriedadeOcultar repetições.

Para obter a coluna que numera os funcionários dentro de cada grupo deve-se adicionarum campo calculado na linha de detalhe. Abra uma caixa de texto (remova o rótuloassociado) e digite a expressão =1. Isso indica, em princípio, que seu valor será sempreum. Para obter o efeito de contagem ou de acumulação basta exibir sua lista depropriedades e indicar Por grupo para a propriedade Soma parcial. Isso indica ao sistemaque a cada novo registro o valor do campo é somado ao valor anterior antes de serimpresso.

Para obter a acumulação ou total de funcionários ao final de cada grupo adiciona-se umacaixa de texto calculada na linha de rodapé do cargo. No seu rótulo digita-se o texto“total” e na caixa de texto digita-se =soma(+1). Isso indica ao sistema que a expressãoentre parentesis (+1) deve ser acumulada a cada novo registro impresso e quando o grupoterminar será impresso o total vigente e o acumulador será zerado antes de iniciar opróximo grupo.

Para numerar as páginas basta acrescentar à linha de rodapé da página uma caixa de textocom a expressão =página. Será acionada a função interna do sistema (página) que retornao número da página corrente. Esse texto aparece na parte inferior da página impressa masnão foi possível mostrá-lo na janela de relatório anteriormente apresentada. Um meiomais simples de acrescentar a numeração de páginas no relatório é através do menuInserir opção Números de páginas. Na janela de diálogo que aparece em seguida, épossível escolher a posição, o tipo e o alinhamento da numeração. A janela com aestrutura final consta na figura 7.8.

Indica inclusão delinhas de cabeçalho erodapé na janela deprojeto

Indicar grupo

Page 60: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

60

Figura 7.8 – Estrutura do relatório funcionários por cargo

7.3 – Outros recursos envolvendo relatórios

Para inserir quebras de páginas basta selecionar o botão correspondente na caixa deferramentas e clicar na área da janela de estrutura onde se deseja a inserção. O sistemainsere uma marca de 5 pontos indicando a posição da quebra. Também é possível colocarquebras de página antes ou depois de um rodapé ou cabeçalho. Neste caso deve-se usar alista de propriedades do rodapé ou cabeçalho e definir a propriedade Força quebra depágina.

É possível fazer agrupamentos baseados em parte de um valor. Por exemplo, se o campode agrupamento for uma data então é possível indicar grupos baseados em parte da data.Como já foi visto, isto é feito na janela Classificar e agrupar através da propriedadeReagrupar. Dependendo do tipo de campo o sistema já lista as alternativas possíveis parao usuário. Algumas alternativas são: agrupar pela primeira letra de um campo de texto ouagrupar segundo intervalos de amplitude constante para um campo numérico.

O relatório gerado a seguir agrupa por intervalos. Ele foi criado a partir da consultafunsal por cargo por depto sem uso do assistente. O relatório mostra percentualmente aparticipação de cada salário no total de salários e agrupa os funcionários segundo faixasde salários de amplitude constante. O relatório aparece na figura 7.9.

Inicialmente abre-se a janela Classificar e agrupar via menu Exibir para especificar oscampos de classificação e agrupamento. O nome do funcionário classifica a saídaenquanto o salário agrupa os dados. Observar que foi escolhido Rodapé de grupo parasalário identificado pela legenda carsal. O reagrupamento é por intervalo e o número de

Page 61: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

61

caracteres indica a faixa que será usada: de 1000 em 1000. Essa janela é apresentada nafigura 7.10.

Figura 7.9 – Relatório por faixa de salário

O relatório possui várias caixas de texto com valores computados. Existe uma totalizaçãode salários por grupo e uma totalização geral. A este total geral na rodapé do relatório foiatribuído uma identificação: total que passou a ser o nome da caixa de texto. O nome éuma propriedade de controles muito útil se este controle precisar ser referenciado emfórmulas. Este é o caso pois para poder computar a participação percentual é necessárioconhecer o total de salários.

No relatório também é computado um campo através da função iif/selmed. Ela testa odepartamento do funcionário e marca com asterisco os funcionários do departamento demarketing. A janela estrutura do relatório gerado aparece na figura 7.11.

Page 62: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

62

Figura 7.9 – Janela Classificar e agrupar do relatório

Iif ([depsig]= “mkt”; “*”; “”)=[carsal]/[total]formato porcentagem

=soma([carsal])formato moeda

Nome: total =Soma([carsal])/[total]formato porcentagem

Figura 7.11 – Estrutura do relatório funcionários por faixa de salário

Page 63: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

63

Capítulo 8 – MacrosUma macro é uma espécie de rotina que pode ser executada em resposta à algum eventoque ocorre no sistema. Por exemplo, podemos acionar uma rotina quando uma exclusãode registro estiver para ser efetivada e esta rotina pode exigir confirmação pelo usuário. OAccess fornece uma série de ações que serão exemplificadas neste texto.

8.1 – Criação de uma macro

Para criar uma macro seleciona-se Macros na janela Banco de Dados e aciona-se o botãoNovo. Para alterar uma macro utiliza-se o botão Estrutura e para executar uma macro (emgeral para teste) utiliza-se o botão Executar. A janela para a montagem de uma macroestá detalhada na figura 8.1.

Figura 8.1 – Janela de projeto de Macro

Esta janela mostra uma macro constituída de 4 ações. Essa macro será ativada em umformulário (detalhado mais a frente) através do acionamento de um botão e vai apresentarna tela uma janela tipo folha de dados correspondente à tabela cadastro dedepartamentos. Como se observa, para a ação AbrirTabela temos que especificar 3parâmetros: qual a tabela a ser aberta, de que forma ela é exibida (folha de dados), e qualação do usuário será admitida sobre a janela exibida (somente leitura).

A ação AbrirTabela é imediatamente seguida da ação de posicionamento da janela recémaberta porque desejamos escolher sua dimensão e posição. A opção MoverDimensionar

A ação é escolhida da lista do Access

Parâmetros da ação AbrirTabela.

Page 64: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

64

especifica a dimensão (largura, altura) e posição (direita, abaixo) em relação a tela. Asduas ações iniciais desta macro: Eco e Ampulheta fornecem um controle adicional sobreo processo de apresentação da tabela. A ação Eco deve ter o parâmetro Eco ativoespecificado como sendo Não. Isto indica que eventuais processos intermediários queocorrem durante a montagem da tabela na tela não serão exibidos (não são ecoados natela). Em geral não há realmente interesse em se exibir esses processos. Entretanto, comoisto pode significar que durante um breve espaço de tempo o usuário ficará sem qualquerresposta na tela, aciona-se a ação Ampulheta para mostrar o ícone correspondente até atabela ser definitivamente apresentada na tela.

Vale lembrar que a janela de montagem de macros funciona analogamente às janelas deconstrução de tabelas. Podemos redimensionar as colunas, selecionar e mover linhas,removê-las e redimensionar suas alturas. Eventualmente pode ser até necessárioacrescentar duas colunas adicionais de nomes de macros e de condições. Isso é feito viamenu Exibir ou através dos botões correspondentes na barra de ferramentas. O uso decondições e grupos de macros é visto nos exemplos que seguem.

Figura 8.2 – Barra de ferramentas da janela de projeto de Macro

8.2 – Macros para mostrar tabelas, formulários e relatórios

A partir da tabela cadastro de funcionários foi desenvolvido anteriormente um formuláriode coluna simples. Essa mesma tabela deu origem a um formulário em formato tabularapresentado adiante e que será utilizado para mostrar alguns recursos implementáveisatravés de macros. A construção desse formulário pode ser feita através de um assistentee não será detalhada aqui. A figura 8.3 mostra o formulário em uso apresentando osdados da tabela na forma de colunas. À frente do formulário aparece a janela com a tabelacadastro de departamentos acionada através do botão deptos do formulário.

Nome decolunas

Condições

Executar

Desfazer Passo único

Page 65: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

65

Figura 8.3 – Formulário que apresenta os dados em formato tabular.

O botão deptos não é incluído pelo assistente gerador do formulário. Ele é incorporadopelo projetista na janela de projeto via caixa de ferramentas. Ao botão deve ser atribuídoum texto para a legenda. Convém também atribuir um nome (interno) ao controle/botão.Finalmente é necessário especificar qual ação ele deve executar quando for clicado com omouse. Para isso especifica-se o nome da macro com as ações desejadas na propriedadeAo clicar do botão. A macro mostrada no item anterior foi a macro associada ao eventoAo clicar conforme se pode observar na janela de projeto correspondente na figura 8.4.

Se o botão Assistentes de controles da barra de ferramentas estiver ativado, o processoserá um pouco diferente. Na primeira janela de diálogo que aparece logo após o desenhodo botão de comando, a categoria a ser selecionada é Miscelânea e a ação é Executarmacro. A próxima tela pede a definição da macro que vai ser utilizada para o controle,que no caso é mostrar cadastro de departamentos. Na tela seguinte deve-se escolher Textoe digitar o nome do botão (correspondente à legenda) e clicar Avançar. Depois escolhe-seum nome que vai ser atribuído ao controle, para uso interno do Access e clicar Concluir.

Page 66: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

66

Figura 8.4 – Tela de projeto do formulário e janela de propriedades do botão

A macro funciona apresentando na tela a janela da tabela cadastro de departamentos. Aativação de uma janela se sobrepõe às outras que porventura estiverem ativas. Qualquerjanela pode ser movida, minimizada, fechada e redimensionada. Entretanto isto interpõeum problema se fecharmos a janela do formulário sem fechar a janela da tabela.Efetivamente esta continua aberta. Apesar dela poder ser fechada manualmente, pode-seforçar seu fechamento se a janela do formulário for fechada.

Para isto construímos a macro “fechar cadastros” constituída de uma ação de fechar. Aação tem dois parâmetros: o tipo de objeto a fechar (no caso a tabela) e o nome do objeto.Essa macro é especificada na propriedade/evento do formulário que ocorre quando ele éfechado: Ao fechar. Portanto, antes do formulário ser fechado agora é executada a açãode fechar a tabela, esteja a tabela ativa ou não na tela. A figura 8.5 mostra a macro que foidescrita.

Page 67: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

67

Figura 8.5 – Estrutura da macro fechar cadastros

8.3 – Macros para confirmar a exclusão de registros

No formulário anterior também inclui-se uma macro para enviar uma mensagem de avisoquando um registro for excluído e exigir confirmação. Ao se tentar remover (via teclaDEL) um registro selecionado será mostrada uma caixa de mensagem com dois botões :sim e não conforme a figura 8.6.

Figura 8.6 – Caixa de mensagem da Macro confirmar exclusão

Essa janela de aviso é mostrada através da chamada de função internaCaixaDeMensagem (“confirma exclusão?”; 52, “”) onde o primeiro parâmetro é amensagem a ser exibida, o segundo indica os botões a serem exibidos e o terceiro é otítulo da caixa de mensagem. A forma exata de determinar o segundo parâmetro pode servista no help correspondente à função. Ele se constitui numa soma de valores: 4 paraexibir botões sim e não, 48 para o ícone de exclamação e zero para o primeiro botão serassumido como padrão. O botão que for acionado determina o resultado que a funçãodevolve: 6 para o botão Sim e 7 para o botão Não.

Como a função retorna um valor optamos neste formulário por empregar um controle tipocaixa de texto com função auxiliar de apenas armazenar o valor resultante da função. Na

Page 68: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

68

janela de projeto esse controle deve ser criado no cabeçalho à direita. Ele é um controleinvisível na janela de formulário por ter a propriedade Visível posicionada em Não. Alémdisso, é obrigatório atribuir um nome à ele pois o nome será referenciado na macro, nocaso o nome escolhido foi: aux.

A macro será acionada quando ocorrer o evento Ao excluir do formulário. Ela deverárealizar duas ações: mostrar a caixa de mensagem (e obter o resultado da chamada dafunção) e em seguida deve testar se o valor resultante determina ou não o cancelamentoda exclusão. Como uma condição está envolvida é necessário acrescentar a coluna decondições na janela da macro conforme detalhado na figura 8.7.

Figura 8.7 – Janela de projeto da macro confirmar exclusão

A ação DefinirValor possui dois parâmetros: para onde deve ir o valor calculado (caixade texto aux) e qual é a expressão a ser calculada (CaixaDeMensagem(“confirmaresclusão?”;52; “”)). Executada essa ação passa-se para o teste do conteúdo da caixa auxna coluna condição. Se o teste der o resultado verdadeiro, será executada a açãoespecificada na coluna ação. No caso, deseja-se cancelar o evento em curso, portanto,utiliza-se a ação CancelarEvento.

Construída a macro e atribuído um nome a ela (“confirmar exclusão”) pode-se incorporarsua chamada no evento correspondente do formulário. Para isso deve-se abrir a janela depropriedades do formulário e especificar o nome da macro na propriedade/evento Aoexcluir.

Convém lembrar que é padrão do Access solicitar confirmação a cada remoção deregistros. Entretanto, essa mensagem padrão pode ser desativada para todo ambiente viamenu Ferramentas, opção Editar/Localizar, desativando em Confirmar a opçãoAlterações de registro.

Testa valor e cancela evento se for 7

Page 69: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

69

8.4 – Macros para validação de dados

O formulário desenvolvido exige que o usuário digite a sigla do departamento. Se ele nãose lembrar desse código, ele pode inspecionar a tabela correspondente acionando o botãodo cabeçalho. Mas, de qualquer maneira, é sempre ele que digita o código em questão e éimportante que este código confira com algum código do cadastro correspondente.

Para garantir que isto ocorra podemos criar uma macro associada a caixa de texto da siglae que será ativada imediatamente antes de ocorrer a atualização. A macro deve verificarse o valor digitado consta no cadastro correspondente. Se não constar deve emitir umamensagem de aviso e cancelar a atualização. Para que o teste possa ser feito é necessárioque o controle (caixa de texto) possua um nome, no caso atribuiu-se o nome sigla àpropriedade Nome do controle.

Para verificar se a informação consta dos outros cadastros utilizamos a função internaDPesquisa. Deve-se especificar três argumentos tipo texto na chamada desta função:

- o nome do campo de onde será obtido o valor que ela vai retornar- o nome da tabela onde a pesquisa é feita- a condição que deve ser testada e que possivelmente é feita sobre outro campo da

tabela.

No caso o teste incorporado à macro está especificado a seguir. Na janela da macro não épossível ver todo o texto do teste por razões de espaço.

ÉNulo(DPesquisa (“[nome do departamento]”; “cadastro de departamentos”; “[sigla do departamento]=[sigla]”))

Portanto a função pesquisa a tabela cadastro de departamentos. Nesta tabela ela faz apesquisa sobre a coluna [sigla do departamento] até localizar a primeira linha onde ovalor seja igual ao conteúdo da caixa de texto [sigla]. Esta linha determina o valor nacoluna [nome do departamento] que será devolvido como resultado da chamada dafunção. Se em nenhuma linha o teste for satisfeito então a pesquisa não teve sucesso e afunção retorna valor nulo.

Na macro em questão estamos apenas interessados em saber se um valor foi localizado ounão. Realmente não nos interessa o nome do departamento em caso de localização. Destaforma, a ação na macro corresponde a verificar se a função retornou Nulo pois, nestecaso, desejamos mostrar uma mensagem de aviso via ação CaixaDeMensagem seguida daação CancelarEvento. Como são duas ações a serem executadas caso o texto dêverdadeiro, devemos colocar reticências (...) na coluna Condição correspondente.

Observar que para a ação CaixaDeMensagem temos que indicar o texto da mensagem, sequeremos ou não um aviso sonoro e o tipo de ícone que deva ser mostrado junto com amensagem. Finalmente, o nome da macro (validação da sigla do departamento) é

Page 70: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

70

especificado na propriedade Antes de atualizar da caixa de texto da sigla dodepartamento.

Figura 8.8 – Macro de validação da sigla do departamento.

8.5 – Macro de ativação imediata

Desejamos assim que abrimos o Banco de Dados no menu arquivo, acionar uma janelade formulário denominado tela base onde constam botões que acionam as principaistarefas deste sistema. No exemplo atual, apenas a título de ilustração, reuniu-se asfunções em torno da consulta, entrada de dados e visualização de relatórios. A janela doformulário está apresentada a seguir. Detalhes de sua construção são apresentados nopróximo item.

Page 71: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

71

Figura 8.9 – Formulário tela base

Para acionar esta tela criamos uma macro que abre o formulário tela base. Esta macro nãoapresenta novidades. Para que sua ativação seja imediata devemos atribuir-lhe um nomepadrão do Access: autoexec. A macro está apresentada a seguir.

Figura 8.10 – Tela de projeto da macro que abre o formulário tela base

Page 72: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

72

8.6 – Grupo de Macros

A janela/formulário tela base possui uma série de botões. Basicamente a cada um delesestá associada uma macro de uma única ação que corresponde a abrir a tabela, formulárioou relatório correspondente. No caso teríamos que criar 8 macros e denominar cada uma;isto causaria certa confusão na janela Banco de Dados. Para simplificar podemos reuniras diversas macros numa única janela conforme mostra a figura.

Figura 8.11 – Grupos de macros da tela base

Trata-se de uma janela que reúne um grupo de macros. Para isso foi necessárioacrescentar uma coluna para o nome da macro e empregar nomes mais curtos porémmnemônicos. Este nome será especificado na propriedade/evento Ao clicar do botãocorrespondente através da seguinte sintaxe: nome do grupo.nome da macro, por exemplo,no botão funcionários especifica-se botões da tela base.abrfun. O Access trata de procuraro nome da macro no grupo e executa suas ações até encontrar o nome de outra macro nacoluna de nomes.

O formulário tela base merece mais algumas observações pois ele não se parece com umformulário comum. Isso se deve ao fato de todos os controles estarem no cabeçalho doformulário. Para este cabeçalho se especificou cor de fundo cinza. Além disso, asseguintes propriedades do formulário foram especificadas:

Page 73: Informática - Introdução ao Microsoft Access

EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access

73

Legenda tela basePermitir edições não (desativa Permitir Edição)Barras de rolagem nenhuma (remove barras de rolagem)Modos permitidos formulário (desativa botão folha de dados)Permitir filtros não (desativa botões de filtros)