Vous êtes sur la page 1sur 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

NDICE
INTRODUO AO MS-ACCESS:......................................................................................................
RECAPITULAO:......................................................................................................................................
Tabelas:................................................................................................................................................
Consultas:............................................................................................................................................
Formulrios:........................................................................................................................................
Relatrios:...........................................................................................................................................
SEGURANA:.......................................................................................................................................
ANTES DE COMEAR :...............................................................................................................................
PROTEO DOS DADOS.............................................................................................................................
CONSULTAS:.........................................................................................................................................
USANDO SQL NO MS-ACCESS.................................................................................................................
CONSULTAS UNIO...................................................................................................................................
CONSULTA DEFINIO DE DADOS............................................................................................................
Tipos de dados do SQL compatveis com o Access..............................................................................
CONSULTA PASSO ATRAVS......................................................................................................................
CRIAR SUB-CONSULTAS.............................................................................................................................
DIFERENAS ENTRE CONSULTAS AO E CONSULTAS SELEO...................................
ALTERANDO DADOS COM CONSULTAS AO..........................................................................
CONSULTA CRIAO DE TABELA:.............................................................................................................
CONSULTA EXCLUSO:..............................................................................................................................
CONSULTA ATUALIZAO:........................................................................................................................
CONSULTA ANEXAO:.............................................................................................................................
ESTRUTURANDO FORMULRIOS.................................................................................................
CRIANDO CONTROLES...............................................................................................................................
Controles vinculados, no vinculados e calculados............................................................................
Definindo propriedades de controle....................................................................................................
PERSONALIZANDO FORMULRIOS.............................................................................................................
Alterando ordem de tabulao............................................................................................................
Criando outros controles utilizando a caixa de ferramentas..............................................................
Fornecendo uma lista de opes com uma caixa de listagem ou uma caixa de combinao.............
CRIANDO UM FORMULRIO/SUB-FORMULRIO SEM A AJUDA DO ASSISTENTE.......................................
Vinculando um formulrio e um sub-formulrio.................................................................................
CALCULANDO UM TOTAL PARA UM GRUPO DE REGISTROS.......................................................................
ESTRUTURANDO RELATRIOS.....................................................................................................
ADICIONANDO SEES..............................................................................................................................
Cabealho do Relatrio.......................................................................................................................
Cabealho da Pgina..........................................................................................................................
Para adicionar cabealho e rodap a um relatrio ou pgina...........................................................
Cabealho do Grupo............................................................................................................................
Para adicionar cabealho e rodap a um grupo.................................................................................
Seo detalhe.......................................................................................................................................
Rodap do grupo..................................................................................................................................
Rodap da pgina................................................................................................................................
Rodap do relatrio.............................................................................................................................
USANDO EXPRESSES EM RELATRIOS.....................................................................................................

i de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


MACROS................................................................................................................................................
O QUE UMA MACRO?..............................................................................................................................
PORQUE USAR MACROS?...........................................................................................................................
Fazer seus formulrios e relatrios trabalhem juntos.........................................................................
Encontrar e filtrar registros automaticamente....................................................................................
Definir valor em controles...................................................................................................................
Garantir a preciso dos dados............................................................................................................
Definir propriedade de formulrios, relatrios e controles................................................................
Automatizar transferncias de dados..................................................................................................
Criar o seu prprio ambiente de trabalho personalizado...................................................................
CRIANDO UMA MACRO.............................................................................................................................
Para criar uma macro.........................................................................................................................
A Janela Macro....................................................................................................................................
Adicionando aes a uma Macro........................................................................................................
Definindo argumentos..........................................................................................................................
Salvando uma Macro...........................................................................................................................
Criando um grupo de macro................................................................................................................
Usando condies em macros..............................................................................................................
LISTA DE AES DE MACRO.....................................................................................................................
RESPONDENDO A EVENTOS EM FORMULRIOS..........................................................................................
Fazendo Formulrios trabalharem em conjunto.................................................................................
Atribuindo macros de validao a eventos de formulrio e de controle.............................................
Exibindo mensagens de validao diferentes para condies diferentes............................................
CRIANDO NOSSOS PRPRIOS MENUS.........................................................................................................
Definio do Menu..............................................................................................................................
Definio da Barra de Menu...............................................................................................................
Atribuindo uma Barra de Menu a um formulrio...............................................................................
MDULOS.............................................................................................................................................
ESTRUTURA DO MDULO.........................................................................................................................
DECLARANDO VARIVEIS.........................................................................................................................
Tipos de Dados....................................................................................................................................
USANDO DADOS CONTIDOS NOS FORMULRIOS.......................................................................................
OBJETOS DE BANCO DE DADOS................................................................................................................
VALIDAO DE CAMPOS COM MDULOS..................................................................................................

ii de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Introduo ao MS-Access:
Recapitulao:
Tabelas:
Uma coleo de dados de mesmo assunto ou tpico, uma tabela armazena
os dados em Registros (linhas) e Campos (colunas)

Consultas:
Objeto que seleciona registros e campos armazenados nas tabelas. Voc
pode pensar numa consulta como uma pesquisa num conjunto particular de dados.

Formulrios:
Objeto no qual voc coloca controles para a entrada, exibio e edio de
dados nos campos.

Relatrios:
Objeto que apresenta os dados formatados e organizados segundo as
especificaes do usurio.

1 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Segurana:
Antes de comear :
Deve-se criar uma cpia de reserva do banco de dados do grupo de trabalho,
SYSTEM.MDA, onde o Microsoft Access armazena as especificaes das opes de
cada usurio e as configuraes da barra de ferramentas. Em um ambiente de multiusurio, o banco de dados do grupo de trabalho tambm contm as informaes de
cadastro de segurana do seu grupo. Se o seu arquivo SYSTEM.MDA for perdido ou
danificado, voc no poder iniciar o Microsoft Access. Uma vez feita uma cpia de
reserva desse arquivo, s ser preciso copi-lo novamente caso haja mudanas nas
opes, barra de ferramentas ou nas informaes da cadastro de segurana.

Proteo dos dados


Proteger uma informao pode ser uma parte importante no desenvolvimento de um
banco de dados do Microsoft Access. Atravs da proteo ao seu banco de dados, voc
poder controlar o que um usurio ou um grupo de usurios pode fazer com objetos do
banco de dados.
A segurana do Microsoft Access composta de vrias partes que precisam estar no lugar
antes que a segurana se conclua: grupos de trabalho, usurio e contas do grupo, posse, e
atribuies de permisso.
Para proteger um banco de dados:
1
Atribuir senha ao usurio Administrador; sair do Access e Logar como
Administrador
2
Definir grupos de usurios
3
Definir permisses do grupo
4
Criar usurios
5
Tirar as permisses dos grupos Usurios e Administradores
6
Colocar os usurios que vo administrar o banco de dados no grupo
Administradores
Importante: Voc precisa remover as permisses do usurio administrador e do grupo de
usurios, que inclui todos os usurios em um grupo de trabalho. At que voc remova
estas permisses, os usurios podero ter permisses involuntrias para objetos. Tendo,
uma vez, as permisses removidas, os usurios passaro a ter somente as que voc
atribuiu.
Para assegurar a proteo do banco de dados, importante acrescentar uma senha conta
do administrador e s contas do proprietrio e administrador designadas.
Adicionalmente, voc poder acrescentar uma senha s contas criadas para usurios ou
instru-los para acrescentar s suas prprias senhas.

2 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


Observaes: A segurana depende da relao entre contas do grupo de trabalho do
Microsoft Access e das atribuies de permisso em seu banco de dados. O Microsoft
Access armazena informao de conta com o grupo de trabalho e atribuies de
permisses no arquivo (.MDB) do banco de dados.

Exerccio:
Implemente a segurana no banco de dados do curso, criando trs grupos:
DBA
- administrador (Todas as permisses)
Gerentes
- usurio
(somente para leitura)
Digitadores - usurio
(com permisses para leitura,
gravao, excluso e atualizao)

3 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Consultas:
Usando SQL no MS-Access
A Structured Query Language SQL uma linguagem muito usada na consulta,
atualizao e gerenciamento de banco de dados relacionais. Cada consulta criada no MSAccess tem uma instruo SQL associada que define as aes daquela consulta.
Normalmente mais conveniente usar a grade QBE e as ferramentas grficas de
estruturao de consulta do Access para criar e modificar consultas. Mas se voc est
familiarizado com SQL, pode usar instrues SQL para:

Consultas Unio
uma consulta especfica SQL que cria um resultado contendo dados de todos os
registros especificados em duas ou mais tabelas. Pelo contrrio, uma consulta baseada em
uma associao cria um dynaset contendo dados somente de registros cujos campos
relacionados encontram uma condio especificada.
Por exemplo, uma consulta unio da tabela clientes e data da tabela fornecedores resulta
um Resultado que contm todos os registros especificados em ambas as tabelas, a de
clientes e a de fornecedores.
A consulta unio a seguir, consiste de duas instrues SELECT que retornam os nomes
de empresa e cidades que estejam tanto na tabela Fornecedores como na tabela Clientes, e
sejam do Brasil.
A seguinte consulta unio consiste de duas instrues SQL SELECT que retornam os
nomes de companhias e cidades que esto nas tabelas Fornecedores e Clientes e so do
Brasil.
SELECT [Nome da empresa], [Cidade]
FROM [Fornecedores]
WHERE Pais="Brasil"
UNION SELECT [Nome da empresa], [Cidade]
FROM [Clientes]
WHERE Pais="Brasil";

4 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


A seguinte consulta unio seleciona o nome de todas as empresas e cidades que estejam
nas tabelas Fornecedores e Clientes e classifica alfabeticamente os dados por cidade.
SELECT [Nome da empresa], [Cidade]
FROM [Fornecedores]
UNION SELECT [Nome da empresa], [Cidade]
FROM [Clientes]
ORDER BY [Fornecedores], [Cidade];
A consulta unio a seguir renomeia o campo "Nome da empresa" para "Nome do
cliente/fornecedor" na sada da consulta;
SELECT [Nome da empresa] AS [Nome do cliente/fornecedor], [Cidade]
FROM [Fornecedores]
UNION SELECT [Nome da empresa] AS [Nome do cliente/fornecedor], [Cidade]
FROM [Clientes];
A consulta unio a seguir utiliza a instruo UNION ALL para recuperar registros
duplicados:
SELECT [Nome da empresa], [Cidade]
FROM [Fornecedores]
UNION ALL SELECT [Nome da empresa], [Cidade]
FROM [Clientes];

5 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Consulta Definio de Dados


Este tipo de consulta cria uma tabela sem adicionar nenhum registro a ela, interessante
quando precisamos criar tabelas temporrias. Veja o exemplo:
CREATE TABLE [SCIOS]
(Cdigo COUNTER,
Nome TEXT (50),
Rua TEXT (50),
(CONSTRAINT CdigoDoScio PRIMARY KEY ([Cdigo]));
No exemplo acima criada uma tabela Scios com os seguintes campos:
Campo
Cdigo
Nome
Rua

Tipo
Contador
Texto
Texto

Tamanho
4 bytes
50
50

A palavra chave CONSTRAINT indica que em seguida vem o nome de um ndice


chamado CdigoDoScio, entre parntesis vem o nome do campo que faz parte deste
ndice e opcionalmente a clausula PRIMARY KEY para indicar a chave primria da
tabela.

Tipos de dados do SQL compatveis com o Access


Tipo de dado
BINARY

Tamanho
1 byte

BIT

1 byte

BYTE
COUNTER

1 byte
4 bytes

CURRENCY

8 bytes

Descrio
Para consultas em tabelas anexadas em produtos
de banco de dados que definem um tipo de dados
Binrio. O Microsoft Access no usa o tipo de
dados Binrio.
Valores Sim e No e campos que contm apenas
um entre dois valores.
Um valor inteiro entre 0 e 255.
Um nmero incrementado automaticamente pelo
Microsoft Access quando um novo registro
adicionado a uma tabela. No Jet database engine,
o tipo de dado para este valor Long.
Um inteiro dimensionado entre
-922.337.203.685.477,5808 e
922.337.203.685.477,5807.

6 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


Tipo de dado
DATETIME(Consulte
DOUBLE)
SINGLE

Tamanho
8 bytes

Descrio
Um valor data ou hora entre os anos 100 e 9999.

4 bytes

DOUBLE

8 bytes

SHORT
LONG

2 bytes
4 bytes

LONGTEXT

1 byte por
caracter
Como
definido
1 byte por
caracter

Um valor ponto flutuante de preciso simples com


um intervalo de -3,402823E38 a -1,401298E-45
para valores negativos, 1,401298E-45 a
3,402823E38 para valores positivos e 0.
Um valor ponto flutuante de preciso dupla com
um intervalo de -1,79769313486232E308 a
-4,94065645841247E-324 para valores negativos,
4,94065645841247E-324 a
1,79769313486232E308 para valores positivos e
0.
Um inteiro curto entre -32.768 e 32.767
Um inteiro longo entre -2.147.483.648 e
2.147.483.647.
Zero at um mximo de 1,2 gigabytes. (Consulte
Text.)
Zero a um mximo de aproximadamente 1
gigabyte. Usado para objetos OLE.
Zero a 255 caracteres.

LONGBINARY
TEXT

Exerccio
Criar uma consulta Definio de Dados para criar uma tabela com a seguinte estrutura:
Nome do Campo
Tipo do dado Tamanho
Cdigo do Produto
Contador
Nome do Produto
Texto
40
Quantidade Por Unidade Texto
20
Preo Unitrio
Moeda
Unidades em Estoque
Nmero
Inteiro
Categoria
Texto
15
Fornecedor
Texto
40
O nome da tabela a ser criada ser Informaes dos produtos. Como chave primria ser
utilizado o campo Cdigo do Produto.

7 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Consulta Passo Atravs


As consultas passo atravs no so executadas pelo Access, elas so executas pelo
servidor SQL, por isso no possvel usar o SQL do Access, visto que ele no segue o
padro ANSI como os servidores SQL.
Esta consulta manipula os dados diretamente no servidor ento as tabelas utilizadas no
precisam estar anexadas.

Criar sub-consultas
para criar uma sub-consulta, voc usa a grade QBE, mas insere uma instruo
SQL SELECT como critrio.
Para maiores informaes consulte Criando uma Sub-consulta dentro de SQL:
sub-consultas na ajuda do MS-Access.

Diferenas entre consultas Ao e consultas


seleo
Quando se cria uma consulta, o MS-Access cria uma consulta seleo, a no ser que se
escolha um tipo diferente no menu consulta.
Quando uma consulta seleo executada, o MS-Access exibe o Dynaset, os registros
recuperados de suas tabelas. Pode-se, ento, visualizar o dynaset e fazer alteraes em
seus dados. Entretanto, ao fazer alteraes, elas so inseridas registro a registro.
Caso haja um grande nmero de alteraes similares, voc pode poupar tempo usando
uma consulta ao. Uma consulta ao faz quaisquer alteraes em apenas uma
operao. Por exemplo, caso deseje excluir todos os produtos que tenham sido
descontinuados, voc pode executar uma consulta ao que remova todos esses produtos.
Para se garantir que alteraes indesejadas no sejam feitas se voc executar
inadvertidamente uma consulta ao, o MS-Access exibe na janela Banco de dados, um
cone especial para identificar as quatro consultas ao.
Consulta Anexao
Consulta Atualizao
Consulta Criao de Tabela
Consulta Excluso

8 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Alterando dados com consultas Ao


Consultas Ao:
Com as consultas ao, voc pode criar novas tabelas ou alterar os dados de tabelas j
existentes. Todas as Consultas Ao so feitas com base numa consulta seleo, ento
para se criar qualquer tipo de consulta ao, devemos criar as consultas seleo que nos
traro os dados que desejamos manipular pelas consultas ao, podendo assim atualizar,
excluir, exportar e anexar dados.
O MS-Access proporciona quatro tipos de consultas ao.

Consulta criao de tabela:


Cria uma nova tabela a partir de outra ou parte de outra tabela com um novo nome
definido pelo usurio e adicionando os registros especificados pelo critrio.

Consulta excluso:
Exclui os registros de uma ou mais tabelas que atendem a um critrio.

Consulta anexao:
Adiciona uma grupo de registros de uma ou mais Tabelas para outra ou mais
tabelas.

Consulta atualizao:
Altera ou dados em um grupo de registros de uma ou mais tabelas.

Consulta Criao de Tabela:


1. Aps criarmos a consulta seleo com os campos desejados, clique no boto da
consulta criao de tabela , em seguida fornea o nome da tabela a ser criada. Se for
necessrio, voc pode criar esta tabela em outro banco de dados, clicando no boto
outro banco de dados e fornea o seu nome. Depois pressione o boto Ok.
2. Quando voc clicar no boto Executar, o MS-Access informa quantas linhas
( registros ) sero includos na nova tabela, nesta mensagem, voc pode confirmar a
criao ou cancelar a incluso.
3. Se voc clicar no boto Modo Folha de Dados, a consulta seleo ser executada e
voc ver os registros que vo para a nova tabela.

9 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Exerccio I
Crie uma consulta de Criao de tabela para listar o Nome do produto, Quantidade em
estoque e o Fornecedor , Cdigo do Fornecedor, onde a quantidade em estoque seja
menor que 20. O nome da tabela de sada ser Produtos em Baixa.
Salve a consulta como Cria Produtos em Baixa.

Consulta excluso:
1. Quando desejamos excluir vrios dados de uma tabela com dados alguns dados em
comum, ns devemos criar uma consulta seleo para exibir estes registros e depois
transformar numa consulta excluso.
2. Quando voc clicar no boto Executar, o MS-Access informa quantas linhas
( registros ) sero excludas da tabela, nesta mensagem, voc pode confirmar a
eliminao ou no.
3. Se voc clicar no boto Modo Folha de Dados, a consulta seleo ser executada e
voc ver os registros que vo excludos.

Exerccio II
Crie uma consulta para excluir todos da tabela de produtos, todos os produtos que
estejam com a quantidade em estoque abaixo de 20.
Salve com o nome de Exclui Produtos em Baixa.

Consulta Atualizao:
1. A consulta atualizao atualiza os dados de um ou mais campos, cria-se a consulta
seleo com os campos desejado e depois pressione o boto da consulta atualizao e
na linha atualizar para voc coloca o valor ou expresso que ir atualizar o campo.

Exerccio III
Crie uma consulta para atualizar o campo Unidades em estoque em 50% se o valor for
diferente de 0 (zero) ou 50 se for igual a 0 (zero).
Salve com o nome Atualiza Produtos.

10 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Consulta anexao:
1. A consulta anexao nos permite anexar dados de uma tabela a outra. Para isso
devemos criar uma consulta seleo com os campos que desejamos anexar, e depois
clicamos no boto da consulta anexao e est pronta a consulta anexao.
2. Quando voc clicar no boto Executar, o MS-Access informa quantas linhas
( registros ) sero anexadas da tabela, nesta mensagem, voc pode confirmar a
anexao ou no.
3. Se voc clicar no boto Modo Folha de Dados, a consulta seleo ser executada e
voc ver os registros que vo ser anexados.

Exerccio IV
Criar uma consulta para Anexar os campos para a tabela Informaes do produto.

11 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Estruturando formulrios
Criando Controles
Quando comea um formulrio em branco, voc mesmo adiciona todos os controles. Se
criou um formulrio com o assistente de formulrio, pode-se tambm desejar adicionar
controles para exibir dados adicionais ou para tornar o formulrio mais atraente ou mais
fcil de usar. Por exemplo, voc pode desejar adicionar uma etiqueta que inclua
instrues sobre como utilizar um formulrio no modo formulrio.

Controles vinculados, no vinculados e calculados


Quando se adiciona um controle a um formulrio, determina-se de onde ele obtm a
informao que exibe. Por exemplo, voc pode adicionar um controle caixa de texto que
exibe um produto da companhia a partir do campo NomeDoProduto da tabela produtos. A
caixa de texto obtm os valores a partir do campo Nome do Produto por ter sido
conectado ou vinculado quele campo.
Os controles tambm podem exibir informaes que no estejam armazenadas no banco
de dados, tais como instrues, legendas e valores calculados. Conhecer a origem dos
dados de um controle ajuda a decidir que tipo de controle usar e como cria-lo.
Os controles podem ser vinculados, no vinculados e calculados. A ilustrao seguinte
mostra os trs tipos de controle.

12 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


Se voc comparar um formulrio no modo estrutura e no modo folha de dados, poder
ver a conexo entre os controles do formulrio e os campos da tabela de origem do
formulrio.

Definindo propriedades de controle


No MS-Access, as propriedades so usadas para determinar as caractersticas das
tabelas, consultas, campos, formulrios e relatrios. Cada controle de um formulrio tem
tambm propriedades. As propriedades de controle determinam a estrutura e a aparncia
de um controle bem como as caractersticas do texto ou dos dados que ele contm. Por
exemplo, voc pode definir propriedades que formatem os valores de um controle como
moeda e os exiba em negrito.
Pode-se ver as propriedades de um controle exibindo sua folha de propriedade.
Para exibir a folha de propriedade de um controle
Clique duas vezes no controle (esse mtodo funciona com todos os tipos de
controle exceto sub-formulrios, sub-relatrios e objetos OLE no vinculados).
-OuSelecione o controle e escolha Propriedades no menu Exibir ou clique no boto
Propriedades na barra de ferramentas.
Se o controle tem uma etiqueta anexada, selecione o controle e no sua etiqueta
(para exibir a folha de propriedades de uma etiqueta, selecione a etiqueta).

Aqui teremos algumas propriedades, comuns para vrios Objetos, essas


propriedades podem ser definidas nos controles tanto para formulrio quanto para
relatrio, visto que cada controle tem em mdia 20 a 30 propriedades teremos aqui
somente algumas que so comuns a vrios controles, como por exemplo.

13 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


Propriedade
Origem do Controle

Descrio
Nome de Campo ou Expresso para usar como fonte de
dados para Controle
Tabular Automaticamente
Pode gerar ou no uma tabulao quando o ltimo
caracter permitido em uma mscara de entrada de uma
caixa de texto inserido.
Comportamento da Tecla Enter Padro troca de campo e Nova Linha no campo, cria uma
linha em branco no mesmo campo para insero.
Visvel
Torna o objeto visvel
Ativado
Habilitar controle no modo formulrio
Parada de Tabulao
Permite tabulaes no controle
ndice de Tabulao
Definir ordem de tabulao
Pode Ampliar
Controle ou seo expande automaticamente para caber
no texto.,
Pode Reduzir
Determina se o tamanho de uma sesso ou controle ser
Reduzido verticalmente para acomodar a quantidade de
dados.
Ao Entrar
Macro ou funo executada quando o controle recebe o
primeiro foco
Ao Sair
Macro ou funo executada quando o controle perde o
foco no mesmo formulrio.
Para obter mais informaes consulte Definindo Propriedades no Help do
MS-Access.

Personalizando formulrios
Voc pode ser mais produtivo com formulrios personalizados que se adaptem s suas
necessidades particulares. Por exemplo, voc pode personalizar que apresente listas de
opes para sua escolha, adicionar um boto que torne fcil a abertura de um formulrio
relacionado e usar imagens em vez de texto em botes.

Alterando ordem de tabulao


Quando adiciona controles a um formulrio, o MS-Access atribui
automaticamente uma ordem de tabulao aos controles. Quando a tecla Tab
pressionada no modo formulrio o foco se move de controle para controle de acordo com
a ordem de tabulao. O MS-Access coloca automaticamente no final da ordem de
tabulao no final de cada novo controle adicionado. Em alguns casos essa pode no ser a
ordem de tabulao desejada. Por exemplo, voc pode reorganizar alguns controles em
um formulrio depois de coloc-los. Nesse caso, voc provavelmente desejar alterar a
ordem de tabulao para adequ-la nova disposio. Para fazer isso, use o comando
Ordem de Tabulao no modo Estrutura.

14 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


O comando Ordem de Tabulao exibe apenas os nomes dos controles que voc pode
selecionar ou para os quais pode-se tabular no modo formulrio. Os nomes dos controles
que no podem ser selecionados, como etiquetas ou linhas, no so includos. Os nomes
so exibidos na ordem tabulada atravs dos controles. Voc pode fazer com que o MSAccess crie automaticamente uma ordem de tabulao que percorra os controles da
esquerda para a direita e de cima para baixo ou mesmo criar um ordem de tabulao
personalizada.
Para criar uma ordem de tabulao da Esquerda para a Direita e de Cima para
Baixo
1. Com o formulrio aberto no modo estrutura, escolha Ordem de Tabulao no menu
Editar.
2. Escolha o boto Ordem Automtica.

Criando outros controles utilizando a caixa de ferramentas


Se voc deseja criar controles no vinculados ou calculados, use a barra de
ferramentas. Tambm pode usar a caixa de ferramentas para criar controles vinculados
que no sejam caixas de textos. A caixa de ferramentas uma barra de ferramentas
especializada: voc pode escolher Barras de Ferramentas no menu Exibir, para ativar
ou desativar a caixa de ferramentas.

15 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


O MS-Access exibe automaticamente a caixa de ferramentas quando voc abre um
formulrio no modo estrutura, se as barras de ferramentas estiverem ativadas.
A caixa de ferramentas tem ferramentas para todos os tipos de controles que voc pode
criar na estrutura de um formulrio.
Move-se a caixa de ferramentas selecionando e arrastando a mesma, e pode fech-la
clicando na caixa controle no canto superior esquerdo.

Para exibir ou fechar a caixa de ferramentas


No menu exibir, escolha caixa de ferramentas (ou clique no boto caixa de ferramentas
na barra de ferramentas).
Para determinar a finalidade de uma ferramenta
Posicione o ponteiro do mouse sobre a ferramenta
O MS-Access exibe o nome da ferramenta.

Fornecendo uma lista de opes com uma caixa de listagem ou


uma caixa de combinao
Uma caixa de listagem uma lista simples de valores para voc selecionar. Uma
caixa de combinao como uma caixa de texto e uma caixa de listagem combinadas em
um controle, voc tanto pode digitar um valor na caixa de texto como selecionar um valor
na lista.
Vantagens da caixa de listagem
A lista aparece todas as vezes e o valor do controle fica limitado a o conjunto de
alternativas da lista. Para mover rapidamente para o primeiro iniciado com uma
determinada letra voc pode digitar essa letra. Quando se est usando um formulrio para
inserir ou editar, no se pode adicionar um valor que no esteja na lista.
Vantagens de uma caixa de combinao

16 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


Uma vez que a lista no exibida at que se abra, o controle ocupa menos espao
no formulrio. Voc pode digitar os primeiros caracteres de um valor na caixa de
combinao para rapidamente encontrar esse valor. Alm disso, pode-se optar por
permitir a entrada de valores novos na caixa de combinao ou impedir a entrada de
valores novos.

Criando um Formulrio/sub-formulrio sem a ajuda do


Assistente
Quando est criando um formulrio e um sub-formulrio sem a ajuda do assistente de
Formulrio/Sub-formulrio, inicialmente voc cria o formulrio e o sub-formulrio
separadamente. Em seguida, insere o sub-formulrio no formulrio.
Este mtodo til se voc j criou um formulrio e deseja inseri-lo em diversos outros
formulrios. Pode, tambm, preferir criar o seu prprio sub-formulrio quando quiser
criar um sub-formulrio que seja diferente do formulrio que o Assistente projetou.
Criando um formulrio e um sub-formulrio
Um sub-formulrio um formulrio separado, que voc cria e salva da mesma forma que
qualquer outro formulrio. Ento, adiciona-o ao formulrio de modo a se assegurar o seu
vnculo ao formulrio. Na maioria dos casos, o MS-Access vincula o formulrio
automaticamente quando voc o adiciona. Existe, porm, situaes onde voc tem que
definir as propriedades para vincular o formulrio ao sub-formulrio.
Preparando o formulrio
1. Crie o formulrio. Deixe espao no formulrio para o sub-formulrio.
2. Salve e feche o formulrio.
Preparando o sub-formulrio
1. Crie um formulrio e defina as propriedades de formulrio VisualizaoAutorizada
e ModoPadro
Apenas folha de dados: Coloque os campos no formulrio na ordem que voc deseja que
eles apaream na folha de dados. Voc no precisa organizar os campos, j que eles
sempre aparecem como uma folha de dados.
Defina as propriedades VisualizaoAutorizada e ModoPadro como folha de dados.
Apenas formulrio: Coloque os controles como voc deseja que apaream no modo
formulrio. Defina a propriedade VisualizaoAutorizada como Formulrio. Defina a
propriedade ModoPadro como formulrio simples ou formulrios contnuos.

17 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


Formulrios e folha de dados: Coloque os controles como voc deseja que eles
apaream no modo formulrio. Defina a propriedade VisualizaoAutorizada para ambos.
Defina a propriedade Modo Padro para formulrios Simples, formulrios contnuos ou
folha de dados. Dependendo de como voc deseja que o sub-formulrio seja visualizado
quando voc abre o formulrio.
2. Salve e feche o sub-formulrio.
Para adicionar um sub-formulrio a um formulrio
1. Abra o formulrio no modo estrutura.
2. Alterne para a janela de Banco de Dados (Pressione F11).
3. Arraste o sub-formulrio que quiser da janela Banco de Dados e coloque-o onde voc o
deseja no formulrio.
O MS-Access adiciona o controle do sub-formulrio a suas etiquetas anexadas ao
formulrio. O controle do sub-formulrio est vinculado ao sub-formulrio e
aproximadamente do mesmo tamanho do sub-formulrio (o controle do subformulrio inclui espao para os seletores de registros, de forma que se torna maior).
4. Mova o controle do sub-formulrio e, se necessrio, ajuste o seu tamanho.
5. Alterne para o modo formulrio para ver o formulrio com seu sub-formulrio.
6. Para fazer alteraes no formulrio, alterne para o modo Estrutura.
Para fazer alteraes no sub-formulrio, consulte o seguinte procedimento.
1. No modo estrutura, clique em qualquer lugar do formulrio fora do controle do subformulrio (para ter certeza de que o controle do sub-formulrio no est selecionado).
2. Clique duas vezes em qualquer dentro do sub-formulrio. (O MS-Access exibe o subformulrio no modo estrutura).
3. Faa as alteraes na estrutura do sub-formulrio.
4. Salve e feche o sub-formulrio no modo estrutura ou no modo folha de dados.
5. Clique no boto Modo do Formulrio na barra de ferramentas.

Vinculando um formulrio e um sub-formulrio

18 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


1. No formulrio no modo Estrutura, abra a folha de propriedades para o controle do subformulrio.
2. Defina a propriedade VincularAPartirDe como o nome do campo vinculado no subformulrio.
Para entrar diversos campos vinculados, separe os nomes dos campos com ponto e
vrgula.
3. Defina a propriedade VincularA como o nome do controle ou campo vinculado no
formulrio.
Para entrar diversos controles ou campos vinculados, separe os nomes de campo ou
controle por ponto e vrgula.
4. Salve e feche o sub-formulrio.
5. Clique no boto Modo do Formulrio na barra de ferramentas.

Exerccio V
1. Crie um Formulrio para mostrar os pedidos feitos por um cliente.
2. Crie um Formulrio para mostrar as informaes do cliente
3. Crie um Formulrio Principal/SubFormulrio colocando no Principal as
informaes do cliente e no subFormulrio os pedidos feitos por cada
cliente

Calculando um total para um grupo de registros


Use a funo Soma para calcular o total de um grupo de registros. As sintaxe para a
funo Soma :
Soma(expr)
O argumento expr o nome de um campo ou de uma expresso.
possvel usar nomes de campo no argumento expr da funo Soma, mas no nomes de
controles. Os nomes de campo podem vir de uma tabela ou de uma consulta. Pode-se at
usar o nome de um campo calculado a partir de uma consulta. Entretanto, para saber o
total dos valores em um controle calculado, necessrio repetir a expresso usada no
controle calculado na funo Soma.

19 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Exerccio VI
Crie um formulrio tabular para mostrar todas os itens de um pedido e seus
respectivos preos . No rodap do formulrio crie um campo somando todas os preos
dos produtos.

20 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Estruturando relatrios
Adicionando sees
Voc pode aumentar a eficincia de um relatrio adicionando sees, que so elementos
prprios da estrutura do relatrio. O MS-Access possui sete tipos de sees, que pode ser
usado em qualquer combinaes. Por exemplo, se voc deseja imprimir informaes
introdutrias a um relatrio, voc adicionar um cabealho que imprima apenas na
primeira pgina do relatrio.
No modo estrutura, voc v a estrutura do relatrio como sees e controles. O modo
estrutura apresenta o modelo para o relatrio, cada seo do relatrio representada uma
vez, ainda que, no relatrio impresso, algumas sees podem repetir algumas vezes. Por
exemplo, quando voc imprime um relatrio, o cabealho do grupo e o rodap do grupo
se repetem para cada grupo, enquanto a seo detalhe se repete para cada registro.

Cabealho do Relatrio
Aparece uma nica vez no incio do relatrio. Voc pode us-lo para itens tais como
logotipo. O cabealho do relatrio impresso antes do cabealho da pgina somente na
primeira pgina do relatrio.

Cabealho da Pgina
Aparece na parte superior de todas as pginas do relatrio. usado para exibir itens tais
como legendas de colunas em relatrio tabular.

Para adicionar cabealho e rodap a um relatrio ou pgina


No menu formatar, escolha cabealho/rodap do relatrio

Cabealho do Grupo
Aparece no incio de um novo grupo de registros. usado para exibir itens, tais como o
nome do grupo.

Para adicionar cabealho e rodap a um grupo


A ordem de classificao de um relatrio definida na caixa de dilogo Classificar e
Reagrupar.
Para exibir a caixa de dilogo Classificar e Reagrupar
1. Abre um relatrio no modo estrutura
2. No menu exibir escolha classificar e reagrupar ou clique no boto Classificar e
Reagrupar na barra de ferramentas.
3. Na coluna campo/expresso seleciona o campo que voc deseja ou digite uma
expresso. (Tenha certeza de iniciar uma expresso com sinal de igual.)

21 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Seo detalhe
Contm o corpo principal dos dados de um relatrio. Os controles desta seo repetem-se
para cada registro retirado do banco de dados.

Rodap do grupo
Aparece no final de um grupo de registro. usado para exibir itens, tais como os totais de
grupo.

Rodap da pgina
Aparece na parte inferior de todas as pginas do relatrio. usado para exibir itens tais
como a numerao de pginas.

Rodap do relatrio
Aparece uma vez no final do relatrio. usado para exibir itens tais como totais de
relatrio. a ltima seo na criao do relatrio, mas aparece antes do rodap da pgina
na ltima pgina do rodap impresso.

22 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Exerccio VII
Crie um relatrio para mostrar uma sada como o padro abaixo:

Usando expresses em relatrios


Voc usa expresses para obter informaes que no consegue obter diretamente das
tabelas de um banco de dados. Por exemplo, uma expresso pode ser utilizada para saber
quantas unidades de um produto voc vendeu em um ms ou o nmero mdio de
unidades que vende todo ms.
Um controle que tenha expresso igual a de sua origem de controle um controle
calculado. Se o controle uma caixa de texto, voc pode inserir a expresso diretamente
na caixa de texto. De qualquer modo, pode sempre digitar a expresso diretamente na
folha de propriedades ou pode definir a propriedade origem do controle com o construtor
de expresses.
.

23 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Macros
Usando macros, voc fazer seus formulrios, relatrios e outros objetos de banco de
dados trabalharem juntos mais eficientemente. As macros podem automatizar tarefas
rotineiras ou repetitivas tais como imprimir relatrios semanais. As macros tambm
oferecem capacidade de personalizao, tais como validao de dados complexas para
formulrios. Voc pode at usar macros para criar suas prprias barras de menu
personalizadas para seus formulrios.

O que uma macro?


Uma macro executa automaticamente uma tarefa ou um srie de tarefas. Cada tarefa que
deseja que o MS-Access execute chamada uma ao. O MS-Access proporciona uma
lista de aes dentre as quais seleciona-se para criar uma macro. Quando voc executa a
macro, o MS-Access executa as aes na seqncia em que elas esto listadas, usando os
objetos ou dados que tiver especificado. Por exemplo, voc pode criar uma macro para
abrir automaticamente uma tabela e um formulrio usados juntos freqentemente. Esta
macro usa duas aes para dizer ao MS-Access para abrir a tabela e, ento, abrir o
formulrio.
Quando se adiciona ou altera dados no formulrio, pode-se usar uma outra macro para
verificar os dados e exibir uma mensagem ou para abrir um outro formulrio.

Porque usar macros?


Qualquer tarefa repetitiva ou rotineira efetuada no MS-Access uma boa candidata a um
macro. A automatizao de tarefas rotineiras traz eficincia e preciso para seu banco de
dados, porque uma macro executa a tarefa sempre do mesmo modo. Usando macros,
possvel:

Fazer seus formulrios e relatrios trabalhem juntos


Muitas vezes, ser interessante usar dois formulrio ao mesmo tempo para procurar dados
relacionados. Por exemplo, voc poder usar um formulrio para visualizar informaes
sobre seus Fornecedores e um outro para visualizar informaes sobre seus produtos.
Usando macros, voc poder adicionar um boto de comando ao formulrio Fornecedores
de modo a abrir automaticamente o formulrio Produto e, assim, apresentar apenas os
produtos daquele fornecedor. Poder, tambm, adicionar um boto a um formulrio para
imprimir um relatrio como, por exemplo, para imprimir uma fatura e uma etiqueta de
endereamento de um formulrio usado para registrar novos pedidos.

24 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Encontrar e filtrar registros automaticamente


As macros podem acelerar o processo para encontrar os registros que deseja ver. Por
exemplo, voc pode anexar macros a botes em um formulrio de empregados para poder
automaticamente filtrar registros em subconjuntos; por exemplo, todos os empregados
localizados em Toronto ou todos os representantes de vendas que trabalham para voc.

Definir valor em controles


Usando macros, voc pode definir o valor de um controle em um formulrio como o
resultado de um clculo ou como um valor de uma outra tabela. Por exemplo, quando
voc adiciona um produto a um formulrio de pedidos, voc pode usar uma macro para
procurar automaticamente o preo unitrio atual do produto e inserir o valor em um
controle do formulrio.

Garantir a preciso dos dados


As macros so ideais para validao e tratamento de dados em formulrio. Por exemplo,
voc pode usar uma macro para responder a diferentes tipos de dados em um campo com
diferentes mensagens. Suponha que voc tenha clientes localizados em diversos pases.
Voc pode usar uma macro para certificar-se de que o cdigo postal inserido no registro
de um novo cliente seja apropriado para o pas onde vive o cliente.

Definir propriedade de formulrios, relatrios e controles.


Voc pode usar macros para definir a maioria das propriedades de formulrios, relatrios
e controles. Por exemplo, voc pode usar uma macro para ocultar um formulrio quando
voc no preciso v-lo na tela, mas ainda precisa usar os dados do formulrio.

Automatizar transferncias de dados


Voc pode usar uma macro para importar e exportar dados automaticamente entre
diferentes formatos de arquivo. Se voc exporta dados de vendas no final de cada semana
para uma planilha MS-Excel. Por exemplo, voc pode automatizar a tarefa em uma
macro e fazer isso com o clique de um boto.

Criar o seu prprio ambiente de trabalho personalizado


Voc pode usar uma macro para abrir automaticamente um grupo de consultas,
formulrios e relatrios quando voc abre um banco de dados. Usando macros, voc pode
combinar partes individuais de um banco de dados em um aplicativo de banco de dados
interativo; um programa que execute uma tarefa ou um conjunto de tarefas especficas
tais como encontrar informaes de vendas ou de faturas.

25 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Criando uma Macro


Para criar uma macro
1. Na janela banco de dados, clique no boto macro (ou escolha macros no menu
exibir)
2. Escolha o boto novo na janela banco de dados (ou escolha novo no menu arquivo e
ento escolha Macros)

A Janela Macro
Voc usa a parte superior da janela macro para adicionar aes. Voc pode incluir
um comentrio para explicar as razes por trs de cada ao (O MS-Access ignora
comentrios quando executa uma macro). Voc usa a parte inferior da janela macro para
especificar argumentos para uma ao. Os argumentos do ao MS-Access informaes
adicionais sobre como executar uma ao, tal como qual objeto ou dados utilizar.

26 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Adicionando aes a uma Macro


Existem duas maneiras de adicionar aes a uma macro. Voc pode selecionar
aes a partir da lista de aes da janela Macro ou, para aes comuns associadas a
objetos de seu banco de dados, voc pode arrastar o objeto da janela Banco de Dados
para a clula ao na janela Macro. Esse mtodo arrastar-e-soltar adiciona a ao e
argumentos apropriados.
Para adicionar uma ao a uma macro
1. Na janela Macro, clique na primeira clula vazia da coluna Ao.
2. Selecione a ao desejada a partir da lista de aes (clique na seta para ver esta
lista) ou digite a ao diretamente na clula.
Por exemplo: para que o computador execute um aviso sonoro, quando voc
executar uma macro, adicione a ao AvisoSonoro macro.

3. Insira um comentrio (opcional)sobre a ao.


4. Especifique os argumentos da ao, se eles forem necessrios.

27 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


Para adicionar uma ao arrastando um objeto da janela banco de dados
1. Posicione a janela macro e a janela banco de dados de modo que ambas fiquem
visveis em sua tela (para redimencionar e posicionar rapidamente as janelas, escolha
lado a lado no menu janela).
2. Na janela banco de dados, clique no boto para o ripo de objeto que deseja
arrastar. Por exemplo, clique no boto formulrio para arrastar um formulrio.
3. Arraste o objeto a partir da janela banco de dados para uma linha de ao na
janela macro.
Se voc arrastar uma tabela, consulta, formulrio, relatrio ou mdulo
para a janela Macro, o MS-Access adiciona uma ao que abre a tabela,
consulta, formulrio ou relatrio.
Se voc arrastar uma macro para a janela Macro, o MS-Access adiciona
uma ao que executa a macro.

Definindo argumentos
A maioria das aes tem argumentos que do ao MS-Access informaes
adicionais sobre como executar a ao, tais como qual objeto ou dados utilizar. Por
exemplo, a ao AbrirUmaTabela tem um argumento Nome da Tabela que informa ao
MS-Access qual tabela do banco de dados abrir. Depois de adicionar uma ao, voc
define os argumentos para a ao na parte de baixo da janela Macro. Para definir um
argumento, voc pode digitar um valor na caixa de argumentos ou em muitos casos voc
pode selecionar o argumento apropriado de uma lista.
Muitas aes tm um argumentos que pede o nome de um objeto de banco de
dados. Voc pode usar uma tcnica similar de arrastar e largar para definir estes e
outros argumentos: voc arrasta o objeto para a parte inferior da janela Macro e o larga
no argumento que deseja definir. Por exemplo, suponha que voc adicione a ao
AbrirUmaTabela a uma macro inserindo a ao na linha de ao. Para definir o
argumento Nome da Tabela da ao, voc tanto pode selecionar a tabela desejada da lista
do argumento Nome da Tabela, como voc j pode arrastar a tabela da janela Banco de
Dados para o argumento Nome da Tabela.

Salvando uma Macro


voc deve salvar uma macro antes de execut-la. Quando voc salva uma macro,
ela se torna um objeto de banco de dados que voc pode abrir ou executar a partir da
janela Banco de Dados.

28 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Criando um grupo de macro


Voc s vezes pode achar conveniente agrupar algumas macros relacionadas em
uma janela Macro. Para agrupar macros, voc cria um grupo de macros. Um grupo de
macro um conjunto de uma ou mais macros que aparecem na mesma janela Macro. As
prprias macros individuais so executadas independentes umas das outras.
Por exemplo, suponha que voc tenha seis botes de comando em um formulrio,
cada um abrindo um formulrio diferente. Em vez de ter seis macros separadas em seu
banco de dados, uma para cada boto, voc pode criar um grupo de macro que contenha
uma macro para cada boto. Desta forma, voc tem todas as macros relacionadas ao
formulrio juntas em um conveniente documento. Em vez de abarrotar a lista de macros
da janela banco de dados com mais de seis macros, voc adiciona somente uma.
Para criar um grupo de macro
1. Crie uma macro (na janela Banco de Dados, clique no boto Macro e, ento,
escolha o boto Novo).
2. Na janela Macro, escolha Nome da Macro no menu Exibir (ou clique no boto
Nome da Macro na barra de ferramentas).
O MS-Access exibe a coluna Nome da Macro na parte superior da janela Macro.
3. Digite um nome da macro para cada conjunto de aes que compem uma
macro.

29 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Usando condies em macros


Em alguns casos, voc pode querer executar uma ao ou uma srie de aes em
uma macro somente se um determinada condio for verdadeira. Por exemplo, se voc
est usando uma macro para validar dados em um formulrio, voc pode querer exibir
uma mensagem em resposta a um conjunto de valores inseridos em um registro e uma
outra mensagem em resposta a um conjunto diferente de valores. Em casos como esses,
voc pode usar condies para controlar o fluxo da macro.
Uma condio uma expresso lgica. A macro segue caminhos diferentes se a
condio for verdadeira ou falsa. A tabela seguinte mostra exemplos de condies de
macros.
Condio
Formulrios![Estudantes]![Idade]>21

Resultado
Se o valor no controle Idade do Formulrio
Estudantes for maior que 21, ento...
[Cidade]=Paris
Se o valor no controle Cidade do formulrio
do qual a macro foi executada for Paris,
ento...
Formulrios![Clientes]![Pas] = USA E Se o valor no controle Pas do formulrio
Formulrios![Clientes]![Cdigo do Cliente] Clientes for USA e o valor do controle
<31
Cdigo do Cliente do formulrio Clientes for
menor que 31, ento...
Voc insere condies na coluna Condio na janela Macro. Se uma condio for
verdadeira, o MS-Access executa a ao naquela linha. Voc pode fazer com que o MSAccess execute uma srie de aes se a condio for verdadeira digitando elipses (...) na
coluna Condies das aes que seguem imediatamente a condio.
Para adicionar uma condio a uma macro
1. Na janela Macro, escolha Condio no menu Exibir (ou clique no boto
Condio na barra de ferramentas).
O MS-Access exibe a coluna Condio na janela macro.
2. Na coluna Condio, insira uma expresso condicional na linha onde voc
deseja definir a condio.
3. Na coluna Ao, insira a ao que voc deseja que o MS-Access execute
quando a condio for verdadeira.

30 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


Se voc quiser que o MS-Access execute mais de uma ao, adicione as aes e
digite elipses (...) na coluna Condio ao lado de cada ao que voc queira executar se a
condio for verdadeira, como mostrado na seguinte ilustrao.

Quando voc executa a macro, o MS-Access avalia cada expresso na coluna


Condio. Se a expresso for falsa, o MS-Access ignora a ao e move para a prxima
linha de ao que no tenha elipses.
Se a expresso for verdadeira, o MS-Access executa a ao ao lado da expresso e
todas as aes seguintes que tenham elipses na coluna Condio. Se o MS-Access atingir
uma clula vazia na coluna Condio, ele executar a ao daquela coluna sem se
preocupar com a expresso condicional. Se o MS-Access atingir uma outra expresso
condicional, ele avaliar a nova expresso para determinar se executa ou no a ao a
lado.

31 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Lista de aes de Macro


Categoria
Dados em formulrios e
relatrios

Execuo

Descrio
Restringir dados

Ao
AplicarFiltro

Mover atravs dos dados

EncontrarPrxima,
EncontrarRegistro,
IrParaControle, IrParaPgina,
IrParaRegistro
ExecutarItemDoMenu

Executar um comando
Executar uma Macro,
procedimento ou consulta

AbrirConsulta,
ExecutarCdigo,
ExecutarMacro,
ExecutarSQL

Executar um outro aplicativo


ExecutarAplicativo
Parar execuo
CancelarEvento, Sair, Parar
Macro, PararTodasMacros
Importar/Exportar

Transferir dados entre o MS- TransferirBancoDeDados,


Access e outros formatos de TransferirPlanilha,
dados
TransferirTexto
Enviar objetos do MSSairPara, EnviarObjeto
Access para outro aplicativos

32 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


Categoria
Manipulao de objetos

Descrio
Ao
Definir o valor de um campo, DefinirValor
controle ou propriedade
Atualizar dados ou a tela

RedesenharObjeto,
RepetirAconsulta,
ExibirTodosRegistros

Selecionar um banco de
dados

SelecionarObjeto

Copiar ou Renomear um
objeto

CopiarObjeto, Renomear

Excluir um objeto

ExcluirObjeto

Abrir ou fechar um objeto de Fechar, AbrirFormulrio,


banco de dados
AbrirMdulo, AbrirConsulta,
AbrirRelatrio,
AbrirUmaTabela
Imprimir um objeto de banco AbrirFormulrio,
de dados
AbrirConsulta,
AbrirRelatrio, Imprimir

Miscelnea

Mover ou redimensionar uma Maximizar, Minimizar,


janela
MoverDimensionar,
Restaurar
Exibir informaes na tela
Eco, Ampulheta,
CaixaDeMensagem,
DefinirAvisos
Exibir ou ocultar a barra de
ferramentas

ExibirBarraDeFerramentas

Gerar pressionamento de
teclas

EnviaSequnciaDeCaracteres

Soar um aviso

AvisoSonoro

Criar uma barra de menu


personalizado para um
formulrio ou relatrio

AdicionarMenu

33 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Respondendo a eventos em formulrios


Quando voc usa um formulrio, o MS-Access reconhece certos acontecimentos no
formulrio como eventos. Por exemplo, mover de um registro para outro em formulrios
um evento; bem como clicar duas vezes em um controle. Voc pode usar uma macro
para responder a um evento.

Fazendo Formulrios trabalharem em conjunto


Se voc tem um formulrio com um sub-formulrio em seu banco de dados, ento
voc j viu uma maneira do MS-Access tornar possvel diferentes formulrios
trabalharem juntos. Um sub-formulrio na realidade um formulrio separado inserido
em um formulrio principal. Na maioria dos casos, voc usa sub-formulrios para mostrar
registros relacionados a um registro do formulrio principal. Por exemplo, um subformulrio poderia conter uma lista de todas as partes integrantes de um produto
manufaturado e o formulrio principal poderia conter informaes sobre o prprio
produto. Quando voc movesse para um novo registro no formulrio principal, o subformulrio passaria a mostrar os registros relacionados ao do formulrio principal.
Usando macros, voc pode mostrar registros relacionados de outra forma. Voc
pode mostrar registros relacionados em dois formulrios ao mesmo tempo, cada um em
sua prpria janela. Isso d a voc a convenincia adicional de poder redimensionar,
mover e fechar qualquer dos formulrios independentes um do outro.
Exibir dados relacionados no a nica maneira de usar macros para fazer seus
formulrio trabalharem juntos. Voc pode responder a um evento ocorrido em um
formulrio fazendo com que algo ocorra em outro formulrio. Por exemplo, pode-se abrir
um formulrio, redimension-lo ou mov-lo, exibir ou ocultar controles e atualizar dados,
entre outras coisas. possvel tambm abrir uma caixa de dilogo personalizada para
coletar as informaes necessrias para completar uma tarefa. Por exemplo, voc poderia
usar uma caixa de dilogo para perguntar qual dos vrios relatrios dirios imprimir.
Observao: Voc pode desejar usar a ao RepetirAConsulta em uma macro
para repetir a consulta de origem de um formulrio, sub-formulrio ou controle. Isso
garante que os registros mais recentes sejam exibidos.

34 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Atribuindo macros de validao a eventos de formulrio e de


controle
Para usar uma macro para validao de dados, voc atribui a macro propriedade
de evento apropriada do formulrio ou controle. As propriedades mais comumente usadas
em validao de dados so AntesDeAtulaizar e AoExcluir.
AntesDeAtualizar: Se Voc especifica uma macro como definio da
propriedade de formulrio AntesDeAtualizar, a macro executada quando o controle em
um registro que te tenha sido alterado e vai para um controle em um registro diferente,
mas antes do MS-Access salvar as alteraes na tela. Isso costuma ser usado quando a
validao envolve valores em mais de um campo do formulrio.
Se voc especifica uma macro como definio da propriedade de controle
AntesDeAtulaizar, a macro executada quando o foco deixa um controle cujo valor tenha
sido alterado, mas antes do MS-Access aceitar a alterao. Um exemplo quando a
validao em um controle requer mais de uma condio.
Os eventos AntesDeAtualizar tanto de controles como de formulrios tambm
ocorrem se voc escolher o comando Salvar Registro do menu Arquivo quando o foco
estiver em um registro que tenha sido alterado.
AoExcluir : Se voc especifica uma macro como definio da propriedade de
formulrio AoExcluir, a macro executada antes do MS-Access excluir um registro de
uma tabela. Isso costuma ser usado tanto em verificao de integridade referencial, como
para se certificar de que um cliente no tenha pedidos abertos, antes de excluir o registro
do cliente. Embora o MS-Access tenha uma opo Reforar Integridade Referencial
incorporada, voc pode no querer acionar essa opo em todos as ocasies. Em tais
casos, voc pode usar uma macro especificada como definio da propriedade AoExcluir
e obter resultados similares
possvel definir regras de validao usando macros ou definir a propriedade
RegraDeValidao para controles e as propriedades RegraDeValidao para campos e
registros. Estas so avaliadas na seguinte ordem quando voc altera os dados em um
controle de um formulrio e, ento, move para outro registros;

35 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


A macro AntesDeAtualizar do controle
A macro AntesDeAtualizar do formulrio
A expresso na propriedade RegraDeValidao do controle
A expresso na propriedade RegraDeValidao do campo de origem do
controle vinculado
A expresso na propriedade RegraDeValidao da tabela de origem
Uma vez que voc pode usar a ao CancelarEvento na macro de validao, podese usar a macro para uma validao preliminar; se a validao for bem sucedida, voc
pode, ento, passar para a validao do controle, registros ou campo.

Exibindo mensagens de validao diferentes para condies


diferentes
Vamos utilizar como exemplo uma empresa que importa produtos de fornecedores
localizados em muitos pases ao redor do mundo. Como pases diferentes tm regras
diferentes para seus cdigos postais, voc no pode simplesmente usar uma regra de
validao para garantir que um valor inserido no controle Cdigo Postal tenha as
caractersticas corretas. Voc pode, porm, escrever uma macro que verifique qual pas
est inserido no controle Pas e, ento, verifique se o valor inserido no controle Cdigo
Postal tem as caracterstica certas para aquele pas.
A macro tem duas condies. Para inserir as condies na janela Macro, clique no
boto Condio na barra de ferramentas. Isso exibe a coluna Condio na janela
Macro.
A primeira condio na macro verifica o cdigo postal dos fornecedores
localizados na Frana, Itlia ou Espanha. Esses pases tm cdigos postais de 5 dgitos.
Insira a seguinte expresso condicional:
[Pas] Em (France;Itlia;Spain) E Compr([Cdigo Posta])<>5
O operador Em compara o valor no controle Pas do formulrio atual com a lista
de pases dentro dos parnteses. A funo Compr conta o nmero de caracteres no
controle Cdigo Postal. Se um pas estiver na lista e o nmero de caracteres do cdigo
postal no for igual a 5, o MS-Access executar a ao na mesma linha que a condio e
quaisquer aes imediatamente a seguir que tenham reticncias(...) na coluna Condio.

36 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


A seguir, adicione duas aes para executar quando a condio for atendida: a
ao CaixaDeMensagem e a ao CancelarEvento. A tabela seguinte mostra os
argumentos chave para a ao CaixaDeMesagem.
Argumento
Mensagem
Tipo
Ttulo

Definio
Descrio
O cdigo Postal precisa ser A mensagem a exibir na
de 5 caracteres.
caixa de mensagem
Informao
O tipo de cone a exibir com
a mensagem
Erro de Cdigo Postal
O ttulo que aparece no topo
da caixa de mensagem

A segunda condio na macro usa o mesmo tipo de expresso que a primeira,


exceto que verifica o cdigo postal do fornecedores localizados na Austrlia e Singapura.
Esses pases tm cdigos postais de 4 dgitos. Insira a seguinte expresso condicional:
[Pas]Em(Australia;Singapura)E Compr([Cdigo Postal])<>4
Adicione as mesmas duas aes a serem executadas quando a condio for
satisfeita mas, altere o argumento Mensagem da ao CaixaDeMensagem para que se
leia: O Cdigo Postal precisa ser de 4 caracteres. Finalmente, adicione uma ao
IrParaControle que mova o foco para controle Cdigo Postal, facilitando a correo do
erro.
Salve a macro e d o nome Verificar Cdigos Postais.

37 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


Finalmente, defina a propriedade AntesDeAtulizar do formulrio para Verificar
Cdigos Postais, o nome de sua macro. Voc usa a propriedade do formulrio em vez da
propriedade do controle porque sua validao envolve dois controles diferentes no
formulrio.
Agora quando voc usar o formulrio para adicionar um novo fornecedor, o MSAccess executar sua macro de validao depois que voc terminar de inserir o novo
registro, mas antes de salv-lo na tabela Fornecedores. Se alguma condio na macro for
satisfeita, o MS-Access exibir a mensagem apropriada e no salvar o registro na tabela
Fornecedores. Em vez disso, o foco continuar no registro para que voc possa corrigir os
dados invlidos.

Criando nossos prprios menus


Para criar um menu personalizado temos que utilizar pelo menos duas macros, uma para
definir o menu e outra para adicionar o menu.

Definio do Menu
1. Crie uma Macro nova;
2. Adicione a coluna de nomes macro;
3. Na coluna nome digite o nome do menu, se desejar que uma letra fique
sublinhada para ser tecla de acesso, antes da letra coloque o smbolo &;
4. Na coluna ao, coloque o que voc deseja que a macro faa.
Veja o exemplo:
Nome
&Abrir
&Fechar
&Sair

Ao
AbrirUmaTabela
Fechar
Sair

Descrio
Abre a tabela de Clientes
Fecha o objeto ativo
Adiciona um separador ao menu
Sai do Access

Quando terminar, salve a macro com o nome de MENU XXXX_YYYY, onde XXXX a
barra de menu a que este menu pertence, e YYYY e o nome do menu. Vejamos o
exemplo:
Menu Principal_Arquivo

38 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Definio da Barra de Menu


1.
2.
3.
4.

Crie uma nova macro;


Adicione a coluna de nome macro;
Na coluna Ao, escolha a ao AdicionarMenu
Nos argumentos da macro, coloque o nome do Menu ( que ir aparecer na tela,
vale tambm a regra do &), e o nome da macro que ser ativada quando este
menu for selecionado.

Salve a macro com o nome da Barra de menu que voc deseja criar.

Atribuindo uma Barra de Menu a um formulrio


Escolha o formulrio que voc deseja colocar a barra de menus, na Propriedade Barra de
Menu, escolha o nome da macro que representa a sua barra de menus. Mude para o modo
formulrio e veja como ficou o menu.

39 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Mdulos
Para uma maior flexibilidade na manipulao dos seus dados, foi implementada
no Access uma linguagem de programao chamada Access Basic, um dialeto do Visual
Basic, que permite uma rea para criao de rotinas vo complementar o seu banco de
dados.

Estrutura do Mdulo
Sub - SubFuno, uma seqncia de comandos que executa alteraes em
formulrios, tabelas ou qualquer outro objeto do MS-Access. Mas no retornado
nenhum valor para quem chamou esta Sub.
Function - Faz exatamente a mesma coisa que a Sub, mas tem obrigatoriamente
que retornar um valor para que a chamou.

Declarando Variveis
Existem dois tipos de declaraes de variveis, uma a nvel de Mdulo, que
visvel em todas as Subs e Functions do Mdulo e as que so visveis apenas em numa
funo ou numa subfuno.
Declarao Global - Utilizada no nvel de mdulo para declarar variveis
globais (variveis disponveis em todos os procedimentos em todos os mdulos) e alocar
espao de armazenamento.
Declarao Dim - Utilizada no nvel de mdulo e no nvel de procedimento para
declarar as variveis e alocar espao de armazenamento. Quando utilizada a nvel de
mdulo, as variveis declaradas so visveis a todos os procedimentos contidos no
modulo. Se declaradas dentro de procedimentos, estas s sero visveis no procedimento
onde foram declaradas.

40 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

Tipos de Dados
A seguinte tabela mostra os tipos de dados fundamentais suportados pelo Access Basic,
sufixo de declarao de tipo, tamanho dados e valores aceitveis.
Tipo de Dados

Sufixo

Integer
Long(inteiro longo)
Single(ponto
flutuante de preciso
simples)
Double (ponto
flutuante de preciso
dupla)

%
&
!

Currency(inteiro
dimensionado)
String

Variant

Nenhu
m

Tamanho
dos dados
2
4
4

Valores aceitveis

-32.768 a 32.767.
-2.147.483.648 a 2.147.483.647.
-3,402823E38 a -1,401298E-45 para valores
negativos; 1,401298E-45 a 3,402823E38
para valores positivos; e 0.
8
-1,79769313486232 E308 a
-4,94065645841247 E-324 para valores
negativos; 4,94065645841247 E-324 a
1,79769313486232 E308 para valores
positivos; e 0.
8
-922.337.203.685.477,5808 a
922.337.203.685.477,5807.
1 byte por 0 at aproximadamente 65.535 bytes. (Devecaractere
se deixar uma margem para o
armazenamento).
Conforme Qualquer valor numrico at o intervalo de
apropriado um tipo de dados Double ou qualquer texto
de caractere.

Vejamos um exemplo de como o modulo estruturado:

41 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


Descrio dos itens utilizados na pgina anterior:
Function
Maisculas
(cTexto As String)
As String
Dim
String
Ucase$()

Declara uma funo, um bloco de comandos que ao seu trmino


retorna um valor, neste exemplo, retornado uma seqncia de
caracteres
Nome da funo, este nome pode ser definido pelo usurio
cTexto o nome de uma varivel que passada para esta funo;
As String identifica o tipo de dado que esta varivel contem.
Informa o tipo de dado que retornado pela funo
Declara uma ou mais variveis
Vide Tipos de Dados
Funo padro do Access Basic, torna todos os caracteres passados a
ela em caracteres Maisculos

Para retornarmos um valor de qualquer funo definida pelo usurio, devemos


atribuir o valor de retorno a funo, como vemos na penltima linha deste modulo.

Usando dados contidos nos Formulrios


A coleo Forms contm todos os objetos Formulrios abertos em um banco de
dados do Microsoft Access.
Use a coleo Forms no Access Basic ou uma expresso para se referir a um
formulrio em particular.
Por exemplo, voc pode usar a coleo Forms para verificar ou definir o valor de
um controle de formulrio. O objeto Formulrio contm todas as propriedades da folha
de propriedades de um formulrio. Voc pode se referir a um formulrio das seguintes
maneiras:
Forms![MeuFormulrio]
Forms("MeuFormulrio")
NomeEmp=Forms![Empregados]![Sobrenome] & "," & Forms![Empregados]![Primeiro nome]

No exemplo acima, a varivel NomeEmp recebe o contedo do controle Sobrenome


mais o contedo do controle [Primeiro nome], ambos contidos no formulrio
Empregados.
Podemos utilizar a coleo forms para testar condies em uma macro, neste caso,
quando voc pressionar a tecla Enter terminando a condio, a palavra Forms, ser
substituda pela palavra Formulrio, no implicando em nenhum tipo de erro.
Condio

Ao

Descrio

42 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


Forms![Produtos]!Descontinuado=SIM

CaixaDeMensage
m

Se no tiver mais produtos


exibe uma mensagem de erro

Objetos de Banco de Dados


O Access possui vrios objetos e colees de objetos para tratamento de banco de dados,
vamos discuti-los um a um.
Objeto
DBEngine

Descrio
O DBEngine representa o sistema de recuperao e armazenamento de dados
do Access, ele tem controle sobre todos os outros objetos
WorkSpace Um objeto Workspace define uma sesso para um usurio. Contm bancos de
dados abertos e provm mecanismos para transaes simultneas e para um
grupo de trabalho seguro.
Database
Banco de Dados em si, um arquivo MDB, com suas tabelas, consultas e etc...
TableDef
Contem todos os itens de uma tabela, campos e ndices.
Field
Contem as definies para um campo
Index
Contem as definies para um ndice, campo, nico e etc...
QueryDef Definies de uma consulta, qualquer tipo
RecordSet Conjunto de registros de uma tabela
Relation
O objeto Relation representa um relacionamento entre duas tabelas
Todos os itens em negrito representam uma coleo de objetos, a diferena que a
coleo no plural e o objeto tem o nome no singular. Para sabermos o nome dos campos
de uma tabela, devemos utilizar a coleo fields.
Processo para trabalhar com o banco de dados atual:
01 Function Exemplo
02
03

Dim db As Database
Dim I As Integer

Define uma varivel do tipo Database


Define uma varivel do tipo inteiro

05

Set db = DBEngine(0)(0)

Atribui o Banco de dados atual a db

06
07
08

For I = 0 to db.TableDefs.Count -1 conta at a ltima tabela


Debug.Print db.TableDefs(I).Name Imprime o nome de cada tabela
Next

09

db.Close

10 End Function

43 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003


No exemplo da pgina anterior, uma varivel do tipo Database declarada (02), na linha
05 atribuda a ela o banco de dados atual. Nas linhas seguintes feito um lao contando
todas as tabelas que existem no banco de dados atual (06), na linha 07 utilizado o objeto
Debug para imprimir na Janela Imediata, o nome da tabela atual apontada pela coleo
TableDefs, TableDefs um vetor contendo todas as tabelas do banco de dados, a linha 08
fecha o lao e a 09 fecha o banco de dados db.
Experimente criar um mdulo novo e digite a funo acima, quando terminar, escolha no
menu executar a opo Compilar mdulos carregados para verificar se no existe nenhum
erro de digitao.
Se no houver erro, posicione o cursor na primeira linha de cdigo aps a declarao
Function e pressione F9 para gerar um ponto de parada. Minimize a janela.
Na janela de Banco de dados selecione o objeto Macro, crie uma nova macro para
executar a nossa funo. Execute-a.
Quando o Access atingir o ponto de parada, a janela de cdigo ser exibida para que
possamos executar a funo passo-a-passo pressionando a tecla F8. No menu Exibir
escolha a opo Janela imediata para podermos ver a sada da nossa funo.

Validao de campos com mdulos


Para cada campo num formulrio, podemos fazer validaes, utilizado o evento
AntesDeAtualizar, podemos fazer validaes para os campos.
Veja o exemplo dado para o evento AntesDeAtualizar para o campo Nome do Contato:
Sub Nome_do_contato_BeforeUpdate (Cancel As Integer)
Const MB_STOP_BUTTON = 16
If IsNull([Nome do Contato]) Or IsEmpty([Nome do Contato]) Then
MsgBox "Este campo no pode ficar vazio", MB_STOP_BUTTON, "Validao de
Campo"
Cancel = True
End If
End Sub
No exemplo acima verificado se o campo [Nome do Contato] nulo ou est em branco,
se ele for um dos dois, a caixa de mensagem ser exibida com o smbolo de parada
crtica.
Se for atribudo o valor verdadeiro ( true ) para a varivel Cancel, o evento
AntesDeAtualizar ser cancelado, o campo no ser atualizado e o foco permanecer no
campo [Nome do Contato].

44 de 47

APOSTILA ACCESS AVANADO CURSOMASTER 2003

45 de 47

Vous aimerez peut-être aussi