Escolar Documentos
Profissional Documentos
Cultura Documentos
INTRODUÇÃO AO
BANCO DE DADOS
MICROSOFT ACCESS
FEA/USP
1998
1
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
O texto que segue não pretendeu-se de forma alguma esgotar todos os recursos e
possibilidades do Access. Em geral, os pontos mais relevantes e de utilidade mais
imediata foram abordados. Tentou-se evitar o detalhamento de minúcias principalmente
referentes a recursos estéticos de tela. Além disso, certamente há pontos que
simplesmente foram esquecidos ou ignorados ao longo desta compilação. A parte de
programação não é abordada neste texto introdutório.
O Access também cria um arquivo de extensão ldb. Este arquivo tem utilidade em
ambientes multiusuário onde um mesmo banco de dados pode estar sendo acessado
simultaneamente por vários usuários. Se este não for o caso, então não é necessário se
preocupar com este arquivo. Inclusive não é necessário copiar o arquivo conjuntamente
com o arquivo de extensão mdb, por exemplo, para um disquete. O Access recria o
arquivo ldb se ele não estiver presente.
Convém observar que no menu Arquivo consta a opção Salvar, entretanto, ela não se
refere 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 o
arquivo mdb é constantemente atualizado e não é possível revertê-lo à sua condição
original no início da sessão.
2
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Capítulo 1 – Tabelas
1.1 - Definição
Uma Tabela é uma área de disco ou memória que armazena informações sobre algum
assunto, por exemplo, uma relação de funcionários. As informações de cada funcionário
constituem um registro. Uma determinada informação constitui um campo.
Cada campo possui características próprias. Por exemplo, na tabela da figura 1.1
podemos identificar campos numéricos como o campo número do funcionário e campos
alfanuméricos ou textuais como o campo nome do funcionário. Dizemos, portanto, que
cada campo contém dados de um certo tipo.
Além do tipo, cada campo possui características adicionais que eventualmente dependem
do seu tipo. Por exemplo, campos textuais possuem um comprimento máximo em
número de caracteres. Por outro lado, em campos numéricos as informações são
armazenadas em diferentes formatos internos do computador: como número inteiro, como
número fracionário, como número fracionário de dupla precisão etc. Todas estas
características precisam ser especificadas quando se cria uma nova tabela no Banco de
Dados.
3
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Geralmente, o Access abre na janela Tabela. Caso isso não ocorra, basta selecioná-la e
em resposta na janela aparecerão todas as tabelas pertencentes ao Banco de Dados em
questão.
Quando uma nova tabela é criada, o Access atribui a ela o nome de Tabela1. Este nome
será posteriormente alterado para o nome definitivo da tabela. A figura 1.3 mostra a
4
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Para digitar informações basta clicar a barra de inserção na linha desejada e digitar. Para
saltar de uma coluna para outra, basta utilizar a tecla TAB. Para remover informações,
selecione ou marque e use a tecla Delete ou DEL.
Aumenta
a altura
das linhas
Help
Muda Índices
para o Salva Desfaz a Lista de Cria formulários,
modo modificações última propriedades relatórios,
Estrutura operação da tabela consultas e macros
5
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Os campos tipo número podem ter vários tamanhos de campo que determinam sua
capacidade de armazenamento de valores numéricos:
Além disso, os números podem ter diversos formatos de exibição. Os formatos apenas
atuam sobre a forma como o dado é mostrado na tela, ele não altera a forma de
armazenamento interno. O número de casas decimais também pode ser escolhido pelo
usuário:
6
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Para alterar a campo chave, simplesmente reposicione sobre outro campo e clique o botão
da chave primária.
Em geral é necessário definir uma chave primária para cada tabela. No cadastro de
funcionários, o campo número do funcionário é o candidato mais natural pois define
precisamente cada funcionário. O campo nome do funcionário seria um candidato se
tivé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 o
Access perguntar se deseja ou não criar uma chave ( a pergunta é feita sempre que o
usuário não tiver acionado a definição através do botão correspondente). Quando o
Access faz esta pergunta o usuário deve tomar cuidado pois a resposta Sim faz com o
Access inclua mais um campo automaticamente. Este é um campo de autonumeração
que funciona como chave pois cada novo registro inserido ele numera através deste
campo. Em geral o usuário não deseja esse campo. Sugere-se que o usuário dê como
resposta Cancelar voltando para a janela de estrutura onde ele pode escolher e definir o(s)
campo(s) da chave primária.
7
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Seleciona todas
as linhas
Novo registro
Para remover registros, selecione os registros e aperte a tecla DEL ou aperte o botão de
Excluir registro. Para criar um novo registro basta posicionar o ponto de inserção em uma
linha em branco ou clicar no botão de Novo registro situado na barra de ferramentas ou
na borda inferior da tabela.
Para inserir registros, insira sempre no final. Quando a tabela for reapresentada o registro
estará inserido de acordo com a chave primária. Para alterar registros basta redigitar por
cima do texto atual.
Pode-se alterar o layout da folha de dados alterando a altura das linhas, largura de
colunas, 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 de
inserção ou colunas situadas à esquerda da janela, evitando que elas sejam roladas para
fora. Para salvar as mudanças no layout da tabela basta clicar no botão Salvar na barra de
ferramentas ou selecionar a opção Salvar no menu Arquivo. Ao fechar a tabela sem ter
salvado 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.
8
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Para trocar colunas de lugar, selecione a coluna, clique novamente na sua legenda e
arraste-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 nome
deles. Caso se deseja que a cópia substitua certos registros, estes devem ser selecionados
antes de usar Colar. Se a cópia for para o final da tabela, utilizar Colar acréscimo no
menu Editar.
Para mostrar na folha de dados apenas os registros que satisfaçam determinada condição
deve-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érios
de seleção dos registros, aplica-se o filtro com o botão correspondente. Para voltar a
visualizar todos os registros utiliza-se o botão Remover.
9
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
As folhas de dados das outras tabelas que constituem o banco de dados Empresa estão
indicadas a seguir:
10
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Capítulo 2 – Relacionamentos
É comum que informações de uma tabela estejam associadas com informações de outras
tabelas. 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 entre
duas tabelas A e B: um-para-um, um-para-muitos e muitos-para-muitos.
Também deve ficar claro que, em princípio, podemos ter departamentos sem funcionários
e funcionários que momentaneamente não estão alocados em qualquer departamento.
11
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Relacionamentos de uso geral são úteis porque podem ser usados automaticamente em
novas consultas, facilitam a geração de subformulários e subrelatórios e permitem um
certo grau de proteção em operações de atualização ao se impor a integridade referencial
para os relacionamentos como será visto adiante.
12
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Pode-se apagar todo o conteúdo da janela Relacionamentos. Para isso, basta no menu
Editar acionar Limpar Layout. Mas isto não remove os relacionamentos registrados
13
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
14
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Capítulo 3 – Consultas
3.1 – Definição
Uma consulta recupera informações no Banco de Dados e eventualmente apresenta-as na
tela. Serão estudados três tipos de consultas:
15
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
A ativação da janela de diálogo Mostrar tabela também pode ser realizada através do
menu Consulta opção Mostrar tabela ou pelo botão correspondente na barra de
ferramentas.
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 é feita
através do esquema QBE (query by example). Neste esquema criamos as consultas
arrastando campos da área superior da janela para a área inferior. Na planilha QBE cada
coluna contém informações a respeito do campo incluído na consulta.
Executa a Mostrar
consulta tabela Propriedades
16
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
3.4. Esta figura mostra que o resultado é apresentado numa folha de dados que, em
princípio, pode ser também usada para alterar e excluir registros.
A seta seleciona
Arrastar para o a coluna
campo ou duplo clic
17
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Para inserir um campo entre outros já existentes na planilha QBE basta arrastar o campo
selecionado na parte superior para o campo que ficará à direita do campo inserido. Para
rearranjar campos na planilha QBE basta selecionar e arrastar para outra posição. Para
eliminar um campo, basta selecionar e dar DEL. Para remover todos os campos da
planilha use a opção Limpar grade do menu Editar.
O texto que identifica colunas na folha de dados é o nome do campo. Muitas vezes esse
nome é longo e deseja-se substitui-lo por outro. Para tanto basta preceder o nome do
campo 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 necessidade
de mostrá-lo na folha de dados, por exemplo, quando esse campo participa da chave de
classificação. Neste caso basta desativar a marquinha de Mostrar correspondente na
planilha QBE.
Nada impede de um campo da tabela ocorrer duas ou mais vezes como campo na planilha
QBE. Eventualmente essa pode ser uma solução interessante para poder usar o campo na
chave de classificação (onde sua posição é fixa) porém desativando sua apresentação na
linha Mostrar. A segunda versão do campo é exibida na posição desejada pelo usuário. O
mesmo efeito pode ser utilizado em conjunto com campos da planilha QBE oriundos de
asterisco. Como não é possível usar critérios de seleção e classificação para campos
asterisco, basta incluir uma duplicata dos campos necessários. Para essas duplicatas são
18
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Para imprimir a consulta devemos estar na folha de dados e acionar Visualizar impressão
para ver o layout da folha a ser impressa. A opção Imprimir do menu Arquivo realiza a
impressão permitindo eventualmente imprimir apenas os registros selecionados na folha
de dados. Para isso, basta escolher a opção Registros Selecionados como Intervalo de
Impressão.
19
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
20
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
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 como
as informações se ligam entre as tabelas, no caso, a ligação é através do código do cargo
21
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
que consta nas duas tabelas. Essa ligação é estabelecida no modo estrutura da consulta
após ter-se adicionado as duas tabelas na parte superior. Para fazer a ligação, basta clicar
sobre 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 os
campos envolvidos possuírem o mesmo nome nas duas tabelas então o Access tentará
estabelecer o relacionamento automaticamente.
- 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 desconto
seguida de dois pontos. Esta será a legenda da coluna. O cálculo efetuado envolve a
seguinte expressão:
Esta fórmula envolve várias funções internas do sistema. Inicialmente deve-se observar
que campos envolvidos em expressões precisam estar entre colchetes, daí a razão de se
escrever [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 resultados
que a função fornece. Se o teste der verdadeiro, então retorna o resultado y, se o teste der
falso, então retorna z. No caso, é necessário testar o campo salário do cargo pois podemos
ter funcionários sem cargo. Dessa forma, é feito um teste para verificar se o campo tem
valor nulo.
Observar que ao digitar IIf, o nome da função é automaticamente substituído pelo nome
Selmed. Observar também que o fato do salário não existir é que está sendo testado pela
funçã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 sendo
alimentados na função Cmoeda que converte esse resultado do formato interno para
formato 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 de
expressões.
22
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
3.10 – Totalizações
É possível obter totais em consultas. Podemos contar o número de ocorrências de
registros, obter somas, médias, mínimos, máximos etc. Para obter totais é necessário
acrescentar uma linha Total na planilha QBE o que é feito pelo botão somatória na barra
de ferramentas ou menu Exibir opção Totais.
Na linha Total para cada campo da consulta deverá ser especificado o tipo de totalização
desejada. Por exemplo, se o campo servir apenas para contar registros, devemos escolher
a 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
23
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Para obter totais de subagrupamentos basta incluir na sequência correta os campos que
dã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 de
cada departamento. Para cada entrada nesta consulta também é apresentada a soma dos
salários.
Na figura 3.10 da folha de dados observa-se que a coluna com o total dos salários possui
legenda e está em formato moeda. Estas características foram definidas selecionando a
coluna salário do cargo na janela de estrutura da consulta e acionando o botão
propriedades na barra de ferramentas. Na janela Propriedades do campo foram
especificados o formato moeda, casas decimais automáticas e legenda Soma.
24
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
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 campo
Número do funcionário foi usado como valor para indicar contagem dos funcionários do
par departamento e cargo. Além disso, é necessário indicar na linha total como cada
campo deve ser computado. A sigla do departamento e o código do cargo são campos de
agrupamento e o número do funcionário indica simples contagem.
25
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
26
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Nessa janela está ligada a primeira opção, o que indica que na folha de dados da consulta
só irão aparecer as informações de campos das duas tabelas para registros onde o número
do gerente e o número do funcionário forem iguais. A folha de dados correspondente
aparece na figura 3.15.
27
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Por outro lado, se desejamos que apareçam todos os departamentos mesmo aqueles que
não possuem gerente ou cujo número de gente por alguma razão não ocorra no cadastro
de funcionários, então devemos ligar a opção que inclui todos os registros do cadastro de
departamentos. Observar que neste caso a linha de associação se transforma numa seta
que vai do cadastro de departamentos para o cadastro de funcionários. A folha de dados
correspondente aparece na figura 3.16.
28
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
29
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
30
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
O sistema em geral vai exigir confirmação para cada ação realizada por este tipo de
consulta. Observe que esta confirmação pode ser inibida ( via menu Ferramentas, opção
Opções, categoria Editar/Localizar, opção Confirmar consultas Ação).
31
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
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 ser
atribuído a tabela: funcionários de mkt.
Observar na figura 4.2 que na consulta foram incluídos todos os campos do cadastro de
funcionários através do arraste do asterisco correspondente. Isto impede a especificação
do 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 casas
decimais.
32
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Para realizar a ação devemos acionar o botão de execução na barra de ferramentas (botão
com ponto de exclamação). O sistema responde dizendo quantos registros serão copiados
e exige confirmação. Para inspecionar a tabela gerada devemos fechar a janela de
estrutura de consultas e ir para a janela do Banco de Dados ativando Tabela e Abrir para a
tabela funcionários de mkt.
A nova tabela funcionários de mkt – cópia1 será usada como argumento da consulta de
exclusã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 consulta
exclusão via menu Consulta opção Consulta exclusão. Essa opção acrescenta na planilha
QBE 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 do
campo cujo critério será
considerado como sendo
de exclusão.
De: indicação da
tabela na qual a Critério dos
exclusão deve ser registros a serem
feita excluídos
33
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Figura 4.3 – Consulta para a exclusão dos engenheiros da tabela funcionários de mkt -
cópia1
A consulta de anexação de registros utiliza como origem dos campos as tabelas cadastro
de funcionários e cadastro de cargos e salários pois será necessário acrescentar o salário
de cada funcionário.
34
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Inicialmente cria-se uma consulta normal de seleção indicando todos os campos da tabela
cadastros 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ção
Consulta atualização do menu Consulta, e que acrescenta uma linha Atualizar para na
planilha QBE. Nesta linha indica-se o novo valor computado para o campo dos registros
que serão selecionados. Executa-se a atualização via botão executar e salva-se a consulta
com nome apropriado.
35
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
36
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Para gerar um formulário rapidamente no formato padrão basta escolher o assistente para
autoformulários colunar, tabular ou folha de dados.
Para verificar a distribuição das informações desse formulário impresso, basta acionar o
botão Visualizar impressão. Este botão também pode ser acionado diretamente na janela
Banco 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
37
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
do modo de visualização de impressão, basta clicar a tecla ESC ou clicar o botão Fechar
na barra de ferramentas.
Seções
38
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
5.1 – Seleção
A seleção do controle é feita clicando sobre ele, em resposta aparecem marcas guias de
manipulação (handles). Alguns controles, como caixas de texto, possuem outro controle
associado do tipo rótulo. Estes dois controles em geral andam juntos.
Guias de Movimentação
Guias de Redimensionamento
Clicando sobre o rótulo será considerado selecionado o rótulo, clicando sobre a caixa de
texto será considerada selecionada a caixa de texto.
É possível selecionar múltiplos controles clicando o mouse fora da área em que estão
estes 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 de
selecionar múltiplos controles é clicando um por um enquanto se mantém pressionada a
tecla SHIFT.
39
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
5.2 – Movimentação
Para movimentar o par rótulo e caixa de texto selecionados deve-se colocar o cursor
sobre suas bordas inferiores até que ele se transforme numa mãozinha. Neste instante
deve-se clicar e arrastar.
Para mover apenas o rótulo, clicar a sua guia de movimentação(a seta se transforma em
uma mãozinha com o dedo indicador apontando para a guia) e arrastar. Para mover
apenas a caixa de texto utilizar sua correspondente marca guia. Observar que apesar da
movimentaçã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-se
Recortar. A seguir seleciona-se a seção objetivo e aciona-se Colar. Agora os dois
controles estarão definitivamente desassociados.
5.3 – Redimensionamento
O redimensionamento é feito através do posicionamento do mouse sobre uma guia de
redimensionamento. 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-se
selecionar o rótulo e acionar Formatar, Dimensionar, Para caber. Caso o texto seja
expandido ou reduzido em quantidade de caracteres, automaticamente é feito o ajuste das
bordas.
5.4 – Replicação
Podemos duplicar um controle diversas vezes. Deve-se selecionar o controle e usar o
menu Editar com a opção Duplicar. A duplicata que aparece ao lado ou abaixo do
controle original deve ser movida para a posição desejada e, caso necessário, nova
duplicação pode ser solicitada. Neste caso a duplicata já vai aparecer numa posição
relativamente idêntica a que havia entre os dois controles anteriores.
40
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
seção (detalhe, rodapé, cabeçalho) para onde deve ser feita a colagem. Novamente no
menu Editar escolhe-se Colar.
Para que a grade seja exibida e utilizada automaticamente, várias providências precisam
ser tomadas:
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 no
menu Formatar.
41
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
seguida da opção À grade. Todos os controles selecionados serão alinhados segundo sua
ponta 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-se
acionar o menu Formatar com a opção Dimensionar/na grade.
Para copiar formulários entre Banco de Dados distintos deve-se utilizar a opção Exportar
do menu Arquivo.
42
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
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.
43
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Controles do tipo rótulo podem armazenar várias linhas de texto. Deve-se observar que a
mudança de linha se efetua inserindo um caráter de mudança de linha no texto através do
acionamento simultâneo das teclas CTRL e ENTER.
Para armazenar uma expressão numa caixa de texto calculada deve-se iniciar a expressão
com 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ões
devem vir envolvidos por colchetes. Estas recomendações também valem para caixas de
combinação e caixas de listagem.
44
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Para mostrar sua sistemática de uso vamos tomar o formulário cadastro de funcionários
gerado pelo assistente e reconfigurá-lo com uma caixa de combinação para o código do
cargo e com uma caixa de listagem para o campo sigla do departamento (figura 6.2).
45
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Tipo de origem da linha como sendo Tabela/Consulta, pois iremos obter os códigos dos
cargos da tabela cadastro de cargos e salários, somente os códigos lá cadastrados
poderão ser escolhidos pelo usuário.
Origem da linha como sendo cadastro de cargos e salários, pois é a tabela onde estão os
códigos válidos.
Número de colunas como sendo 3, pois queremos apresentar os três primeiros campos
que constituem a tabela cadastro de cargos e salários.
Cabeçalhos das colunas como sim, pois desejamos identificar pelo nome dos campos da
tabela origem as colunas da caixa de combinação.
Largura das colunas como sendo 1cm; 2,71cm; 2cm, pois desejamos evitar que a caixa de
combinação venha com barras de rolagem horizontais.
Coluna acoplada como sendo 1, pois é o primeiro campo da tabela cadastro de cargos e
salá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 valor
para 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 o
valor apresentado na caixa de combinação (ou para onde vai o valor escolhido da lista
que se abre abaixo da caixa de combinação). Para isso é necessário definir a propriedade
Origem do controle como sendo: código do cargo. Esse código do cargo é o campo da
tabela cadastro de funcionários para a qual estamos projetando este formulário.
Neste exemplo não iremos remover a caixa de texto para a sigla do departamento. O
objetivo é 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
46
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
que seria mais correto) pois o exemplo visa mostrar a possibilidade de definir a lista de
valores na janela de propriedades. Procedimento:
tipo de origem da linha como sendo Lista de valores, pois desejamos listar os valores
manualmente a seguir
Finalmente é necessário indicar de onde vem a informação que realça a linha da lista ou
para onde vai a escolha efetuada na lista. Para isso é necessário definir a propriedade
Origem do controle como sendo sigla do departamento. Esse é outro campo da tabela
cadastro de funcionários que é a base do formulário que está sendo desenvolvido.
6.5 – Subformulários
É possível criar formulários contidos dentro de formulários. Por exemplo, podemos listar
para 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 de
funcionário em formato tabular.
47
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Esta consulta envolve duas tabelas pois a sigla do departamento e o nome do funcionário
constam numa tabela, enquanto o salário dele consta em outra. A ligação entre elas
precisa ser estabelecida através do código do cargo. Escolheu-se uma ligação com a
propriedade da associação indicando que devem ser incluídos todos os registros do
cadastro de funcionários. Para ativar a janela de propriedade da ligação deve-se
selecionar a ligação e ativar o menu Exibir opção Propriedades da Associação. Esse tipo
de ligação força a entrada de todos os funcionários inclusive aqueles momentaneamente
sem cargo. A janela de projeto correspondente é apresentada na figura 6.4.
48
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Figura 6.5 – Formulário salários e descontos por func por depto (sub)
49
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Figura 6.6 – Formulário salários e descontos por func por depto (prin)
50
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
51
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Capítulo 7 – Relatórios
Relatórios constituem um recurso específico para apresentação de informações em papel
impresso. 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.
52
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
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 de
dados, devemos criar inicialmente uma consulta que envolva todas as informações
necessárias. Na consulta foram utilizadas legendas mais mnemônicas para facilitar as
elaborações posteriores:
A tela de projeto desta consulta consta da figura 7.2. Observar que já foi indicada a
ordem adequada de classificação: sigla do departamento, código do cargo e o nome do
funcionário. Entretanto, isto não é obrigatório para gerar o relatório, o assistente
efetivamente refaz essa classificação.
O relatório na sua versão original foi gerado pelo assistente de relatório, opção escolhida
na janela Novo relatório. Nesta janela também deve ser escolhida a consulta funsal por
cargo por depto cujos registros irão compor o relatório gerado. O assistente faz 6
perguntas comentadas a seguir.
1) Quais campos são desejados na relatório. Incluir todos na ordem em que irão aparecer
nas 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ários
por cargo dentro de cada departamento. Dessa forma os níveis de grupo em ordem de
prioridade são: depsig e carcod.
53
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
6) Qual é o título que deve ser atribuído ao relatório: funsal por cargo por depto (versão
original)
O relatório gerado pelo assistente pode ser visto acionando o botão Visualizar na janela
Banco de dados. Uma parte dele é apresentada na figura 7.3 após alguns ajustes manuais
realizados na sua estrutura que pode ser vista na figura 7.4, estes ajustes foram feitos para
reduzir sua largura e permitir melhor visualização nas janelas apresentadas.
Como se observa, o relatório possui a estrutura desejada mas apresenta muitas diferenças
em relação a versão final. Entre outras coisas observamos que os campos não estão
distribuídos conforme desejado e possuem comprimentos inadequados. Há títulos em
demasia, resumos não requeridos e não aparecem as linhas de separação que identam os
grupos na versão final.
54
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
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 menos
risco sugere-se que o usuário tire uma cópia do relatório (via editar/copiar/colar na janela
banco de dados) antes de iniciar esta atividade. Resumidamente as alterações realizadas
foram:
a) Mover para o cabeçalho do relatório a caixa de texto da data atual identificada pela
função Agora( ) no rodapé da página. Esse movimento pode ser por arraste ou via
editar/recortar/colar. Para encostar a data à direita da caixa acionar o botão
correspondente na barra de ferramentas. Também incluir na área do cabeçalho do
relatório um rótulo com o texto “(versão final)”.
55
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Figura 7.4 – Estrutura do relatório funsal por cargo po depto (versão original)
k) Também é necessário copiar ou gerar uma linha reta no rodapé carcod cuidando para
acertar seu tamanho à esquerda corretamente.
56
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
l) Se todos os objetos mais a direita na janela estrutura foram reposicionados, deve ter
sobrado espaço (fundo branco) que pode ser reduzido por arraste da sua borda. Se
permanecerem objetos nesta área o arraste não se concretiza.
m) Reduzir o tamanho vertical das diversas áreas do relatório de modo que as linhas
impressas fiquem mais juntas.
n) Acertar as fontes das caixas de texto e rótulos. No exemplo foram empregadas fontes
arial, de tamanho 9 e 10, com e sem negrito. Além disso, todas as cores geradas pelo
assistente forma convertidas em preto.
Realizados os ajustes foi obtida a janela de estrutura que corresponde ao relatório na sua
versã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)
57
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Nesta janela indica-se que haverá agrupamento por código do cargo e os cargos devem
ser listados em ordem crescente. Por outro lado, dentro de cada cargo os funcionários
devem 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 cada
grupo (rodapé de grupo), mas não desejamos a linha adicional no início (cabeçalho de
grupo). Além disso, o agrupamento deve ser feito pelo código do cargo por inteiro e não
segundo alguns caracteres iniciais, portanto escolhemos Reagrupar cada valor. Para esta
opção o número de caracteres é irrelevante e não precisa ser especificado. Como para o
nome do funcionário não desejamos agrupamento, não indicamos nem cabeçalho nem
rodapé nas propriedades do grupo.
Após fechar esta janela o sistema incorpora a linha adicional de rodapé do código do
cargo à janela de estrutura. Agora podemos detalhar os campos que desejamos dispor na
janela. Para isto, basta exibir a janela lista de campos e selecionar o número e nome do
funcionário e código do cargo (via tecla CTRL). Arrasta-se a seleção para a linha de
detalhe. 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ção
correta das caixas, sua dimensão e tipo de fonte. Também falta incluir um título e
acessórios estéticos.
58
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Indicar grupo
Indica inclusão de
linhas de cabeçalho e
rodapé na janela de
projeto
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 de
texto na linha detalhe, exibir sua lista de propriedades e indicar sim para a propriedade
Ocultar repetições.
Para obter a coluna que numera os funcionários dentro de cada grupo deve-se adicionar
um campo calculado na linha de detalhe. Abra uma caixa de texto (remova o rótulo
associado) e digite a expressão =1. Isso indica, em princípio, que seu valor será sempre
um. Para obter o efeito de contagem ou de acumulação basta exibir sua lista de
propriedades e indicar Por grupo para a propriedade Soma parcial. Isso indica ao sistema
que a cada novo registro o valor do campo é somado ao valor anterior antes de ser
impresso.
Para obter a acumulação ou total de funcionários ao final de cada grupo adiciona-se uma
caixa 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ão
entre parentesis (+1) deve ser acumulada a cada novo registro impresso e quando o grupo
terminar será impresso o total vigente e o acumulador será zerado antes de iniciar o
próximo grupo.
Para numerar as páginas basta acrescentar à linha de rodapé da página uma caixa de texto
com a expressão =página. Será acionada a função interna do sistema (página) que retorna
o número da página corrente. Esse texto aparece na parte inferior da página impressa mas
não foi possível mostrá-lo na janela de relatório anteriormente apresentada. Um meio
mais simples de acrescentar a numeração de páginas no relatório é através do menu
Inserir 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 a
estrutura final consta na figura 7.8.
59
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
O relatório gerado a seguir agrupa por intervalos. Ele foi criado a partir da consulta
funsal por cargo por depto sem uso do assistente. O relatório mostra percentualmente a
participação de cada salário no total de salários e agrupa os funcionários segundo faixas
de 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 os
campos de classificação e agrupamento. O nome do funcionário classifica a saída
enquanto o salário agrupa os dados. Observar que foi escolhido Rodapé de grupo para
salário identificado pela legenda carsal. O reagrupamento é por intervalo e o número de
60
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
caracteres indica a faixa que será usada: de 1000 em 1000. Essa janela é apresentada na
figura 7.10.
O relatório possui várias caixas de texto com valores computados. Existe uma totalização
de salários por grupo e uma totalização geral. A este total geral na rodapé do relatório foi
atribuí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 em
fórmulas. Este é o caso pois para poder computar a participação percentual é necessário
conhecer o total de salários.
61
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
=[carsal]/[total]
Iif ([depsig]= “mkt”; “*”; “”) formato porcentagem
62
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Capítulo 8 – Macros
Uma macro é uma espécie de rotina que pode ser executada em resposta à algum evento
que ocorre no sistema. Por exemplo, podemos acionar uma rotina quando uma exclusão
de registro estiver para ser efetivada e esta rotina pode exigir confirmação pelo usuário. O
Access fornece uma série de ações que serão exemplificadas neste texto.
Esta janela mostra uma macro constituída de 4 ações. Essa macro será ativada em um
formulário (detalhado mais a frente) através do acionamento de um botão e vai apresentar
na tela uma janela tipo folha de dados correspondente à tabela cadastro de
departamentos. Como se observa, para a ação AbrirTabela temos que especificar 3
parâmetros: qual a tabela a ser aberta, de que forma ela é exibida (folha de dados), e qual
ação do usuário será admitida sobre a janela exibida (somente leitura).
63
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Nome de Executar
colunas
64
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
O botão deptos não é incluído pelo assistente gerador do formulário. Ele é incorporado
pelo projetista na janela de projeto via caixa de ferramentas. Ao botão deve ser atribuído
um 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 o
mouse. Para isso especifica-se o nome da macro com as ações desejadas na propriedade
Ao clicar do botão. A macro mostrada no item anterior foi a macro associada ao evento
Ao clicar conforme se pode observar na janela de projeto correspondente na figura 8.4.
65
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Para isto construímos a macro “fechar cadastros” constituída de uma ação de fechar. A
açã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ção
de fechar a tabela, esteja a tabela ativa ou não na tela. A figura 8.5 mostra a macro que foi
descrita.
66
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Como a função retorna um valor optamos neste formulário por empregar um controle tipo
caixa de texto com função auxiliar de apenas armazenar o valor resultante da função. Na
67
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
janela de projeto esse controle deve ser criado no cabeçalho à direita. Ele é um controle
invisível na janela de formulário por ter a propriedade Visível posicionada em Não. Além
disso, é obrigatório atribuir um nome à ele pois o nome será referenciado na macro, no
caso 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 da
função) e em seguida deve testar se o valor resultante determina ou não o cancelamento
da exclusão. Como uma condição está envolvida é necessário acrescentar a coluna de
condições na janela da macro conforme detalhado na figura 8.7.
A ação DefinirValor possui dois parâmetros: para onde deve ir o valor calculado (caixa
de texto aux) e qual é a expressão a ser calculada (CaixaDeMensagem(“confirmar
esclusão?”;52; “”)). Executada essa ação passa-se para o teste do conteúdo da caixa aux
na coluna condição. Se o teste der o resultado verdadeiro, será executada a ação
especificada na coluna ação. No caso, deseja-se cancelar o evento em curso, portanto,
utiliza-se a ação CancelarEvento.
68
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Para garantir que isto ocorra podemos criar uma macro associada a caixa de texto da sigla
e que será ativada imediatamente antes de ocorrer a atualização. A macro deve verificar
se o valor digitado consta no cadastro correspondente. Se não constar deve emitir uma
mensagem de aviso e cancelar a atualização. Para que o teste possa ser feito é necessário
que 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 interna
DPesquisa. 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.
Portanto a função pesquisa a tabela cadastro de departamentos. Nesta tabela ela faz a
pesquisa sobre a coluna [sigla do departamento] até localizar a primeira linha onde o
valor seja igual ao conteúdo da caixa de texto [sigla]. Esta linha determina o valor na
coluna [nome do departamento] que será devolvido como resultado da chamada da
função. Se em nenhuma linha o teste for satisfeito então a pesquisa não teve sucesso e a
função retorna valor nulo.
Observar que para a ação CaixaDeMensagem temos que indicar o texto da mensagem, se
queremos ou não um aviso sonoro e o tipo de ícone que deva ser mostrado junto com a
mensagem. Finalmente, o nome da macro (validação da sigla do departamento) é
69
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
70
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Para acionar esta tela criamos uma macro que abre o formulário tela base. Esta macro não
apresenta novidades. Para que sua ativação seja imediata devemos atribuir-lhe um nome
padrã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
71
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
Trata-se de uma janela que reúne um grupo de macros. Para isso foi necessário
acrescentar uma coluna para o nome da macro e empregar nomes mais curtos porém
mnemônicos. Este nome será especificado na propriedade/evento Ao clicar do botão
correspondente 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 procurar
o nome da macro no grupo e executa suas ações até encontrar o nome de outra macro na
coluna de nomes.
O formulário tela base merece mais algumas observações pois ele não se parece com um
formulário comum. Isso se deve ao fato de todos os controles estarem no cabeçalho do
formulário. Para este cabeçalho se especificou cor de fundo cinza. Além disso, as
seguintes propriedades do formulário foram especificadas:
72
EAD-451 Informática Aplicada à Administração –Prof. Ronaldo Zwicker – Introdução ao Access
73