Introdução ao MS-Access

Embed Size (px)

Citation preview

  • 8/6/2019 Introduo ao MS-Access

    1/50

    NetoDADOS

    Apostila do MS-Access Avanado

    i

    NDICE

    INTRODUO AO MS-ACCESS:...................................................................................................1

    RECAPITULAO:...................................................................................................................................1Tabelas: ............................................................................................................................................1

    Consultas:.........................................................................................................................................1

    Formulrios: ....................................................................................................................................1

    Relatrios:........................................................................................................................................1

    SEGURANA:....................................................................................................................................2

    ANTES DE COMEAR :.............................................................................................................................2PROTEO DOS DADOS...........................................................................................................................2

    CONSULTAS:.....................................................................................................................................4

    USANDO SQL NO MS-ACCESS...............................................................................................................4

    CONSULTAS UNIO ................................................................................................................................4CONSULTA DEFINIO DE DADOS..........................................................................................................6Tipos de dados do SQL compatveis com o Access ..........................................................................6

    CONSULTA PASSO ATRAVS ..................................................................................................................8CRIAR SUB-CONSULTAS..........................................................................................................................8

    DIFERENAS ENTRE CONSULTAS AO E CONSULTAS SELEO...............................8

    ALTERANDO DADOS COM CONSULTAS AO......................................................................9

    CONSULTA CRIAO DE TABELA:..........................................................................................................9CONSULTA EXCLUSO:.........................................................................................................................10CONSULTA ATUALIZAO: ..................................................................................................................10CONSULTA ANEXAO:........................................................................................................................11

    ESTRUTURANDO FORMULRIOS............................................................................................12CRIANDO CONTROLES..........................................................................................................................12

    Controles vinculados, no vinculados e calculados.......................................................................12

    Definindo propriedades de controle...............................................................................................13

    PERSONALIZANDO FORMULRIOS ........................................................................................................14Alterando ordem de tabulao .......................................................................................................14

    Criando outros controles utilizando a caixa de ferramentas .......... .......... ........... .......... .......... ......15

    Fornecendo uma lista de opes com uma caixa de listagem ou uma caixa de combinao........16

    CRIANDO UM FORMULRIO/SUB-FORMULRIO SEM A AJUDA DO ASSISTENTE.....................................17Vinculando um formulrio e um sub-formulrio............................................................................19

    CALCULANDO UM TOTAL PARA UM GRUPO DE REGISTROS....................................................................19

    ESTRUTURANDO RELATRIOS................................................................................................21

    ADICIONANDO SEES .........................................................................................................................21Cabealho do Relatrio..................................................................................................................21

    Cabealho da Pgina.....................................................................................................................21

    Para adicionar cabealho e rodap a um relatrio ou pgina......................................................21

    Cabealho do Grupo ......................................................................................................................21

    Para adicionar cabealho e rodap a um grupo............................................................................21

    Seo detalhe..................................................................................................................................23

    Rodap do grupo ............................................................................................................................23

    Rodap da pgina...........................................................................................................................23

    Rodap do relatrio........................................................................................................................23

  • 8/6/2019 Introduo ao MS-Access

    2/50

    NetoDADOS

    Apostila do MS-Access Avanado

    ii

    USANDO EXPRESSES EM RELATRIOS.................................................................................................24

    MACROS...........................................................................................................................................25

    O QUE UMA MACRO? .........................................................................................................................25

    PORQUE USAR MACROS? ......................................................................................................................25Fazer seus formulrios e relatrios trabalhem juntos ...................................................................25

    Encontrar e filtrar registros automaticamente...............................................................................26

    Definir valor em controles..............................................................................................................26

    Garantir a preciso dos dados.......................................................................................................26

    Definir propriedade de formulrios, relatrios e controles...........................................................26

    Automatizar transferncias de dados ......... ........... .......... .......... .......... ........... ........... .......... ...........26

    Criar o seu prprio ambiente de trabalho personalizado..............................................................26

    CRIANDO UMA MACRO ........................................................................................................................27Para criar uma macro....................................................................................................................27

    A Janela Macro ..............................................................................................................................27

    Adicionando aes a uma Macro...................................................................................................28

    Definindo argumentos ....................................................................................................................29

    Salvando uma Macro......................................................................................................................29Criando um grupo de macro ..........................................................................................................30

    Usando condies em macros ........................................................................................................32

    LISTA DE AES DE MACRO .................................................................................................................34RESPONDENDO A EVENTOS EM FORMULRIOS......................................................................................36

    Fazendo Formulrios trabalharem em conjunto............................................................................36

    Atribuindo macros de validao a eventos de formulrio e de controle........................................37

    Exibindo mensagens de validao diferentes para condies diferentes.......................................38

    CRIANDO NOSSOS PRPRIOS MENUS .....................................................................................................41Definio do Menu .........................................................................................................................41

    Definio da Barra de Menu..........................................................................................................42

    Atribuindo uma Barra de Menu a um formulrio ..........................................................................42

    MDULOS........................................................................................................................................43

    ESTRUTURA DO MDULO.....................................................................................................................43DECLARANDO VARIVEIS....................................................................................................................43

    Tipos de Dados...............................................................................................................................44

    USANDO DADOS CONTIDOS NOS FORMULRIOS ...................................................................................45OBJETOS DE BANCO DE DADOS ............................................................................................................46VALIDAO DE CAMPOS COM MDULOS ..............................................................................................47

  • 8/6/2019 Introduo ao MS-Access

    3/50

    NetoDADOS

    Apostila do MS-Access Avanado

    1

    Introduo ao MS-Access:

    Recapitulao:Tabelas:

    Uma coleo de dados de mesmo assunto ou tpico, uma tabela armazenaos 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.

  • 8/6/2019 Introduo ao MS-Access

    4/50

    NetoDADOS

    Apostila do MS-Access Avanado

    2

    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 decada usurio e as configuraes da barra de ferramentas. Em um ambiente de multi-usurio, o banco de dados do grupo de trabalho tambm contm as informaes decadastro de segurana do seu grupo. Se o seu arquivo SYSTEM.MDA for perdido oudanificado, voc no poder iniciar o Microsoft Access. Uma vez feita uma cpia dereserva desse arquivo, s ser preciso copi-lo novamente caso haja mudanas nasopes, barra de ferramentas ou nas informaes da cadastro de segurana.

    Proteo dos dadosProteger 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 objetosdo banco de dados.

    A segurana do Microsoft Access composta de vrias partes que precisam estarno 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

    Administrador2 Definir grupos de usurios3 Definir permisses do grupo4 Criar usurios5 Tirar as permisses dos grupos Usurios e Administradores6 Colocar os usurios que vo administrar o banco de dados no grupo

    Administradores

    Importante: Voc precisa remover as permisses do usurio administrador e dogrupo de usurios, que inclui todos os usurios em um grupo de trabalho. At que vocremova estas permisses, os usurios podero ter permisses involuntrias para objetos.Tendo, uma vez, as permisses removidas, os usurios passaro a ter somente as quevoc atribuiu.

  • 8/6/2019 Introduo ao MS-Access

    5/50

    NetoDADOS

    Apostila do MS-Access Avanado

    3

    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.

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

    Exerccio:

    Implemente a segurana no banco de dados do curso, criando trsgrupos:

    DBA - administrador (Todas as permisses) Gerentes - usurio (somente para leitura) Digitadores - usurio (com permisses para leitura,

    gravao, excluso e atualizao)

  • 8/6/2019 Introduo ao MS-Access

    6/50

    NetoDADOS

    Apostila do MS-Access Avanado

    4

    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 MS-Access tem uma instruo SQL associada que define as aes daquela consulta.Normalmente mais conveniente usar a grade QBE e as ferramentas grficas deestruturao de consulta do Access para criar e modificar consultas. Mas se voc estfamiliarizado com SQL, pode usar instrues SQL para:

    Consultas Unio uma consulta especfica SQL que cria um resultadocontendo dados de todos os

    registros especificados em duas ou mais tabelas. Pelo contrrio, uma consulta baseada emuma associao cria um dynaset contendo dados somente de registros cujos camposrelacionados encontram uma condio especificada.

    Por exemplo, uma consulta unio da tabela clientes e data da tabela fornecedoresresulta umResultado que contm todos os registros especificados em ambas as tabelas, ade clientes e a de fornecedores.

    A consulta unio a seguir, consiste de duas instrues SELECT que retornam osnomes de empresa e cidades que estejam tanto na tabela Fornecedores como na tabelaClientes, e sejam do Brasil.

    A seguinte consulta unio consiste de duas instrues SQL SELECT que retornamos nomes de companhias e cidades que esto nas tabelas Fornecedores e Clientes e so doBrasil.

    SELECT [Nome da empresa], [Cidade]FROM [Fornecedores]WHERE Pais="Brasil"

    UNION SELECT [Nome da empresa], [Cidade]FROM [Clientes]WHERE Pais="Brasil";

  • 8/6/2019 Introduo ao MS-Access

    7/50

    NetoDADOS

    Apostila do MS-Access Avanado

    5

    A seguinte consulta unio seleciona o nome de todas as empresas e cidades queestejam nas tabelas Fornecedores e Clientes e classifica alfabeticamente os dados porcidade.

    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 docliente/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 recuperarregistros duplicados:

    SELECT [Nome da empresa], [Cidade]FROM [Fornecedores]

    UNION ALL SELECT [Nome da empresa], [Cidade]FROM [Clientes];

  • 8/6/2019 Introduo ao MS-Access

    8/50

    NetoDADOS

    Apostila do MS-Access Avanado

    6

    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 PRIMARYKEY ([Cdigo]));

    No exemplo acima criada uma tabela Scios com os seguintes campos:

    Campo Tipo TamanhoCdigo Contador 4 bytesNome Texto 50Rua Texto 50

    A palavra chave CONSTRAINT indica que em seguida vem o nome de umndice chamado CdigoDoScio, entre parntesis vem o nome do campo que faz partedeste ndice e opcionalmente a clausula PRIMARY KEY para indicar a chave primriada tabela.

    Tipos de dados do SQL compatveis com o Access

    Tipo de dado Tamanho DescrioBINARY 1 byte Para consultas em tabelas anexadas em produtos

    de banco de dados que definem um tipo de dadosBinrio. O Microsoft Access no usa o tipo dedados Binrio.

    BIT 1 byte Valores Sim e No e campos que contm apenasum entre dois valores.

    BYTE 1 byte Um valor inteiro entre 0 e 255.

    COUNTER 4 bytes Um nmero incrementado automaticamente peloMicrosoft Access quando um novo registro adicionado a uma tabela. No Jet database engine,o tipo de dado para este valor Long.

    CURRENCY 8 bytes Um inteiro dimensionado entre -922.337.203.685.477,5808 e922.337.203.685.477,5807.

  • 8/6/2019 Introduo ao MS-Access

    9/50

    NetoDADOS

    Apostila do MS-Access Avanado

    7

    Tipo de dado Tamanho DescrioDATETIME(Consulte

    DOUBLE)

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

    SINGLE 4 bytes Um valor ponto flutuante de preciso simplescom um intervalo de -3,402823E38 a -1,401298E-45 para valores negativos, 1,401298E-45 a3,402823E38 para valores positivos e 0.

    DOUBLE 8 bytes Um valor ponto flutuante de preciso dupla comum intervalo de -1,79769313486232E308 a -4,94065645841247E-324 para valores negativos,4,94065645841247E-324 a1,79769313486232E308 para valores positivos e0.

    SHORT 2 bytes Um inteiro curto entre -32.768 e 32.767LONG 4 bytes Um inteiro longo entre -2.147.483.648 e

    2.147.483.647.LONGTEXT 1 byte por

    caracterZero at um mximo de 1,2 gigabytes. (ConsulteText.)

    LONGBINARY Comodefinido

    Zero a um mximo de aproximadamente 1gigabyte. Usado para objetos OLE.

    TEXT 1 byte porcaracter

    Zero a 255 caracteres.

    ExerccioCriar uma consulta Definio de Dados para criar uma tabela com a seguinte

    estrutura:Nome do Campo Tipo do dado TamanhoCdigo do Produto ContadorNome do Produto Texto 40Quantidade Por Unidade Texto 20Preo Unitrio MoedaUnidades em Estoque Nmero InteiroCategoria Texto 15Fornecedor Texto 40

    O nome da tabela a ser criada ser Informaes dos produtos. Como chaveprimria ser utilizado o campo Cdigo do Produto.

  • 8/6/2019 Introduo ao MS-Access

    10/50

    NetoDADOS

    Apostila do MS-Access Avanado

    8

    Consulta Passo Atravs

    As consultas passo atravs no so executadas pelo Access, elas so executas peloservidor SQL, por isso no possvel usar o SQL do Access, visto que ele no segue opadro ANSI como os servidores SQL.

    Esta consulta manipula os dados diretamente no servidor ento as tabelasutilizadas no precisam estar anexadas.

    Criar sub-consultas

    para criar uma sub-consulta, voc usa a grade QBE, mas insere uma instruoSQL 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 consultasseleo

    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, osregistros recuperados de suas tabelas. Pode-se, ento, visualizar o dynaset e fazeralteraes em seus dados. Entretanto, ao fazer alteraes, elas so inseridas registro aregistro.

    Caso haja um grande nmero de alteraes similares, voc pode poupar tempousando uma consulta ao. Uma consulta ao faz quaisquer alteraes em apenas umaoperao. Por exemplo, caso deseje excluir todos os produtos que tenham sidodescontinuados, voc pode executar uma consulta ao que remova todos esses produtos.

    Para se garantir que alteraes indesejadas no sejam feitas se voc executarinadvertidamente uma consulta ao, o MS-Access exibe na janela Banco de dados, umcone especial para identificar as quatro consultas ao.

    Consulta AnexaoConsulta AtualizaoConsulta Criao de TabelaConsulta Excluso

  • 8/6/2019 Introduo ao MS-Access

    11/50

    NetoDADOS

    Apostila do MS-Access Avanado

    9

    Alterando dados com consultas Ao

    Consultas Ao:

    Com as consultas ao, voc pode criar novas tabelas ou alterar os dados detabelas j existentes. Todas as Consultas Ao so feitas com base numa consultaseleo, ento para se criar qualquer tipo de consulta ao, devemos criar as consultasseleo que nos traro os dados que desejamos manipular pelas consultas ao, podendoassim 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 fornecessrio, 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 acriao ou cancelar a incluso.

    3. Se voc clicar no boto Modo Folha de Dados, a consulta seleo ser executada evoc ver os registros que vo para a nova tabela.

  • 8/6/2019 Introduo ao MS-Access

    12/50

    NetoDADOS

    Apostila do MS-Access Avanado

    10

    Exerccio I

    Crie uma consulta de Criao de tabela para listar o Nome do produto,Quantidade em estoque e oFornecedor , Cdigo do Fornecedor, onde a quantidade emestoque seja menor que 20. O nome da tabela de sada serProdutos 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 depoistransformar 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 aeliminao ou no.

    3. Se voc clicar no boto Modo Folha de Dados, a consulta seleo ser executada evoc ver os registros que vo excludos.

    Exerccio II

    Crie uma consulta para excluir todos da tabela de produtos, todos os produtos queestejam 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 ena linhaatualizar para voc coloca o valor ou expresso que ir atualizar o campo.

    Exerccio IIICrie 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 nomeAtualiza Produtos .

  • 8/6/2019 Introduo ao MS-Access

    13/50

    NetoDADOS

    Apostila do MS-Access Avanado

    11

    Consulta anexao:1. A consulta anexao nos permite anexar dados de uma tabela a outra. Para issodevemos criar uma consulta seleo com os campos que desejamos anexar, e depoisclicamos 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 anexaoou no.

    3. Se voc clicar no boto Modo Folha de Dados, a consulta seleo ser executada evoc ver os registros que vo ser anexados.

    Exerccio IVCriar uma consulta para Anexar os campos para a tabelaInformaes do produto.

  • 8/6/2019 Introduo ao MS-Access

    14/50

    NetoDADOS

    Apostila do MS-Access Avanado

    12

    Estruturando formulrios

    Criando ControlesQuando comea um formulrio em branco, voc mesmo adiciona todos os

    controles. Se criou um formulrio com o assistente de formulrio, pode-se tambmdesejar adicionar controles para exibir dados adicionais ou para tornar o formulrio maisatraente ou mais fcil de usar. Por exemplo, voc pode desejar adicionar uma etiquetaque inclua instrues sobre como utilizar um formulrio nomodo formulrio.

    Controles vinculados, no vinculados e calculados

    Quando se adiciona um controle a um formulrio, determina-se de onde ele obtma informao que exibe. Por exemplo, voc pode adicionar um controle caixa de textoque exibe um produto da companhia a partir do campo NomeDoProduto da tabelaprodutos. A caixa de texto obtm os valores a partir do campo Nome do Produto por tersido conectado ou vinculado quele campo.

    Os controles tambm podem exibir informaes que no estejam armazenadas nobanco de dados, tais como instrues, legendas e valores calculados. Conhecer a origemdos 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 ilustraoseguinte mostra os trs tipos de controle.

  • 8/6/2019 Introduo ao MS-Access

    15/50

    NetoDADOS

    Apostila do MS-Access Avanado

    13

    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 origemdo formulrio.

    Definindo propriedades de controle

    No MS-Access, as propriedades so usadas para determinar as caractersticas dastabelas, consultas, campos, formulrios e relatrios. Cada controle de um formulrio temtambm propriedades. As propriedades de controle determinam a estrutura e a aparnciade um controle bem como as caractersticas do texto ou dos dados que ele contm. Porexemplo, voc pode definir propriedades que formatem os valores de um controle comomoeda 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 decontrole exceto sub-formulrios, sub-relatrios e objetos OLE no vinculados).

    -Ou-Selecione 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, essaspropriedades podem ser definidas nos controles tanto para formulrio quanto pararelatrio, visto que cada controle tem em mdia 20 a 30 propriedades teremos aquisomente algumas que so comuns a vrios controles, como por exemplo.

  • 8/6/2019 Introduo ao MS-Access

    16/50

    NetoDADOS

    Apostila do MS-Access Avanado

    14

    Propriedade DescrioOrigem do Controle Nome de Campo ou Expresso para usar como fonte de

    dados para ControleTabular Automaticamente Pode gerar ou no uma tabulao quando o ltimocaracter permitido em uma mscara de entrada de umacaixa de texto inserido.

    Comportamento da Tecla Enter Padro troca de campo e Nova Linha no campo, cria umalinha em branco no mesmo campo para insero.

    Visvel Torna o objeto visvelAtivado Habilitar controle no modo formulrioParada de Tabulao Permite tabulaes no controlendice de Tabulao Definir ordem de tabulaoPode 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 dedados.

    Ao Entrar Macro ou funo executada quando o controle recebe oprimeiro foco

    Ao Sair Macro ou funo executada quando o controle perde ofoco no mesmo formulrio.

    Para obter mais informaes consulte Definindo Propriedades no Help do

    MS-Access.

    Personalizando formulriosVoc pode ser mais produtivo com formulrios personalizados que se adaptem s

    suas necessidades particulares. Por exemplo, voc pode personalizar que apresente listasde opes para sua escolha, adicionar um boto que torne fcil a abertura de umformulrio relacionado e usar imagens em vez de texto em botes.

    Alterando ordem de tabulao

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

  • 8/6/2019 Introduo ao MS-Access

    17/50

    NetoDADOS

    Apostila do MS-Access Avanado

    15

    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 comque o MS-Access crie automaticamente uma ordem de tabulao que percorra oscontroles da esquerda para a direita e de cima para baixo ou mesmo criar um ordem detabulao personalizada.

    Para criar uma ordem de tabulao da Esquerda para a Direita e de Cimapara Baixo

    1. Com o formulrio aberto no modo estrutura, escolha Ordem de Tabulao nomenu 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 deferramentas. Tambm pode usar a caixa de ferramentas para criar controles vinculadosque no sejam caixas de textos. A caixa de ferramentas uma barra de ferramentasespecializada: voc pode escolher Barras de Ferramentas no menu Exibir, para ativarou desativar a caixa de ferramentas.

  • 8/6/2019 Introduo ao MS-Access

    18/50

    NetoDADOS

    Apostila do MS-Access Avanado

    16

    O MS-Access exibe automaticamente a caixa de ferramentas quando voc abreum 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 ferramentasNo menu exibir, escolha caixa de ferramentas (ou clique no boto caixa de

    ferramentas na barra de ferramentas).

    Para determinar a finalidade de uma ferramentaPosicione o ponteiro do mouse sobre a ferramentaO MS-Access exibe o nome da ferramenta.

    Fornecendo uma lista de opes com uma caixa de listagem ouuma caixa de combinao

    Uma caixa de listagem uma lista simples de valores para voc selecionar. Umacaixa de combinao como uma caixa de texto e uma caixa de listagem combinadas emum controle, voc tanto pode digitar um valor na caixa de texto como selecionar um valor

    na lista.Vantagens da caixa de listagemA 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 umadeterminada letra voc pode digitar essa letra. Quando se est usando um formulrio parainserir ou editar, no se pode adicionar um valor que no esteja na lista.

    Vantagens de uma caixa de combinao

  • 8/6/2019 Introduo ao MS-Access

    19/50

    NetoDADOS

    Apostila do MS-Access Avanado

    17

    Uma vez que a lista no exibida at que se abra, o controle ocupa menos espaono formulrio. Voc pode digitar os primeiros caracteres de um valor na caixa decombinao 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 devalores novos.

    Criando um Formulrio/sub-formulrio sem a ajuda doAssistente

    Quando est criando um formulrio e um sub-formulrio sem a ajuda do assistentede Formulrio/Sub-formulrio, inicialmente voc cria o formulrio e o sub-formulrioseparadamente. Em seguida, insere o sub-formulrio no formulrio.

    Este mtodo til se voc j criou um formulrio e deseja inseri-lo em diversosoutros formulrios. Pode, tambm, preferir criar o seu prprio sub-formulrio quandoquiser criar um sub-formulrio que seja diferente do formulrio que o Assistenteprojetou.

    Criando um formulrio e um sub-formulrioUm 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 seassegurar o seu vnculo ao formulrio. Na maioria dos casos, o MS-Access vincula oformulrio automaticamente quando voc o adiciona. Existe, porm, situaes onde voctem 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 eModoPadro

    Apenas folha de dados: Coloque os campos no formulrio na ordem que vocdeseja que eles apaream na folha de dados. Voc no precisa organizar os campos, jque eles sempre aparecem como uma folha de dados.

    Defina as propriedades VisualizaoAutorizada e ModoPadro como folha dedados.

  • 8/6/2019 Introduo ao MS-Access

    20/50

    NetoDADOS

    Apostila do MS-Access Avanado

    18

    Apenas formulrio: Coloque os controles como voc deseja que apaream nomodo formulrio. Defina a propriedade VisualizaoAutorizada como Formulrio.Defina a propriedade ModoPadro como formulrio simples ou formulrios contnuos.

    Formulrios e folha de dados: Coloque os controles como voc deseja que elesapaream no modo formulrio. Defina a propriedade VisualizaoAutorizada paraambos. Defina a propriedade Modo Padro para formulrios Simples, formulrioscontnuos ou folha de dados. Dependendo de como voc deseja que o sub-formulrio sejavisualizado 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-oonde voc o deseja no formulrio.

    O MS-Access adiciona o controle do sub-formulrio a suas etiquetas anexadasao formulrio. O controle do sub-formulrio est vinculado ao sub-formulrio e aproximadamente do mesmo tamanho do sub-formulrio (o controle do sub-formulrio 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 dosub-formulrio (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 exibeo sub-formulrio 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.

  • 8/6/2019 Introduo ao MS-Access

    21/50

    NetoDADOS

    Apostila do MS-Access Avanado

    19

    5. Clique no boto Modo do Formulrio na barra de ferramentas.

    Vinculando um formulrio e um sub-formulrio

    1. No formulrio no modo Estrutura, abra a folha de propriedades para o controledo sub-formulrio.

    2. Defina a propriedade VincularAPartirDe como o nome do campo vinculado nosub-formulrio.

    Para entrar diversos campos vinculados, separe os nomes dos campos com ponto evrgula.

    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 cliente3. Crie um Formulrio Principal/SubFormulrio colocando no Principal as

    informaes do cliente e no subFormulrio os pedidos feitos por cadacliente

    Calculando um total para um grupo de registros

    Use a funo Soma para calcular o total de um grupo de registros. As sintaxe paraa funo Soma :

    Soma(expr)O argumento expr o nome de um campo ou de uma expresso.

  • 8/6/2019 Introduo ao MS-Access

    22/50

    NetoDADOS

    Apostila do MS-Access Avanado

    20

    possvel usar nomes de campo no argumento expr da funo Soma, mas nonomes 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 expressousada no controle calculado na funo Soma.

    Exerccio VI

    Crie um formulrio tabular para mostrar todas os itens de umpedido e seus respectivos preos . No rodap do formulrio crie um campo somandotodas os preos dos produtos.

  • 8/6/2019 Introduo ao MS-Access

    23/50

    NetoDADOS

    Apostila do MS-Access Avanado

    21

    Estruturando relatrios

    Adicionando seesVoc 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 imprimirinformaes introdutrias a um relatrio, voc adicionar um cabealho que imprimaapenas na primeira pgina do relatrio.

    No modo estrutura, voc v a estrutura do relatrio como sees e controles. Omodo 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 eo rodap do grupo se repetem para cada grupo, enquanto a seo detalhe se repete paracada registro.

    Cabealho do RelatrioAparece 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 pginasomente na primeira pgina do relatrio.

    Cabealho da PginaAparece 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 pginaNo menu formatar, escolha cabealho/rodap do relatrio

    Cabealho do GrupoAparece 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 dilogoClassificar e Reagrupar.

    Para exibir a caixa de dilogo Classificar e Reagrupar

    1. Abre um relatrio no modo estrutura2. No menu exibir escolha classificar e reagrupar ou clique no boto Classificar e

    Reagrupar na barra de ferramentas.

  • 8/6/2019 Introduo ao MS-Access

    24/50

    NetoDADOS

    Apostila do MS-Access Avanado

    22

    3. Na coluna campo/expresso seleciona o campo que voc deseja ou digite umaexpresso. (Tenha certeza de iniciar uma expresso com sinal de igual.)

  • 8/6/2019 Introduo ao MS-Access

    25/50

  • 8/6/2019 Introduo ao MS-Access

    26/50

    NetoDADOS

    Apostila do MS-Access Avanado

    24

    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 diretamentedas 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 deunidades 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 diretamentena caixa de texto. De qualquer modo, pode sempre digitar a expresso diretamente nafolha de propriedades ou pode definir a propriedade origem do controle com o construtorde expresses.

    .

  • 8/6/2019 Introduo ao MS-Access

    27/50

    NetoDADOS

    Apostila do MS-Access Avanado

    25

    Macros

    Usando macros, voc fazer seus formulrios, relatrios e outros objetos de bancode dados trabalharem juntos mais eficientemente. As macros podem automatizar tarefasrotineiras ou repetitivas tais como imprimir relatrios semanais. As macros tambmoferecem capacidade de personalizao, tais como validao de dados complexas paraformulrios. Voc pode at usar macros para criar suas prprias barras de menupersonalizadas para seus formulrios.

    O que uma macro?

    Uma macro executa automaticamente uma tarefa ou um srie de tarefas. Cadatarefa que deseja que o MS-Access execute chamada uma ao. O MS-Accessproporciona 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 elasesto listadas, usando os objetos ou dados que tiver especificado. Por exemplo, voc podecriar uma macro para abrir automaticamente uma tabela e um formulrio usados juntosfreqentemente. Esta macro usa duas aes para dizer ao MS-Access para abrir a tabelae, ento, abrir o formulrio.

    Quando se adiciona ou altera dados no formulrio, pode-se usar uma outra macropara 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 boacandidata a um macro. A automatizao de tarefas rotineiras traz eficincia e precisopara seu banco de dados, porque uma macro executa a tarefa sempre do mesmo modo.Usando macros, possvel:

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

  • 8/6/2019 Introduo ao MS-Access

    28/50

    NetoDADOS

    Apostila do MS-Access Avanado

    26

    Encontrar e filtrar registros automaticamenteAs 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 osempregados localizados em Toronto ou todos os representantes de vendas que trabalhampara voc.

    Definir valor em controlesUsando 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, quandovoc adiciona um produto a um formulrio de pedidos, voc pode usar uma macro paraprocurar automaticamente o preo unitrio atual do produto e inserir o valor em umcontrole do formulrio.

    Garantir a preciso dos dadosAs 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 umcampo com diferentes mensagens. Suponha que voc tenha clientes localizados emdiversos pases. Voc pode usar uma macro para certificar-se de que o cdigo postalinserido 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 doformulrio.

    Automatizar transferncias de dadosVoc 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 semanapara uma planilha MS-Excel. Por exemplo, voc pode automatizar a tarefa em umamacro e fazer isso com o clique de um boto.

    Criar o seu prprio ambiente de trabalho personalizadoVoc pode usar uma macro para abrir automaticamente um grupo de consultas,

    formulrios e relatrios quando voc abre um banco de dados. Usando macros, voc podecombinar partes individuais de um banco de dados em um aplicativo de banco de dadosinterativo; um programa que execute uma tarefa ou um conjunto de tarefas especficastais como encontrar informaes de vendas ou de faturas.

  • 8/6/2019 Introduo ao MS-Access

    29/50

    NetoDADOS

    Apostila do MS-Access Avanado

    27

    Criando uma Macro

    Para criar uma macro

    1. Na janela banco de dados, clique no boto macro (ou escolha macros nomenu exibir)

    2. Escolha o boto novo na janela banco de dados (ou escolha novo no menuarquivo e ento escolha Macros)

    A Janela Macro

    Voc usa a parte superior da janela macro para adicionar aes. Voc pode incluirum comentrio para explicar as razes por trs de cada ao (O MS-Access ignoracomentrios quando executa uma macro). Voc usa a parte inferior da janela macro paraespecificarargumentos para uma ao. Os argumentos do ao MS-Access informaesadicionais sobre como executar uma ao, tal como qual objeto ou dados utilizar.

  • 8/6/2019 Introduo ao MS-Access

    30/50

    NetoDADOS

    Apostila do MS-Access Avanado

    28

    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 aobjetos de seu banco de dados, voc pode arrastar o objeto da janela Banco de Dadospara a clula ao na janela Macro. Esse mtodo arrastar-e-soltar adiciona a ao eargumentos 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 vocexecutar 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.

  • 8/6/2019 Introduo ao MS-Access

    31/50

    NetoDADOS

    Apostila do MS-Access Avanado

    29

    Para adicionar uma ao arrastando um objeto da janela banco de dados1. 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 desejaarrastar. 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 najanela macro.

    Se voc arrastar uma tabela, consulta, formulrio, relatrio ou mdulopara 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 adicionauma ao que executa a macro.

    Definindo argumentos

    A maioria das aes tem argumentos que do ao MS-Access informaesadicionais sobre como executar a ao, tais como qual objeto ou dados utilizar. Porexemplo, a ao AbrirUmaTabela tem um argumento Nome da Tabela que informa aoMS-Access qual tabela do banco de dados abrir. Depois de adicionar uma ao, vocdefine os argumentos para a ao na parte de baixo da janela Macro. Para definir umargumento, 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 dedados. Voc pode usar uma tcnica similar de arrastar e largar para definir estes eoutros argumentos: voc arrasta o objeto para a parte inferior da janela Macro e o largano argumento que deseja definir. Por exemplo, suponha que voc adicione a aoAbrirUmaTabela a uma macro inserindo a ao na linha de ao. Para definir oargumento Nome da Tabela da ao, voc tanto pode selecionar a tabela desejada da listado argumento Nome da Tabela, como voc j pode arrastar a tabela da janela Banco deDados 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 dajanela Banco de Dados.

  • 8/6/2019 Introduo ao MS-Access

    32/50

    NetoDADOS

    Apostila do MS-Access Avanado

    30

    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 demacro um conjunto de uma ou mais macros que aparecem na mesma janela Macro. Asprprias 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 seubanco de dados, uma para cada boto, voc pode criar um grupo de macro que contenhauma macro para cada boto. Desta forma, voc tem todas as macros relacionadas aoformulrio juntas em um conveniente documento. Em vez de abarrotar a lista de macrosda 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 botoNome 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 umamacro.

  • 8/6/2019 Introduo ao MS-Access

    33/50

    NetoDADOS

    Apostila do MS-Access Avanado

    31

  • 8/6/2019 Introduo ao MS-Access

    34/50

    NetoDADOS

    Apostila do MS-Access Avanado

    32

    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 vocest usando uma macro para validar dados em um formulrio, voc pode querer exibiruma mensagem em resposta a um conjunto de valores inseridos em um registro e umaoutra 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 acondio for verdadeira ou falsa. A tabela seguinte mostra exemplos de condies demacros.

    Condio Resultado

    Formulrios![Estudantes]![Idade]>21 Se o valor no controle Idade do FormulrioEstudantes for maior que 21, ento...

    [Cidade]=Paris Se o valor no controle Cidade do formulriodo qual a macro foi executada for Paris,ento...

    Formulrios![Clientes]![Pas] = USA EFormulrios![Clientes]![Cdigo do Cliente]

  • 8/6/2019 Introduo ao MS-Access

    35/50

    NetoDADOS

    Apostila do MS-Access Avanado

    33

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

    Quando voc executa a macro, o MS-Access avalia cada expresso na colunaCondio. Se a expresso for falsa, o MS-Access ignora a ao e move para a prximalinha de ao que no tenha elipses.

    Se a expresso for verdadeira, o MS-Access executa a ao ao lado da expresso etodas 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 sepreocupar com a expresso condicional. Se o MS-Access atingir uma outra expressocondicional, ele avaliar a nova expresso para determinar se executa ou no a ao alado.

  • 8/6/2019 Introduo ao MS-Access

    36/50

    NetoDADOS

    Apostila do MS-Access Avanado

    34

    Lista de aes de Macro

    Categoria Descrio AoDados em formulrios erelatrios

    Restringir dados

    Mover atravs dos dados

    AplicarFiltro

    EncontrarPrxima,EncontrarRegistro,IrParaControle, IrParaPgina,IrParaRegistro

    Execuo Executar um comando

    Executar uma Macro,

    procedimento ou consulta

    Executar um outro aplicativo

    Parar execuo

    ExecutarItemDoMenu

    AbrirConsulta,

    ExecutarCdigo,ExecutarMacro,ExecutarSQL

    ExecutarAplicativo

    CancelarEvento, Sair, PararMacro, PararTodasMacros

    Importar/Exportar Transferir dados entre o MS-Access e outros formatos de

    dados

    Enviar objetos do MS-Access para outro aplicativos

    TransferirBancoDeDados,TransferirPlanilha,

    TransferirTexto

    SairPara, EnviarObjeto

  • 8/6/2019 Introduo ao MS-Access

    37/50

    NetoDADOS

    Apostila do MS-Access Avanado

    35

    Categoria Descrio Ao

    Manipulao de objetos Definir o valor de um campo,

    controle ou propriedade

    Atualizar dados ou a tela

    Selecionar um banco dedados

    Copiar ou Renomear umobjeto

    Excluir um objeto

    Abrir ou fechar um objeto debanco de dados

    Imprimir um objeto de bancode dados

    Mover ou redimensionar umajanela

    DefinirValor

    RedesenharObjeto,RepetirAconsulta,ExibirTodosRegistros

    SelecionarObjeto

    CopiarObjeto, Renomear

    ExcluirObjeto

    Fechar, AbrirFormulrio,AbrirMdulo, AbrirConsulta,AbrirRelatrio,AbrirUmaTabela

    AbrirFormulrio,AbrirConsulta,AbrirRelatrio, Imprimir

    Maximizar, Minimizar,MoverDimensionar,Restaurar

    Miscelnea Exibir informaes na tela

    Exibir ou ocultar a barra deferramentas

    Gerar pressionamento deteclas

    Soar um aviso

    Criar uma barra de menupersonalizado para umformulrio ou relatrio

    Eco, Ampulheta,CaixaDeMensagem,DefinirAvisos

    ExibirBarraDeFerramentas

    EnviaSequnciaDeCaracteres

    AvisoSonoro

    AdicionarMenu

  • 8/6/2019 Introduo ao MS-Access

    38/50

    NetoDADOS

    Apostila do MS-Access Avanado

    36

    Respondendo a eventos em formulriosQuando voc usa um formulrio, o MS-Access reconhece certos acontecimentos

    no formulrio como eventos. Por exemplo, mover de um registro para outro emformulrios um evento; bem como clicar duas vezes em um controle. Voc pode usaruma 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, entovoc j viu uma maneira do MS-Access tornar possvel diferentes formulriostrabalharem juntos. Um sub-formulrio na realidade um formulrio separado inseridoem um formulrio principal. Na maioria dos casos, voc usa sub-formulrios para mostrarregistros relacionados a um registro do formulrio principal. Por exemplo, um sub-formulrio poderia conter uma lista de todas as partes integrantes de um produtomanufaturado e o formulrio principal poderia conter informaes sobre o prprioproduto. Quando voc movesse para um novo registro no formulrio principal, o sub-formulrio passaria a mostrar os registros relacionados ao do formulrio principal.

    Usando macros, voc pode mostrar registros relacionados de outra forma. Vocpode mostrar registros relacionados em dois formulrios ao mesmo tempo, cada um emsua 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 seusformulrio trabalharem juntos. Voc pode responder a um evento ocorrido em umformulrio fazendo com que algo ocorra em outro formulrio. Por exemplo, pode-se abrirum formulrio, redimension-lo ou mov-lo, exibir ou ocultar controles e atualizar dados,entre outras coisas. possvel tambm abrir uma caixa de dilogo personalizada paracoletar as informaes necessrias para completar uma tarefa. Por exemplo, voc poderiausar 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. Issogarante que os registros mais recentes sejam exibidos.

  • 8/6/2019 Introduo ao MS-Access

    39/50

    NetoDADOS

    Apostila do MS-Access Avanado

    37

    Atribuindo macros de validao a eventos de formulrio e decontrole

    Para usar uma macro para validao de dados, voc atribui a macro propriedadede evento apropriada do formulrio ou controle. As propriedades mais comumente usadasem validao de dados so AntesDeAtulaizar e AoExcluir.

    AntesDeAtualizar: Se Voc especifica uma macro como definio dapropriedade deformulrio AntesDeAtualizar, a macro executada quando o controle emum 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 avalidao envolve valores em mais de um campo do formulrio.

    Se voc especifica uma macro como definio da propriedade de controleAntesDeAtulaizar, a macro executada quando o foco deixa um controle cujo valortenha sido alterado, mas antes do MS-Access aceitar a alterao. Um exemplo quando avalidao em um controle requer mais de uma condio.

    Os eventos AntesDeAtualizar tanto de controles como de formulrios tambmocorrem se voc escolher o comando Salvar Registro do menu Arquivo quando o focoestiver em um registro que tenha sido alterado.

    AoExcluir : Se voc especifica uma macro como definio da propriedade deformulrio AoExcluir, a macro executada antes do MS-Access excluir um registro deuma tabela. Isso costuma ser usado tanto em verificao de integridade referencial, comopara se certificar de que um cliente no tenha pedidos abertos, antes de excluir o registrodo cliente. Embora o MS-Access tenha uma opo Reforar Integridade Referencialincorporada, voc pode no querer acionar essa opo em todos as ocasies. Em taiscasos, voc pode usar uma macro especificada como definio da propriedade AoExcluire obter resultados similares

    possvel definir regras de validao usando macros ou definir a propriedadeRegraDeValidao para controles e as propriedades RegraDeValidao para campos eregistros. Estas so avaliadas na seguinte ordem quando voc altera os dados em umcontrole de um formulrio e, ento, move para outro registros;

  • 8/6/2019 Introduo ao MS-Access

    40/50

    NetoDADOS

    Apostila do MS-Access Avanado

    38

    A macro AntesDeAtualizar do controleA macro AntesDeAtualizar do formulrio

    A expresso na propriedade RegraDeValidao do controleA expresso na propriedade RegraDeValidao do campo de origem docontrole vinculado

    A expresso na propriedade RegraDeValidao da tabela de origem

    Uma vez que voc pode usar a ao CancelarEvento na macro de validao, pode-se usar a macro para uma validao preliminar; se a validao for bem sucedida, vocpode, 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 fornecedoreslocalizados em muitos pases ao redor do mundo. Como pases diferentes tm regrasdiferentes para seus cdigos postais, voc no pode simplesmente usar uma regra devalidao para garantir que um valor inserido no controle Cdigo Postal tenha ascaractersticas corretas. Voc pode, porm, escrever uma macro que verifique qual pasest inserido no controle Pas e, ento, verifique se o valor inserido no controle CdigoPostal tem as caracterstica certas para aquele pas.

    A macro tem duas condies. Para inserir as condies na janela Macro, clique noboto Condio na barra de ferramentas. Isso exibe a coluna Condio na janelaMacro.

    A primeira condio na macro verifica o cdigo postal dos fornecedoreslocalizados 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 listade pases dentro dos parnteses. A funo Compr conta o nmero de caracteres nocontrole Cdigo Postal. Se um pas estiver na lista e o nmero de caracteres do cdigopostal no for igual a 5, o MS-Access executar a ao na mesma linha que a condio equaisquer aes imediatamente a seguir que tenham reticncias(...) na coluna Condio.

  • 8/6/2019 Introduo ao MS-Access

    41/50

    NetoDADOS

    Apostila do MS-Access Avanado

    39

    A seguir, adicione duas aes para executar quando a condio for atendida: aao CaixaDeMensagem e a ao CancelarEvento. A tabela seguinte mostra osargumentos chave para a ao CaixaDeMesagem.

    Argumento Definio DescrioMensagem O cdigo Postal precisa ser

    de 5 caracteres.A mensagem a exibir nacaixa de mensagem

    Tipo Informao O tipo de cone a exibir coma mensagem

    Ttulo Erro de Cdigo Postal O ttulo que aparece no topoda 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 forsatisfeita mas, altere o argumento Mensagem da ao CaixaDeMensagem para que seleia: O Cdigo Postal precisa ser de 4 caracteres. Finalmente, adicione uma aoIrParaControle que mova o foco para controle Cdigo Postal, facilitando a correo doerro.

    Salve a macro e d o nome Verificar Cdigos Postais.

  • 8/6/2019 Introduo ao MS-Access

    42/50

    NetoDADOS

    Apostila do MS-Access Avanado

    40

  • 8/6/2019 Introduo ao MS-Access

    43/50

    NetoDADOS

    Apostila do MS-Access Avanado

    41

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

    Agora quando voc usar o formulrio para adicionar um novo fornecedor, o MS-Access executar sua macro de validao depois que voc terminar de inserir o novoregistro, mas antes de salv-lo na tabela Fornecedores. Se alguma condio na macro forsatisfeita, o MS-Access exibir a mensagem apropriada e no salvar o registro na tabelaFornecedores. Em vez disso, o foco continuar no registro para que voc possa corrigir osdados invlidos.

    Criando nossos prprios menusPara 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 Ao Descrio&Abrir AbrirUmaTabela Abre a tabela de Clientes&Fechar Fechar Fecha o objeto ativo- Adiciona um separador ao menu&Sair Sair 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

  • 8/6/2019 Introduo ao MS-Access

    44/50

    NetoDADOS

    Apostila do MS-Access Avanado

    42

    Definio da Barra de Menu

    1. Crie uma nova macro;2. Adicione a coluna de nome macro;3. Na coluna Ao, escolha a ao AdicionarMenu4. 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 estemenu 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 PropriedadeBarra de Menu, escolha o nome da macro que representa a sua barra de menus. Mudepara o modo formulrio e veja como ficou o menu.

  • 8/6/2019 Introduo ao MS-Access

    45/50

    NetoDADOS

    Apostila do MS-Access Avanado

    43

    Mdulos

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

    Estrutura do Mdulo

    Sub - SubFuno, uma seqncia de comandos que executa alteraes

    em formulrios, tabelas ou qualquer outro objeto do MS-Access. Mas no retornadonenhum valor para quem chamou esta Sub.

    Function - Faz exatamente a mesma coisa que a Sub, mas temobrigatoriamente 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 emnuma funo ou numa subfuno.

    Declarao Global - Utilizada no nvel de mdulo para declararvariveis 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 deprocedimento para declarar as variveis e alocar espao de armazenamento. Quandoutilizada a nvel de mdulo, as variveis declaradas so visveis a todos os procedimentoscontidos no modulo. Se declaradas dentro de procedimentos, estas s sero visveis noprocedimento onde foram declaradas.

  • 8/6/2019 Introduo ao MS-Access

    46/50

    NetoDADOS

    Apostila do MS-Access Avanado

    44

    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 Tamanhodos dados

    Valores aceitveis

    Integer % 2 -32.768 a 32.767.Long(inteiro longo) & 4 -2.147.483.648 a 2.147.483.647.Single(pontoflutuante de precisosimples)

    ! 4 -3,402823E38 a -1,401298E-45 para valoresnegativos; 1,401298E-45 a 3,402823E38para valores positivos; e 0.

    Double (pontoflutuante de precisodupla)

    # 8 -1,79769313486232 E308 a -4,94065645841247 E-324 para valoresnegativos; 4,94065645841247 E-324 a1,79769313486232 E308 para valorespositivos; e 0.

    Currency(inteirodimensionado)

    @ 8 -922.337.203.685.477,5808 a922.337.203.685.477,5807.

    String $ 1 byte porcaractere

    0 at aproximadamente 65.535 bytes. (Deve-se deixar uma margem para oarmazenamento).

    Variant Nenhum

    Conformeapropriado

    Qualquer valor numrico at o intervalo deum tipo de dados Double ou qualquer texto

    de caractere.

    Vejamos um exemplo de como o modulo estruturado:

  • 8/6/2019 Introduo ao MS-Access

    47/50

    NetoDADOS

    Apostila do MS-Access Avanado

    45

    Descrio dos itens utilizados na pgina anterior:

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

    retorna um valor, neste exemplo, retornado uma seqncia decaracteresMaisculas Nome da funo, este nome pode ser definido pelo usurio(cTexto As String) cTexto o nome de uma varivel que passada para esta funo;

    As String identifica o tipo de dado que esta varivel contem.As String Informa o tipo de dado que retornado pela funoDim Declara uma ou mais variveisString Vide Tipos de DadosUcase$() 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, devemosatribuir 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 dedados 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 deum controle de formulrio. O objeto Formulrio contm todas as propriedades da folhade propriedades de um formulrio. Voc pode se referir a um formulrio das seguintesmaneiras:

    Forms![MeuFormulrio]Forms("MeuFormulrio")

    NomeEmp=Forms![Empregados]![Sobrenome] & "," & Forms![Empregados]![Primeiro nome]

    No exemplo acima, a varivel NomeEmp recebe o contedo do controleSobrenome mais o contedo do controle [Primeiro nome], ambos contidos noformulrio 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, sersubstituda pela palavra Formulrio, no implicando em nenhum tipo de erro.

  • 8/6/2019 Introduo ao MS-Access

    48/50

    NetoDADOS

    Apostila do MS-Access Avanado

    46

    Condio Ao DescrioForms![Produtos]!Descontinuado=SIM CaixaDeMensage

    mSe no tiver mais produtosexibe uma mensagem de erro

    Objetos de Banco de Dados

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

    Objeto DescrioDBEngine O DBEngine representa o sistema de recuperao e armazenamento de dados

    do Access, ele tem controle sobre todos os outros objetosWorkSpace Um objeto Workspace define uma sesso para um usurio. Contm bancosde dados abertos e provm mecanismos para transaes simultneas e paraum 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 campoIndex Contem as definies para um ndice, campo, nico e etc...QueryDef Definies de uma consulta, qualquer tipoRecordSet Conjunto de registros de uma tabelaRelation O objeto Relation representa um relacionamento entre duas tabelas

    Todos os itens em negrito representam uma coleo de objetos, a diferena quea coleo no plural e o objeto tem o nome no singular. Para sabermos o nome doscampos de uma tabela, devemos utilizar a coleo fields.

    Processo para trabalhar com o banco de dados atual:

    01 FunctionExemplo

    02 DimdbAsDatabase Define uma varivel do tipo Database03 DimIAsInteger Define uma varivel do tipo inteiro

    05 Setdb = DBEngine(0)(0) Atribui o Banco de dados atual a db

    06 For I = 0 todb.TableDefs.Count -1 conta at a ltima tabela07 Debug.Printdb.TableDefs(I).Name Imprime o nome de cada

    tabela08 Next

  • 8/6/2019 Introduo ao MS-Access

    49/50

    NetoDADOS

    Apostila do MS-Access Avanado

    47

    09 db.Close

    10 EndFunction

    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 laocontando 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 atualapontada pela coleo TableDefs, TableDefs um vetor contendo todas as tabelas dobanco 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 noexiste nenhum erro de digitao.

    Se no houver erro, posicione o cursor na primeira linha de cdigo aps adeclarao 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 paraexecutar a nossa funo. Execute-a.

    Quando o Access atingir o ponto de parada, a janela de cdigo ser exibida paraque possamos executar a funo passo-a-passo pressionando a tecla F8. No menu Exibirescolha a opo Janela imediata para podermos ver a sada da nossa funo.

    Validao de campos com mdulosPara 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 doContato:

    Sub Nome_do_contato_BeforeUpdate (Cancel As Integer)Const MB_STOP_BUTTON = 16

    If IsNull([Nome do Contato]) Or IsEmpty([Nome do Contato]) ThenMsgBox "Este campo no pode ficar vazio", MB_STOP_BUTTON,"Validao de Campo"

    Cancel = TrueEndIf

    EndSub

  • 8/6/2019 Introduo ao MS-Access

    50/50

    NetoDADOS 48No 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 deparada crtica.

    Se for atribudo o valor verdadeiro ( true ) para a varivel Cancel, o eventoAntesDeAtualizar ser cancelado, o campo no ser atualizado e o foco permanecer nocampo [Nome do Contato].