Treinamento de Access Recursos Básicos - Julio Battisti

295
Treinamento: Access - Recursos Básicos Autor: Júlio Cesar Fabris Battisti [email protected]

Transcript of Treinamento de Access Recursos Básicos - Julio Battisti

Treinamento:

Access - Recursos Básicos

Autor: Júlio Cesar Fabris Battisti

[email protected]

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 2 de 2

Nota sobre direitos autorais: Este ebook é de autoria de Júlio Battisti, sendo comercializado diretamente através do site www.juliobattisti.com.br

ou através do site

de leilões Mercado Livre: www.mercadolivre.com.br.

Ao adquirir este ebook você tem o direito de lê-lo na tela do seu computador e de imprimir quantas cópias desejar. É vetada a distribuição deste arquivo, mediante cópia ou qualquer outro meio de reprodução, para outras pessoas. Se você recebeu este ebook através do e-mail ou via ftp de algum site da Internet, ou através de um CD de Revista, saiba que você está com uma cópia pirata, não autorizada. Se for este o caso entre em contato com o autor, através do e-mail [email protected], para regularizar esta cópia.

Ao regularizar a sua cópia você estará remunerando, mediante uma pequena quantia, o trabalho do autor e incentivando que novos trabalhos sejam disponibilizados.

Se você tiver sugestões sobre novos cursos que gostaria de ver disponibilizados, entre em contato pelo e-mail: [email protected].

Visite periodicamente o site www.juliobattisti.com.br

para ficar por dentro das novidades:

• Cursos de informática. • Artigos e dicas sobre Certificações da Microsoft. • Artigos sobre Carreira e Trabalho. • Dicas de livros e sites sobre diversos assuntos. • Simulados gratuitos, em português, para os exames da Microsoft.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 3 de 3

Conheça os livros do autor Júlio Battisti:

Para mais detalhes sobre os livros do autor, consulte um dos seguintes endereços:

• www.juliobattisti.com.br

• www.axcel.com.br

• http://www.submarino.com.br/books_more.asp?Query=ProductPage&ProdTypeId=1&ArtistId=80278&Type=1

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 4 de 4

Algumas palavras do autor: Este curso foi criado com o objetivo de ajudá-lo a entender e a utilizar no seu dia-a-dia, as funções básicas do Microsoft Access. O curso é composto de 6 Módulos.

Em cada lição são apresentados conceitos teóricos, seguidos por exemplos práticos, passo-a-passo, para que você possa consolidar os conceitos teóricos apresentados.

Um bom estudo a todos e espero, sinceramente, que este curso possa ajudá-los a utilizar melhor o Microsoft Access.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 5 de 5

Windows XP Home & Professional Para Usuários e Administradores

Prezado Leitores,

www.juliobattisti.com.br

É com grande alegria que comunico a todos que foi lançado hoje, dia 25 de Setembro, o meu quinto livro:

Windows XP Home & Professional Para Usuários e Administradores

O Windows XP representa uma nova era para usuários e administradores. Esta versão do Windows reúne o que havia de melhor no Windows 9x/Me e no Windows 98, mais todos os recursos de segurança do Windows 2000, com uma interface nova, completamente redesenhada. Quer aprender, rapidamente, a implementar, configurar e utilizar o Windows XP? Então este livro é para você. Aprenda sobre as novas funcionalidades do Windows XP, sobre as configurações de segurança, desempenho e estabilidade. Entenda o que o Windows XP representa para a estratégia de Sistemas Operacionais da Microsoft.

8 5 0 páginas, Capa Dura, Form ato Grande

Você encontra todos os detalhes do livro no meu site, nos seguintes endereços:

:: Clique aqui para ler um resumo do conteúdo do livro

Em 20 Capítulos você aprenderá tudo sobre o Windows XP Home & Professional.

Incluí capítulo com Resumo para o exame de Certificação do Windows XP Professional (70-270), mais um Simulado com 100 questões e respostas.

:: Clique aqui para acessar o índice completo do livro

Confira também artigos, simulados, cursos gratuitos e dicas de sites e livros no site: www.juliobattisti.com.br

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 6 de 6

ÍNDICE:

01) REVISÃO DOS CONCEITOS BÁSICOS DE BANCO DE DADOS:........................................................ 8 Entidades e Atributos:..................................................................................................................................... 8 Chave Primária: ............................................................................................................................................ 11 Relacionamentos entre Tabelas: ................................................................................................................... 17

Relacionamento do Tipo Um para Um: .................................................................................................... 17 Relacionamento do Tipo Um para Vários:................................................................................................ 18 Relacionamento do tipo Vários para Vários: ............................................................................................ 20

Integridade Referencial:................................................................................................................................ 22 Como Criar e Configurar Relacionamentos no Microsoft Access: ........................................................... 23

Normalização de Tabelas:............................................................................................................................. 26 Primeira Forma Normal: ........................................................................................................................... 27 Segunda Forma Normal: ........................................................................................................................... 28 Terceira Forma Normal: ........................................................................................................................... 29

Um Projeto Proposto (opcional): .................................................................................................................. 30 03) ARQUITETURA DO MICROSOFT ACCESS: ........................................................................................ 34

Os Diversos Elementos do Access e a Relação entre eles: ........................................................................... 34 Alguns exemplos e situações do dia-a-dia: ................................................................................................... 37

04) Criando um banco de dados com o Microsoft Access................................................................................ 38 Introdução ..................................................................................................................................................... 38 Criando um banco de dados.......................................................................................................................... 38 Criando um banco de dados utilizando o Assistente de Banco de Dados ..................................................... 39 Criando um banco de dados vazio ................................................................................................................ 43

05) Criação de tabelas com o Microsoft Access ............................................................................................... 46 A Janela de Banco de Dados......................................................................................................................... 46 Como criar tabelas com o Microsoft Access?............................................................................................... 47

Criando a tabela Contribuintes! ................................................................................................................ 48 Coluna Nome dos Campos: .......................................................................................................................... 50 Coluna Tipo de Dados: ................................................................................................................................. 50 Coluna Descrição:......................................................................................................................................... 52 Propriedade Tamanho do Campo: ................................................................................................................ 54 Propriedade Formato: ................................................................................................................................... 56

Formatos Predefinidos .............................................................................................................................. 58 Formatos Personalizados: ......................................................................................................................... 59

Propriedade Casas decimais:......................................................................................................................... 69 Propriedade Máscara de entrada: .................................................................................................................. 70 Propriedade Legenda: ................................................................................................................................... 73 Propriedade Valor padrão: ............................................................................................................................ 73 As Propriedades Regra de validação/Texto de validação: ............................................................................ 74 A Propriedade Requerido: ............................................................................................................................ 76 A Propriedade Permitir comprimento zero: .................................................................................................. 78 A Propriedade Indexado: .............................................................................................................................. 79

06) Definição de Relacionamentos entre tabelas .............................................................................................. 91 07) Inserindo dados para testar os relacionamentos.......................................................................................... 93 08) Importação e Exportação de dados com o Microsoft Access ..................................................................... 95

Importar ou vincular tabelas de outro banco de dados do Microsoft Access ................................................ 97 Exportando dados das tabelas do Microsoft Access. .................................................................................. 105

09) Criação de Consultas com o Microsoft Access ........................................................................................ 106 Consultas: Definição e usos. ....................................................................................................................... 106 Criar uma consulta ...................................................................................................................................... 107 Utilizando o QBE para criar a primeira consulta. ....................................................................................... 107 Exercícios - Criação de consultas simples.: ................................................................................................ 115 Consultas baseadas em duas ou mais tabelas. ............................................................................................. 116

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 7 de 7

Definindo critérios de filtragem e ordenação em consultas ........................................................................ 119 Exercícios - Criação de consultas simples com critérios.: .......................................................................... 129

NúmeroDoPedido ................................................................................................................................... 131 Totalizando valores em consultas - a linha Totais. ..................................................................................... 132 Criando "Campos Calculados" em consultas. ............................................................................................. 141 Utilizando operadores para definir critérios de pesquisa. ........................................................................... 150 O operador In. ............................................................................................................................................. 150 O operador Between. .................................................................................................................................. 151 O operador Like. ......................................................................................................................................... 152 Utilizando as funções do Microsoft Access. ............................................................................................... 156 Como é a sintaxe de uma função?............................................................................................................... 156 Funções para tratamento de Data e Hora. ................................................................................................... 157 Funções para Cálculos matemáticos. .......................................................................................................... 165 Funções para tratamento de String/Texto. .................................................................................................. 166 Consultas "Parametrizadas" no Microsoft Access. ..................................................................................... 177 EXERCÍCIOS:............................................................................................................................................ 183 Consultas do tipo Tabela de Referência Cruzada: ......................................... 184 Outros tipos de consultas no Microsoft Access. ......................................................................................... 192

Consulta criar tabela: .............................................................................................................................. 192 Consulta atualização: .............................................................................................................................. 193 Consulta acréscimo: ............................................................................................................................... 193 Consulta exclusão: .................................................................................................................................. 194

EXERCÍCIOS:............................................................................................................................................ 201 Conclusão: .................................................................................................................................................. 201

10) Criação de Formulários Básicos com o Microsoft Access ....................................................................... 202 Introdução - O que são e para o que são utilizados? ................................................................................... 202 Modos de Exibição de um Formulário........................................................................................................ 215

Modo Estrutura ....................................................................................................................................... 215 Controles básicos da Caixa de Ferramentas................................................................................................ 216

Selecionar Objetos .................................................................................................................................. 216 Rótulo ..................................................................................................................................................... 216 Caixa de Texto ........................................................................................................................................ 217 Botão de Comando.................................................................................................................................. 218 A folha de Propriedades.......................................................................................................................... 219

Exercício: .................................................................................................................................................... 229 Conclusão: .................................................................................................................................................. 229

11) Criação de Relatórios Básicos com o Microsoft Access .......................................................................... 230 Introdução - O que são e para o que são utilizados? ................................................................................... 230 Modo Estrutura ........................................................................................................................................... 231

Seções de um relatório ............................................................................................................................ 232 Controles................................................................................................................................................. 233 Caixa de Ferramentas.............................................................................................................................. 233 Propriedades do relatório ........................................................................................................................ 233

Criar Relatórios .......................................................................................................................... 234 Exercícios: .............................................................................................................................................. 240

Conclusão: .................................................................................................................................................. 241 12) Uma introdução a Macros com o Microsoft Access. ................................................................................ 242

Eventos: ...................................................................................................................................................... 242 O que são Macros e como utilizá-las: ......................................................................................................... 244 Criando a Primeira Macro e a Janela de Macros: ....................................................................................... 246 AÇÕES DE MACRO E OS PARÂMETROS DE CADA UMA : ............................................................. 252 Associando Macros a Eventos .................................................................................................................... 290 Exercício ..................................................................................................................................................... 295 Conclusão ................................................................................................................................................... 295

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 8 de 8

01) REVISÃO DOS CONCEITOS BÁSICOS DE BANCO DE DADOS:

Neste tópico iremos revisar alguns conceitos básicos sobre Bancos de Dados. Para a melhor utilização do Microsoft Access é importante o conhecimento e correto entendimento dos conceitos apresentados. Revisaremos os Seguintes Conceitos:

• Entidades e Atributos • Chave Primária • Relacionamentos entre Entidades (Tabelas) • Integridade Referencial • Normalização de Tabelas • Um Problema Proposto

Entidades e Atributos:

Toda a Informação de um Banco de Dados do Microsoft Access é armazenada em Tabelas, que na linguagem dos Banco de Dados, também são chamadas de Entidades. Por exemplo, poderíamos ter uma Tabela "Clientes", onde seriam armazenadas informações sobre os diversos clientes.

Sobre cada um dos clientes poderíamos armazenar informações tais como: Nome, Rua, Bairro, Telefone, CEP, Data de Nascimento, etc. Essas diversas características de cada Cliente são os "Atributos" de cada Cliente, muitas vezes chamados de campos da entidade Cliente. "O Conjunto de todos os Atributos de um cliente e os valores dos atributos é o que forma o Registro do Cliente". Com isso teremos a Tabela constituída por um conjunto de Registros (Uma linha completa com informações sobre o cliente) e cada Registro formado por um conjunto de atributos (Nome, Endereço, etc).

Resumindo:

Entidade ou Tabela:Um conjunto de Registros Campos ou Atributos: Características Individuais da

Entidade

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 9 de 9

Considere o Exemplo da figura abaixo, onde temos uma Tabela

Cliente com os seus diversos Campos ( atributos):

Tabela Cliente e Seus Campos - CódigoDoCliente,NomeDaEmpresa, etc.

No exemplo da figura anterior temos uma entidade: "Clientes" e seus diversos atributos: "Código do Cliente", "Nome da Empresa", "Nome do Contato", "Cargo do Contato", "Endereço", etc. Em cada linha temos um conjunto de atributos e seus valores. Cada linha forma um Registro. Cada Coluna é um atributo da Tabela Clientes.

Conforme veremos em um dos exercícios mais adiante, um dos grandes desafios em se projetar um Banco de Dados com sucesso é a correta Determinação das Entidades que existirão no Banco de Dados, bem como dos Atributos de Cada Entidade.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 10 de 10

Exercício: Neste exercício iremos abrir o Banco de Dados

C:\CursoAccBasico\Pedidos.mdb e analisar as suas entidades e os atributos de cada entidade.

Para Analisar as Entidades e os Atributos das Entidades do banco Pedidos.mdb:

• Abra o Microsoft Access: Iniciar -> Programas -> Microsoft Access.

• Na tela que surge dê um clique na opção "Mais Arquivos" e depois dê um clique em OK

• No lista "Examinar" selecione "(C:) • Nas pastas que surgem dê um duplo clique para abrir a

pasta CursoAccBasico. • Dentro da pasta CursoAccBasico dê um duplo clique no

arquivo Pedidos.mdb para abrí-lo • Na Janela que surge verifique que a Guia Tabelas está

selecionada e dê um duplo clique na tabela Clientes para abrir a Tabela Clientes. Quais os atributos da Tabela Cliente?

• Dê um clique no botão "x" mais de baixo, para fechar a Tabela Clientes. Cuidado, pois se você clicar no botão "x" mais de cima, você irá fechar o Microsoft Access.

• Dê um clique duplo em "Pedidos" para abrir a Tabela Pedidos

• Observe os diferentes Atributos da Tabela Pedidos. • Feche o Microsoft Access.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 11 de 11

Chave Primária:

O Conceito de "Chave Primária" é fundamental para o Correto Entendimento do Funcionamento de um Banco de Dados. Vamos entender o que significa um campo ser a Chave Primária de uma Tabela e como tornar um Campo a Chave Primária de uma Tabela.

"Ao Definirmos um Campo como sendo uma Chave Primária, estamos informando ao Microsoft Access que não podem existir dois registros com o mesmo valor de Chave Primária, ou seja, os valores no campo Chave Primária precisam ser únicos. Por exemplo, se defino um campo "Número da Identidade" da tabela Clientes como sendo um campo do tipo Chave Primária, estou dizendo ao Microsoft Access que não podem existir dois clientes com o mesmo valor no campo "Número da Identidade". Na prática estou garantindo que não podem ser cadastrados dois clientes com o mesmo Número de Identidade".

Em outras palavras poderíamos dizer que o Campo Chave Primária identifica de Maneira Única cada Registro de uma Tabela, isto é, de posse do valor da Chave Primária somente localizaremos um registro com aquele valor no campo Chave Primária.

Este é um conceito muito importante, pois conforme veremos mais adiante os conceitos de Integridade Referencial e Normalização estão diretamente ligados ao conceito de Chave Primária. Na próxima figura vemos um exemplo da tabela Cliente onde o Campo "Código do Cliente" é definido como uma Chave Primária. Observe que não existem dois clientes com o Mesmo Código.

Campo "Código do Cliente" definido como Chave Primária.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 12 de 12

Ao clicarmos no Botão Estrutura ( ) iremos acessar a

estrutura da Tabela. Veremos em um dos próximos itens que toda tabela possui dois modos: Modo Estrutura e Modo Folha de Dados. No Modo Estrutura é onde definimos quais atributos farão parte da tabela, bem como as características de cada atributo, tais como Tipo de Dados, Tamanho Máximo, Máscara de Entrada, etc. No Modo Folha de Dados é que podemos digitar as informações, Inserir Novos Registros, alterar os Registros existentes, etc.

Ao entrar no modo estrutura, conforme indicado pela figura a seguir, você pode notar que na linha do Atributo "Código do Cliente", existe uma pequena chave. Esta chave indica que o Campo é Marcado como uma "Chave Primária". Além disso, na propriedade "Indexado" deste campo você pode Notar que aparece "Sim (Duplicação Não Autorizada)", indicando que não podem haver valores duplicados para um campo do tipo Chave Primária.

Campo Chave Primária Indexado e Com Duplicação Não Autorizada.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 13 de 13

Exercício: Neste exercício iremos Redefinir o campo Código do Cliente para que ele deixe de ser uma Chave Primária, feito isso iremos para o Modo Folha de Dados e Adicionaremos um Cliente com o Código de Cliente Duplicado ( Igual a um que já existe na Tabela), depois retornaremos ao modo estrutura e tentaremos redefinir o campo Código do Cliente como Chave Primária. Em seguida vamos excluir o cliente que foi adicionado com o mesmo código de um cliente que já existe. Voltaremos a definir o campo CódigoDoCliente como sendo um campo do tipo Chave Primária e em seguida tentaremos inserir um cliente com o mesmo código de um cliente já cadastrado. O Access permitirá ou não a inserção deste último cliente??

Para Modificar o Campo Código do Cliente faça o seguinte:

• Se ainda não estiver no Modo Estrutura da Tabela Clientes, vá para o Modo Estrutura: Clique na tabela Clientes para marcá-la e depois dê um clique no botão Estrutura

( ). • Selecione a Linha "Código do Cliente". Para selecionar

coloque o mouse bem a esquerda da linha, até que o cursor se transforme em uma flecha apontando para a direita, aí de um clique e toda a linha será selecionada

• Com a linha selecionada dê um clique no botão com o

desenho da chave ( ), feito isso o campo deixará de ser uma chave primária, conforme pode ser notado pelo fato da chave ter sumida da linha Código do Cliente.

• Vá para o Modo Folha de Dados, para isto selecione o comando Exibir -> Modo folha de dados.

• No Modo Folha de Dados selecione o comando Inserir -> Novo registro

e insira um Cliente com os seguintes Dados:

Código do Cliente : ALFKI Nome da Empresa: ABC de 123 Nome do Contato: José da Silva Cargo do Contato: Chefe Endereço: Rua X, Núm 100 Cidade: Santa Maria Região: SP CEP: 97000-000 País: Brasil Telefone: (55)222-2222 Fax: (55)222-2222

• Observe que mesmo inserindo um cliente com o mesmo Código de Outro Cliente que já existe: (ALFKI) o Microsoft Access permitiu a inserção de Dados. Agora temos dois clientes com o mesmo Código do Cliente, o que na prática causa uma série de Problemas ao Banco de Dados, conforme veremos a seguir.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 14 de 14

• O Microsoft Access aceito dois clientes com o mesmo código pois o campo CódigoDoCliente não é mais do tipo Chave Primária, com isso podemos ter valores repetidos neste campo.

• Agora vamos definir o campo CódigoDoCliente como sendo do tipo Chave Primária, ou pelo menos vamos tentar.

• Volte para o Modo Estrutura e marque a linha Código do Cliente. Feito isso dê um clique no botão com a Chave

( ), para redefinir este campo como sendo uma Chave Primária.

• Dê um clique no botão com a figura Disquete ( ) para tentar salvar as alterações que foram feitas na estrutura da tabela. Você receberá uma mensagem dizendo que não é possível realizar tal operação, conforme indicado na figura a seguir:

• Isto acontece porque temos dois registros com o mesmo valor no campo CódigoDoCliente, com isso este campo não pode ser definido como sendo do tipo Chave Primária.

• Dê um clique no botão OK para fechar a mensagem de erro. Surgirá uma segunda mensagem. Dê um clique no botão OK para fechar esta segunda mensagem. Você estará de volta a estrutura da tabela Clientes.

• Selecione a linha CódigoDoCliente e dê um clique no botão

com a Chave ( ), para fazer com que este campo deixe de ser do tipo Chave Primária.

• Vamos ir para o modo Folha de Dados e excluir o cliente inserido anteriormente.

• Selecione o comando Exibir -> Modo Folha de dados.

• Surge uma mensagem dizendo que você deve salvar as alterações na estrutura da tabela. Dê um clique no botão Sim e você estará de volta ao modo Folha de Dados.

• Localize o registro inserido anteriormente e dê um clique no campo CódigoDoCliente deste registro.

• Selecione o comando Editar -> Selecionar registro. • Selecione o comando Editar -> Excluir.

• Agora excluímos o registro com valor duplicado para o campo CódigoDoCliente.

• Agora vamos definir o campo CódigoDoCliente como sendo do tipo Chave Primária.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 15 de 15

• Volte para o Modo Estrutura e marque a linha Código do Cliente. Feito isso dê um clique no botão com a Chave

( ), para redefinir este campo como sendo uma Chave Primária.

• Dê um clique no botão com a figura Disquete ( ) para tentar salvar as alterações que foram feitas na estrutura da tabela. Como não temos mais valores duplicados no campo CódigoDoCliente, agora o Microsoft Access consegue definir o campo CódigoDoCliente como sendo do tipo Chave Primária. A partir deste momento não conseguiremos mais inserir um cliente com o mesmo código de um cliente já cadastrado. Vamos conferir se isto realmente é verdade.

• Selecione o comando Exibir -> Modo Folha de dados. • Selecione o comando Inserir -> Novo registro. • Digite os seguintes dados:

Código do Cliente : ALFKI Nome da Empresa: ABC de 123 Nome do Contato: José da Silva Cargo do Contato: Chefe Endereço: Rua X, Núm 100 Cidade: Santa Maria Região: SP CEP: 97000-000 País: Brasil Telefone: (55)222-2222 Fax: (55)222-2222

• Após digitar o número de Fax e pressionar Enter, o Microsoft Access tentará salvar o novo registro, porém não conseguirá. A seguinte mensagem será exibida:

• O que significa esta mensagem? Por que o Microsoft Access não está permitindo que o novo registro seja salvo?

• Dê um clique no botão OK para fechar a mensagem de erro. • Pressione a tecla ESC duas vezes seguidas. • Feche a tabela Clientes.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 16 de 16

Um último detalhe importante para lembrarmos é que a Chave

Primária pode ser formada pela combinação de Mais de Um Campo. Podem existir casos em que um único campo não é capaz de atuar como chave primária, pelo fato deste apresentar valores repetidos. Nestes casos podemos definir uma combinação de 2 ou mais campos para ser a nossa chave primária. Para fazer isso basta, no modo estrutura da tabela, selecionar todas as linhas que definirão a "Chave Primária Composta", e depois dar um clique no botão com a chave.

Nota: Falaremos mais sobre a definição de chaves primárias em um dos próximos itens.

Além disso, uma tabela somente pode ter uma Chave Primária, seja ela simples ou composta.

Neste ítem aprendemos o conceito de Chave Primária, a sua Importância e como Definir um Campo de uma Tabela como sendo a Chave Primária. Também testamos inconsistências que podem ser introduzidas nos dados pelo fato de não termos uma Chave Primária definida corretamente (No nosso exemplo, conseguimos inserir um Cliente com o Mesmo Código de outro cliente já cadastrado). No próximo ítem aprenderemos outro importante conceito: Conceito de Relacionamentos entre Tabelas.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 17 de 17

Relacionamentos entre Tabelas:

Conforme podemos ver no nosso Banco de Dados Pedidos.mdb, existem diversas tabelas: Clientes, Produtos, Pedidos, Detalhes do Pedido, etc. Embora as informações estejam separadas em cada uma das Tabelas, na prática devem existir relacionamentos entre as tabelas. Por exemplo: Um Pedido é feito Para um Cliente e neste Pedido podem existir diversos itens, os quais são armazenados na tabela Detalhes do Pedido. Além disso cada Pedido possui um número único, mas um mesmo Cliente pode fazer diversos pedidos e assim por diante.

No Banco de Dados, precisamos de alguma maneira para representar estes relacionamentos da vida Real, em termos das tabelas e seus atributos. Isto é possível com a utilização de "Relacionamentos entre tabelas", os quais podem ser de três tipos:

• Um para Um • Um para Vários • Vários para Vários

Relacionamento do Tipo Um para Um:

Esta relação existe quando os campos que se relacionam são ambos Chaves Primárias em suas respectivas tabelas. Cada um dos campos não apresenta valores repetidos. Na prática existem poucas situações onde utilizaremos um relacionamento deste tipo.

Um exemplo poderia ser o seguinte: Imagine uma escola com um Cadastro de Alunos na tabela Alunos, destes apenas uma pequena parte participa da Banda da Escola. Por questões de projeto do Banco de Dados, podemos criar uma Segunda Tabela "Alunos da Banda", a qual se relacionar com a Tabela Alunos através de um relacionamento do tipo Um para Um. Cada aluno somente é cadastrada uma vez na Tabela Alunos e uma única vez na Tabela Alunos da Banda. Poderíamos utilizar o Campo Matrícula do Aluno como o Campo que relaciona as duas Tabelas.

Na Tabela Alunos da Banda poderíamos colocar apenas o Número da Matrícula do aluno, além das informações a respeito do Instrumento que ele toca, tempo de banda, etc. Quando fosse necessário buscar as informações tais como nome, endereço, etc, estas podem ser recuperadas através do relacionamento existente entre as duas tabelas, evitando, com isso, que a mesma informação (Nome, Endereço, etc) tenha que ser duplicada nas duas tabelas, inclusive aumentando a probabilidade de erros de digitação.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 18 de 18

Na Próxima Figura vemos o exemplo de um Relacionamento do tipo Um para Um entre as tabelas Alunos e Alunos da Banda.

Relacionamento Um para Um entre as Tabelas Alunos e Alunos da Banda.

Com a criação deste relacionamento estamos evitando a repetição desnecessária de informações em diferentes tabelas.

Relacionamento do Tipo Um para Vários:

Este é, com certeza, o tipo de relacionamento mais comum entre duas tabelas. Uma das tabelas (o lado um do relacionamento) possui um campo que é a Chave Primária e a outra tabela (o lado vários) se relaciona através de um campo cujos valores relacionados podem se repetir várias vezes.

Considere o exemplo entre a tabela Clientes e Pedidos. Cada Cliente somente é cadastrada uma única vez na tabela de Clientes (por isso o campo Código do Cliente é uma chave primária, indicando que não podem existir dois clientes com o mesmo código), portanto a tabela Clientes será o lado um do relacionamento. Porém cada cliente pode fazer diversos pedidos, por isso que o Código de um Cliente poderá aparecer várias vezes na tabela Pedidos, tantas vezes quantos forem os pedidos que o Cliente tiver feito. Por isso que temos um relacionamento do tipo Um para Vários entre a tabela Clientes e Pedidos, através do campo Código do Cliente, indicando que um mesmo Cliente pode realizar diversos pedidos.

Na próxima figura vemos um exemplo de um Relacionamento Um para Vários entre as Tabelas Clientes e Pedidos do banco de dados Pedidos.mdb, através do campo código do cliente:

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 19 de 19

Relacionamento Um para Vários entre as Tabelas Clientes e Pedidos.

Observe que o lado Vários do relacionamento é representado pelo símbolo do infinito ( ∞ ).

No lado Um do relacionamento o campo é definido como uma Chave Primária ( Campo CódigoDoCliente na tabela Clientes) e no lado Vários não ( campo CódigoDoCliente na tabela Pedidos), indicando que no lado vários o Código do Cliente pode se repetir várias vezes, o que faz sentido, uma vez que um mesmo cliente pode fazer diversos pedidos.

No Banco de Dados nwind.mdb, que está na pasta CursoAccBasico, temos diversos outros exemplos de relacionamentos do tipo Um para Vários, conforme descrito na Próxima Tabela:

Tipo de Relacionamento Lado Um Lado Vários Um para Vários CódigoDoFornecedor na tabela

Fornecedores CódigoDoFornecedor na tabela Produtos

Um para Vários CódigoDaCategoria na tabela Categorias

CódigoDaCategoria na tabela Produtos

Um para Vários CódigoDoProduto na tabela Produtos

CódigoDoProduto na tabela Detalhes do Pedido

Um para Vários CódigoDoFuncionário na tabela Funcionários

CódigoDoFuncionário na tabela Pedidos

Um para Vários NúmeroDoPedido na tabela Pedidos

NúmeroDoPedido na tabela Detalhes do Pedido

Um para Vários CódigoDaTransportadora na tabela Transportadoras

Via na tabela Pedidos

Um para Vários CódigoDoCliente na tabela Clientes

CódigoDoCliente na tabela Pedidos

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 20 de 20

Mais adiante veremos como implementar, na prática, estes

relacionamentos. Algumas observações importantes sobre relacionamentos:

• O Nome dos Campos envolvidos no Relacionamento, não precisa ser, necessariamente, o mesmo, conforme indicado pelo relacionamento entre os campos CódigoDaTransportadora e Via, na tabela anterior. O tipo dos campos é que precisa ser o mesmo, por exemplo, se um dos campos for do tipo Texto, o outro também deverá ser do tipo Texto.

• Sempre o Lado um do Relacionamento deve ser uma chave primária, já o lado vários não pode ser uma chave Primária

• De Preferência, antes de Criar os Relacionamentos verifique se o tipo dos campos a serem relacionados é o mesmo, além de características como máscaras de entrada e formato.

Relacionamento do tipo Vários para Vários:

Seria uma situação onde em ambos os lados do relacionamento os valores poderiam se repetir. Vamos considerar o caso entre Produtos e Pedidos. Posso ter Vários Pedidos nos quais aparece um determinado produto, além disso vários Produtos podem aparecer no mesmo Pedido. Esta é uma situação em que temos um Relacionamento do Tipo Vários para Vários.

Na prática não temos como implementar um relacionamento deste tipo, devido a uma série de problemas que teríamos. Por exemplo, na tabela Pedidos teríamos que repetir o Número do Pedido, Nome do Cliente, Nome do Funcionário, Data do Pedido, etc para cada ítem do Pedido.

Para evitar este tipo de problema é bastante comum "quebrarmos" um relacionamento do tipo Vários para Vários em dois relacionamento do tipo Um para Vários. Isso é feito através da criação de uma nova tabela, a qual fica com o lado Vários dos relacionamentos. No nosso exemplo foi criada a tabela Detalhes do Pedido, onde ficam armazenadas as informações sobre os diversos itens de cada pedido, aí ao invés de termos um relacionamento do tipo Vários para Vários, teremos dois relacionamentos do tipo um para vários, conforme descrito pela próxima tabela:

Tipo de Relacionamento Lado Um Lado Vários Um para Vários CódigoDoProduto na tabela

Produtos CódigoDoProduto na tabela Detalhes do Pedido

Um para Vários NúmeroDoPedido na tabela Pedidos

NúmeroDoPedido na tabela Detalhes do Pedido

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 21 de 21

Na figura abaixo temos a representação dos dois relacionamentos Um para Vários:

Tabela Detalhes do Pedido ficou com o lado Vários dos Relacionamentos.

Esta situação em que um relacionamento um para Vários é "quebrado" em dois Relacionamentos do tipo Um para Vários é bastante comum. Diversas vezes utilizamos esta técnica para eliminar uma série de problemas no Banco de Dados, tais como informação repetida e inconsistência de Dados.

Agora que já conhecemos os Tipos de Relacionamentos existentes, no próximo ítem veremos como Implementar relacionamentos no Microsoft Access e a utilização da Integridade Referencial como uma maneira de Garantir a Consistência dos Dados.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 22 de 22

Integridade Referencial:

A Integridade Referencial é utilizada para garantir a Integridade dos dados entre as tabelas relacionadas. Por exemplo, existe um relacionamento do tipo Um para Vários entre a tabela Clientes e a tabela Pedidos (um cliente pode fazer vários pedidos). Com a Integridade Referencial, o Microsoft Access não permite que seja cadastrado um pedido para um cliente que ainda não foi cadastrado. Também podemos garantir o seguinte:

• Quando o Código de um cliente for alterado na Tabela Clientes, podemos pedir para o Microsoft Access atualizar, automaticamente, todos os Códigos do Cliente na Tabela Pedidos, de tal maneira que não fiquem Registros Órfãos, isto é , registros de Pedidos com um Código de Cliente que não existe mais na Tabela Clientes. Essa ação é conhecida como "Propagar atualização dos campos relacionados".

• Quando um Cliente for excluído da Tabela Clientes, podemos pedir para que o Microsoft Access exclua, automaticamente, na tabela Pedidos, todos os Pedidos para o Cliente que está sendo Excluído. Essa opção é conhecida como "Propagar exclusão dos registros relacionados".

Essas opções, conforme veremos logo em seguida, podem ser configuradas quando da Definição dos Relacionamentos. Estas opções não são obrigatórias, isto é, podemos optar por não Atualizar ou não Excluir em cascata. A Opção de "Propagar atualização dos campos relacionados" é utilizada na maioria das situações, já a opção de "Propagar exclusão dos registros relacionados" deve ser estudada caso a caso. Por exemplo, se nos quiséssemos manter um histórico com os Pedidos de cada Cliente, não utilizaríamos a opção "Propagar exclusão dos registros relacionados"; caso não nos interessasse manter um histórico dos pedidos, poderíamos utilizar esta opção.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 23 de 23

Como Criar e Configurar Relacionamentos no Microsoft Access:

Para Definir Relacionamentos no Microsoft Access faça o Seguinte:

• Abra o banco de dados onde estão as tabelas nas quais serão definidos os relacionamentos.

• Selecione o comando Ferramentas -> Relacionamentos.

• Surgirá a Janela indicada na próxima Figura. Nesta Janela você adicionará as Tabelas que farão parte de algum dos relacionamentos. Para Adicionar uma Tabela, basta marcá-la e dar um clique no botão "Adicionar". Você pode adicionar todas as tabelas de uma única vez. Para isto dê um clique na primeira, libere o mouse, pressione a tecla SHIFT e fique segurando SHIFT pressionado e dê um clique na última tabela. Com isso todas serão selecionadas, agora ao dar um clique no botão Adicionar, todas as tabelas serão adicionadas. Caso não queira adicionar todas mas somente algumas e de uma maneira intercalada, ao invés de usar a tecla SHIFT, utilize a tecla CTRL. Com a tecla CTRL uma tabela é selecionada a medida que você vai clicando com o mouse sobre o nome da tabela.

Dê um clique para marcar a Tabela e depois dê um clique no botão Adicionar.

• Após ter adicionado as tabelas, para criar um relacionamento, basta arrastar um campo de uma tabela sobre o campo da outra tabela na qual será estabelecido o relacionamento. Por exemplo, para estabelecer o relacionamento Um para Vários entre as tabelas Clientes e Pedidos, arraste o campo "CódigoDoCliente" da tabela Clientes, sobre o campo "CódigoDoCliente" da Tabela Pedidos. Ao largar um campo sobre o Outro, o Microsoft

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 24 de 24

Access abre uma janela conforme indicado na figura da a seguir (Definindo as características do Relacionamento):

Definindo as Características do Relacionamento.

• Observe que, por padrão, o campo "Impor Integridade Referencial" não está marcado. Ao marcá-lo serão disponibilizadas as Opções de "Propagar atualização dos campos relacionados" e "Propagar exclusão dos registros relacionados". Observe, também, que o Microsoft Access já definiu este relacionamento como sendo do tipo Um para Vários. Isso acontece porque o Microsoft Access identifica o campo CódigoDoCliente na tabela Clientes como sendo do tipo chave primária, o que automaticamente transforma o Relacionamento como sendo do tipo Um para Vários. Se em ambas as tabelas o campo CódigoDoCliente fosse definido como Chave Primária, o relacionamento, automaticamente, seria do tipo Um para Um.

• Após marcar as Opções desejadas, basta dar um clique no botão "Criar" e pronto, o Microsoft Access cria o Relacionamento, o qual é indicado através de uma linha entre as duas tabelas (Clientes e Pedidos), com o número 1 no lado da Chave Primária e o Sinal de infinito no lado Vários. Caso você precise alterar as características de um determinado relacionamento, basta dar um duplo clique sobre a linha do relacionamento, que o Microsoft Access abrirá a janela indicada na figura anterior, para que você possa fazer as alterações desejadas.

• Observe também que os campos Chave Primária aparecem em Negrito no Diagrama dos Relacionamentos.

• Este diagrama que exibe as Tabelas e os Relacionamentos entre as tabelas é conhecido como "Diagrama Entidades x Relacionamentos".

• Antes de fechar o Diagrama Entidades x Relacionamentos, dê um clique no botão com o disquete para salvar as alterações que foram feitas. A qualquer momento você pode acessar o Diagrama Entidades x Relacionamentos para fazer

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 25 de 25

alterações ou para revisar os relacionamentos, para isto basta ir no menu Ferramentas e clicar em Relacionamentos.

Exercício: Agora vamos a um exercício prático, onde definiremos os diversos relacionamentos para o nosso banco de dados ExRelacionamentos.mdb, que está na pasta CursoAccBasico.

Para definir os Relacionamentos para o banco de dados ExRelacionamentos.mdb:

• Abra o banco de dados ExRelacionamentos.mdb. • Selecione o comando Ferramentas -> Relacionamentos.

• Adicione todas as tabelas, conforme explicado anteriormente.

• Defina os Relacionamentos conforme indicado na tabela a seguir:

Tipo de Relacionamento Lado Um Lado Vários

Um para Vários CódigoDoFornecedor na tabela Fornecedores

CódigoDoFornecedor na tabela Produtos

Um para Vários CódigoDaCategoria na tabela Categorias

CódigoDaCategoria na tabela Produtos

Um para Vários CódigoDoProduto na tabela Produtos

CódigoDoProduto na tabela Detalhes do Pedido

Um para Vários CódigoDoFuncionário na tabela Funcionários

CódigoDoFuncionário na tabela Pedidos

Um para Vários NúmeroDoPedido na tabela Pedidos

NúmeroDoPedido na tabela Detalhes do Pedido

Um para Vários CódigoDaTransportadora na tabela Transportadoras

Via na tabela Pedidos

Um para Vários CódigoDoCliente na tabela Clientes

CódigoDoCliente na tabela Pedidos

• Habilite a Integridade Referencial em todos os Relacionamentos, habilite a opção "Propagar atualização dos campos relacionados" e deixe desabilitada o opção de "Propagar exclusão dos registros relacionados".

• Salve as alterações e feche a Janela dos Relacionamentos, clicando no botão "x". Clique no "x" mais de baixo, pois o "x" mais acima irá fechar o Microsoft Access.

• Abra a Tabela Pedidos e tente adicionar um pedido para o Cliente com Código do Cliente igual a ABCDE. O Microsoft Access Permitiu que você inserisse o Pedido para esse Cliente ? Por Que ?

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 26 de 26

Normalização de Tabelas:

O objetivo da normalização é evitar os problemas provocados por falhas no Projeto do Banco de Dados, bem como eliminar a mistura de assuntos e as correspondentes repetições desnecessárias de dados.

Uma Regra de Ouro que devemos observar quando do Projeto de Banco de Dados é a de "Não Misturar assuntos em uma mesma Tabela". Por exemplo na Tabela Clientes devemos colocar somente campos relacionados com o assunto Clientes. Não devemos misturar campos relacionados com outros assuntos, tais como Pedidos, Produtos, etc. Essa "Mistura de Assuntos" em uma mesma tabela acaba por gerar repetição desnecessária dos dados bem como inconsistência dos dados.

O Processo de Normalização aplica uma série de Regras sobre as Tabelas de um Banco de Dados, para verificar se estas estão corretamente projetadas. Embora existam 5 formas normais (ou regras de Normalização), na prática usamos um conjunto de 3 Formas Normais.

Normalmente após a aplicação das Regras de Normalização, algumas tabelas acabam sendo divididas em duas ou mais tabelas, o que no final acaba gerando um número maior de tabelas do que o originalmente existente. Este processo causa a simplificação dos atributos de uma tabela, colaborando significativamente para a estabilidade do modelo, reduzindo-se consideravelmente as necessidades de manutenção.

Vamos entender o Processo de Normalização na Prática, através de exemplos.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 27 de 27

Primeira Forma Normal:

"Uma Tabela está na Primeira Forma Normal quando seus atributos não contém grupos de Repetição". Por isso dissemos que uma Tabela que possui Grupos de Repetição não está na Primeira Forma Normal. Considere a estrutura da Tabela Indicada na Próxima Figura:

Tabela que não está na Primeira Forma Normal.

Podemos Notar que uma tabela com esta estrutura apresentaria diversos problemas. Por exemplo se um Casal Tivesse mais de um filho, teríamos que digitar o Nome do Pai e da Mãe diversas vezes, tantas quantos forem os filhos. Isso forma um Grupo de Repetição. Além do mais pode ser que por erro de digitação o Nome dos Pais não seja digitado exatamente igual todas as vezes, o que pode acarretar problemas na hora de fazer pesquisas ou emitir relatórios. Este problema ocorre porque "Misturamos Assuntos" em uma mesma tabela. Colocamos as informações dos Pais e dos Filhos em uma mesma tabela. A Resolução para este problema é simples: Criamos uma tabela separada para a Informação dos Pais e Relacionamos a tabela Pais com a Tabela Filhos através de um relacionamento do tipo Um para Vários, ou seja, um casal da Pais pode ter Vários Filhos.

Observe na figura abaixo as duas tabelas: Pais e Filhos, já normalizadas.

Informações sobre Pais e Filhos em Tabelas Separadas.

As duas tabelas Resultantes da Aplicação da Primeira Forma Normal: Pais e Filhos estão na Primeira Forma Normal, a Tabela Original, a qual misturava informações de Pais e Filhos, não estava na Primeira forma Normal

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 28 de 28

Segunda Forma Normal:

Ocorre quando a chave Primária é composta por mais de um campo. Neste caso, devemos observar se todos os campos que não fazem parte da chave de pendem de todos os campos que compõem a chave. Se algum campo depender somente de parte da chave composta, então este campo deve pertencer a outra tabela. Observe o Exemplo Indicado na Tabela da Figura abaixo:

Tabela com uma Chave Primária Composta. Não está Na Segunda Forma Normal.

A Chave Primária Composta é formada pela combinação dos Campos "NúmeroDaMatrícula" e "CódigoDoCurso". O Campo Avaliação depende tanto do CódigoDoCurso quanto do NúmeroDaMatrícula, porém o campo DescriçãoDoCurso, depende apenas do CódigoDoCurso. Com isso temos um campo que não faz parte da Chave Primária e depende apenas de um dos campos que compõem a chave Primária, por isso que dizemos que esta tabela não está na Segunda Forma Normal.

A Resolução para este problema também é simples: "Dividimos a Tabela que não está na Segunda Forma Normal em duas outras tabelas, conforme indicado pela figura abaixo, sendo que as duas tabelas resultantes estão na Segunda Forma Normal.

Informações sobre Avaliações e Cursos em Tabelas Separadas.

OBS -> A Distinção entre a Segunda e a Terceira forma normal, que veremos logo em seguida, muitas vezes é confusa. A Segunda Forma normal está ligada a ocorrência de Chaves Primárias compostas.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 29 de 29

Terceira Forma Normal:

Na definição dos campos de uma entidade podem ocorrer casos em que um campo não seja dependente diretamente da chave primária ou de parte dela, mas sim dependente de um outro campo da tabela, campo este que não a Chave Primária.

Quando isto ocorre, dizemos que a tabela não está na Terceira Forma Normal, conforme indicado pela tabela da figura abaixo:

Tabela com um Campo dependente de Outro campo que não a Chave Primária. Não está na Terceira Forma Normal.

Observe que o Campo DescriçãoDoCurso depende apenas do Campo CódigoDoCurso, o qual não faz parte da Chave Primária. Por isso dizemos que esta tabela não está na terceira forma normal. A Solução deste problema também é simples. Novamente basta dividir a tabela em duas outras, conforme indicado pela figura a seguir. As duas tabelas resultantes estão na Terceira Forma Normal.

Tabelas Resultantes que estão na Terceira Forma Normal.

Com isso podemos concluir que como resultado do Processo de Normalização, iremos obter um número maior de tabelas, porém sem problemas de redundância e inconsistência dos dados.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 30 de 30

Um Projeto Proposto (opcional):

Neste item iremos projetar um Banco de Dados. Iremos aplicar os conhecimentos sobre Tabelas, Campos, Relacionamentos, Chave Primária e Normalização.

Antes de começarmos a trabalhar com o Microsoft Access precisamos fixar bem os conceitos anteriormente vistos, aplicando-os no Projeto de Um Banco de Dados. Um banco de dados bem projetado fornece um acesso conveniente às informações desejadas. Com uma boa estrutura, gasta-se menos tempo na construção de um banco de dados e, ao mesmo tempo, assegura-se resultados mais rápidos e precisos.

Nunca é demais lembrar que jamais devemos misturar assuntos em uma mesma tabela.

ETAPAS NA ESTRUTURAÇÃO DE UM BANCO DE DADOS:

• Determinar qual o objetivo do banco de dados. Isto ajuda na determinação de quais os dados devem ser armazenados.

• Determinar as tabelas necessárias. Após definirmos o Objetivo do Banco de Dados, as informações devem ser definidas e separadas em assuntos diferentes, tais como "Clientes", "Empregados", "Pedidos", pois cada um irá compor uma tabela no banco de dados.

• Determinar os Campos Necessários. Definir quais informações devem ser mantidas em cada tabela. Por exemplo, a tabela Clientes poderia ter um campo para o Código Do Cliente, outro para o Nome Do Cliente e assim por diante.

• Determinar quais campos serão as Chaves Primárias. Determinar, em cada tabela, quais campos serão utilizados como Chave Primária. Esta é uma etapa importantíssima para a definição dos Relacionamentos que vem a seguir.

• Determinar os Relacionamentos. Decidir como os dados de uma tabela se relacionam com os dados de outras tabelas. Por exemplo, Clientes podem Fazer Vários Pedidos. Fornecedores podem fornecer Vários Produtos, etc.

• Refinar a Estrutura do Banco de Dados. Antes de inserir muitos dados, ou até mesmo antes de inserir qualquer dado, verificar se a estrutura contém erros, isto é, verificar se os resultados obtidos são os desejados. Isto, normalmente, pode ser obtido através do processo de Normalização. Caso necessário, deve-se alterar a estrutura do banco de dados.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 31 de 31

Com uma boa estrutura, gasta-se menos tempo na construção e manutenção do banco de dados e, ao mesmo tempo, assegura-se resultados mais rápidos e precisos.

DICAS PARA DETERMINAÇÃO DOS CAMPOS EM UMA TABELA:

• Relacionar diretamente cada campo ao assunto da tabela. Se um campo descreve o assunto de uma tabela diferente, este campo deve pertencer a outra tabela. O mesmo acontece quando uma informação se repete em diversas tabelas. Este é um indício de que existem campos desnecessários em algumas tabelas.

• Não Incluir dados Derivados ou Calculados. Não é recomendado armazenar o resultado de cálculos nas tabelas. O correto é que o cálculo seja executado quando necessitarmos do resultado, normalmente em uma consulta, conforme veremos no decorrer deste curso.

• Incluir todas as informações necessárias. Como é fácil esquecer informações importantes, deve-se ter em mente todas as informações coletadas desde o início do processo e perguntar se com elas é possível obter todas os resultados desejados.

• Armazenar todas as informações separadamente. Existe uma tendência em armazenar informações em um único campo. Por exemplo, o nome do curso e o tempo de duração em uma mesmo campo. Como as duas informações foram combinadas em um único campo, ficará difícil conseguir um relatório classificado pelo tempo de duração dos cursos.

COMO ESCOLHER O CAMPO QUE SERÁ A CHAVE PRIMÁRIA ?

Um bom Sistema Gerenciador de Banco de Dados (SGBD) é aquele que encontra e nos fornece, rapidamente, todas as informações necessárias que nele estejam armazenadas, mesmo que estas informações estejam em diferentes tabelas. Para que isto seja possível é necessário incluir um campo ou conjunto de campos que identifiquem de modo único cada registro de uma tabela. Esta informação é chamada Chave Primária. Deve-se ter certeza que este campo (ou conjunto de campos) seja sempre diferente para cada registro, por não ser permitido valores duplicados em um campo de chave primária.

Ao escolher campos de Chave Primária, considere os seguintes detalhes:

• Não é permitido duplicidade de valores ou nulos (informações desconhecidas).

• Caso não exista um identificador único para uma determinada tabela, pode-se usar um campo que numere os registros seqüencialmente.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 32 de 32

• Pode-se utilizar o valor deste campo para encontrar registros.

• O tamanho da chave primária afeta a velocidade das operações, portanto, para um melhor desempenho, devemos utilizar o menor tamanho que acomode os valores necessários que serão armazenados no campo.

Agora que já revisamos diversos conceitos importantes sobre banco de dados vamos colocá-los em prática, através de um exercício de Projeto de Banco de Dados. Será apresentada uma determinada situação e você deverá projetar o Banco de Dados para atender a Situação Solicitada. Projetar o banco de dados significa fazer um diagrama Entidade x Relacionamentos onde são indicadas quais tabelas farão parte do banco de dados, quais os campos de cada tabela, qual o campo que será a Chave Primária e quais os relacionamentos entre as tabelas. Na figura a seguir temos um exemplo de um diagrama Entidades x Relacionamentos:

Nota: Os campos que aparecem em negrito representam a Chave Primária de cada tabela.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 33 de 33

Exercício: Imagine que você está projetando um Banco de Dados para uma Escola. Este Banco de Dados deverá conter informações sobre os Alunos, os Pais dos Alunos, As matérias em que cada aluno está matriculado (imagine que alunos da mesma série podem estar matriculados em diferentes matérias), as notas do aluno em cada matéria e em cada bimestre, bem como todo o histórico do aluno na escola. O histórico inclui as notas do aluno em cada matéria em cada um dos anos em que ele esteve na escola. O banco de dados deve manter um cadastro de alunos, dos pais dos alunos, das disciplinas ofertadas, da nota de cada aluno em cada disciplina, e em que disciplina cada aluna está matriculado.

O Sistema deverá ser capaz de fornecer, a qualquer momento, a situação atual do aluno em termos de suas notas, bem como todo o seu histórico. O Sistema não deve permitir que seja cadastrado um aluno sem antes serem cadastrados os seus pais. Além disso todo aluno terá um número de matrícula que é único. Cada disciplina também terá um código único.

O Sistema deve ser capaz de emitir relatórios com as notas por turma e por bimestre, além das médias para cada disciplina.

Projete um Banco de Dados capaz de atender a estas necessidades. O Resultado final do seu trabalho será o "Diagrama Entidades x Relacionamentos", com as Tabelas, Campos de Cada Tabela, Chaves Primárias e Relacionamentos entre as tabelas.

Ao Final do Processo, aplique o processo de Normalização para verificar se a estrutura apresenta algum tipo de Problema.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 34 de 34

03) ARQUITETURA DO MICROSOFT ACCESS:

Neste item iremos analisar a Arquitetura do Microsoft Access Veremos os diversos elementos que podem fazer parte de um Banco de Dados do Microsoft Access, bem como os relacionamentos entre estes diversos elementos. Veremos também alguns exemplos práticos de solução de problemas.

Veremos os seguintes tópicos:

• Os diversos elementos do Microsoft Access e a Relação entre os eles.

• Alguns Exemplos de Situações do dia-a-dia

Os Diversos Elementos do Access e a Relação entre eles:

Um banco de dados é uma coleção de informações relacionadas a um determinado assunto ou finalidade, como controle de pedidos dos clientes ou manutenção de uma coleção musical. Se o seu banco de dados não está armazenado em um computador, ou se somente partes dele está, você pode estar controlando informações de uma variedade de fontes, tendo que coordená-las e organizá-las você mesmo.

Um arquivo .mdb é um Banco de Dados do Microsoft Access. Esse banco de dados contém diversos elementos: Tabelas, Consultas, Formulários, Relatórios, Macros e Módulos.

Utilizando o Microsoft Access, você pode gerenciar todas as suas informações a partir de um único arquivo de banco de dados. Dentro do arquivo, divida seus dados em compartimentos de armazenamento separados denominados tabelas (ou entidades); visualize, adicione e atualize os dados da tabela utilizando formulários on-line; localize e recupere apenas os dados desejados utilizando consultas; e analise ou imprima dados em um layout específico utilizando relatórios.

Para armazenar seus dados, crie uma tabela para cada tipo de informação que você registra. Para reunir os dados de várias tabelas em uma consulta, formulário ou relatório, você define relacionamentos entre as tabelas. Aqui nos temos um dois fatos de grande importância:

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 35 de 35

• Todos os dados ficam armazenados nas Tabelas. Quando uma Consulta exibe os resultados com base em um Critério, na verdade ele está buscando os dados em uma determinada tabela. Quando um formulário exibe um determinado registro, ele também está buscando estes dados em uma determinada tabela. No Microsoft Access, o único local onde os dados ficam armazenados é nas tabelas.

• Mesmo que as informações estejam separadas em diferentes tabelas (Clientes, Pedidos, Detalhes do Pedido, etc) é possível reuni-las em Consultas, Relatórios e Formulários. Por exemplo, posso criar um Relatório de Vendas por Cliente, classificados pelo País de Destino.

Na próxima figura vemos os Diversos elementos que formam um Banco de Dados do Microsoft Access, bem como o Relacionamento entre os diversos elementos.

Nunca é demais salientar que o único local onde ficam armazenados os dados é nas tabelas. Por isso que ao construirmos uma consulta, formulário ou relatório, o Microsoft Access solicita os dados para a tabela na qual a consulta, formulário ou relatório está baseado.

Os Diversos Elementos de um Banco de Dados do Microsoft Access.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 36 de 36

Algumas Observações sobre os Elementos do Microsoft Access:

• Observe o Relacionamento que existe entre os Elementos. Uma consulta é baseada em uma tabela, isto é, os dados que a consulta exibe são buscados a partir de uma tabela. Se os dados forem alterados na consulta, na verdade estas alterações são refletidas diretamente na tabela. Por isso uma seta de dupla mão entre tabelas e consultas. As mesmas observações são válidas para a relação entre formulários e tabelas.

• Um relatório também pode ser baseado diretamente em uma consulta, assim como um Formulário também pode ser baseado diretamente em uma Consulta. Quando o Formulário (ou Relatório) é aberto, o Microsoft Access executa a consulta, a qual busca os dados na Tabela, e retorna os dados para o Formulário (Ou Relatório).

• Observe que as Macros e Módulos foram colocados ao redor dos demais elementos. Isto significa que posso ter Macros e Módulos interagindo com qualquer elemento de um banco de dados do Microsoft Access. Por exemplo, posso criar uma macro que Maximize um formulário quando o formulário é aberto. Posso criar um módulo para calcular o Dígito Verificador de um campo CPF, de tal forma que quando um CPF é digitado, o CPF não é aceito se estiver com o Dígito Verificador incorreto.

• Uma situação bastante comum é o caso em que precisamos de um relatório, porém os dados necessários não estão na forma necessária nas tabelas. Neste caso podemos criar uma consulta que selecione os dados necessários e faça as consolidações necessárias e criamos o Relatório baseado nesta consulta e não diretamente na tabela.

Estes seis elementos: Tabelas, Consultas, Formulários, Relatórios, Macros e Módulos podem ser criados e gerenciados a partir da Janela Principal do Banco de Dados do Microsoft Access, conforme indicado a seguir:

Janela "Banco de Dados", dando acesso aos diversos elementos do Microsoft Access.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 37 de 37

Alguns exemplos e situações do dia-a-dia:

Para ilustrar o relacionamento entre os diversos elementos do Microsoft Access, vamos considerar algumas situações usuais do dia-a-dia. Nossas situações serão baseadas no arquivo Pedidos.mdb que faz parte deste treinamento.

Situação 1: Vamos supor que seja solicitado um Relatório com os totais por Pedido. Como atender esta demanda ?

Solução: Os dados necessários não estão disponíveis diretamente na tabela Pedidos. Criaremos uma consulta baseada nas tabelas Pedidos e Detalhes do Pedido. Esta consulta fará o cálculo do total por Número de Pedido. Nosso Relatório será baseado nesta consulta. Quando o Relatório for aberto, a consulta será acionada, buscará os valores nas tabelas Pedidos e Detalhes dos Pedidos, realizará os cálculos e fornecerá os valores para o Relatório. Aprenderemos a criar este tipo de consulta no decorrer deste curso.

Situação 2: Como fazer um relatório que exiba o total de Vendas por país de Destino e por Ano ?

Solução: Novamente os dados necessários não estão disponíveis diretamente nas tabelas Pedidos e Detalhes do Pedido. Crio uma consulta do tipo Tabela de Referência Cruzada, baseada na Consulta que calcula os totais por Pedido. Nesta consulta adiciono um campo para o Ano do Pedido e outro campo para o País de Destino. Crio o meu relatório baseado nesta consulta. Ao ser aberto o Relatório é acionada a consulta do tipo Tabela de Referência Cruzada, a qual por sua vez aciona a Consulta na qual ela é baseada, a qual busca os dados nas tabelas. O Caminho inverso é percorrido, até que os dados são fornecidos para o Relatório, o qual exibe os mesmos na tela ou imprime na Impressora. Aprenderemos a criar este tipo de consulta no decorrer deste curso.

Situação Desafio: Os dados sobre o cabeçalho do Pedido ( tabela Pedidos) e os diversos itens de cada Pedido (Tabela Detalhes do Pedido) estão separados. Como reunir estas informações em um formulário de tal maneira que o mesmo se pareça com uma Nota Fiscal ?

Solução: ?

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 38 de 38

04) Criando um banco de dados com o Microsoft Access

Introdução

Em determinadas situações pode ser necessária a criação de um novo banco de dados. Por exemplo, pode ser que você queira implementar um controle de parcelamentos ou de pagamentos na sua seção. O primeiro passo será projetar o banco de dados, utilizando os conhecimentos apresentados no Item 01. Em seguida precisamos criar um banco de dados. Neste item aprenderemos a criar um banco de dados utilizando o Microsoft Access.

Criando um banco de dados

O Microsoft Access fornece dois métodos para criar um banco de dados. Você pode criar um banco de dados vazio e adicionar as tabelas, formulários, relatórios e outros objetos mais tarde - este é o método mais flexível, mas exige que você defina cada elemento de banco de dados separadamente. Ou você pode utilizar um Assistente de Banco de Dados para criar em uma operação as tabelas, formulários e relatórios necessários para o tipo de banco de dados escolhido - esta é a maneira mais fácil de começar a criar o seu banco de dados, porém com este método você está limitado as definições dos modelos do Microsoft Access. Mesmo utilizando um modelo pronto, você pode, após o banco de dados ter sido criado, fazer as alterações necessárias.

Vamos aprender a criar um banco de dados utilizando os dois métodos descritos:

• Criar um banco de dados utilizando um assistente. • Criar um banco de dados vazio.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 39 de 39

Criando um banco de dados utilizando o Assistente de Banco de Dados

1. Quando o Microsoft Access é iniciado pela primeira vez, uma caixa de diálogo é automaticamente exibida com opções para criar um novo banco de dados ou abrir um já existente. Se essa caixa de diálogo aparecer, clique na opção "Projetos, páginas e assistentes de banco de dados do Access", conforme indicado na figura a seguir e depois dê clique em OK.

Criando um banco de dados utilizando o Assistente.

Se você já tiver aberto um banco de dados ou fechado a caixa de diálogo que aparece quando o Microsoft Access é iniciado pela

primeira vez, clique em Novo Banco de Dados

na barra de ferramentas.

2. Na guia Bancos de Dados, indicada na figura a seguir, são mostrados os diversos modelos disponíveis. Para o nosso exemplo vamos criar um banco de dados para Gerenciamento de Contatos. Selecione o modelo "Gerenciamento de contatos", conforme indicado na figura a seguir e dê um clique no botão OK.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 40 de 40

Criando um banco de dados para Gerenciamento de Contatos.

3. Na próxima etapa você deve especificar a pasta e o nome do novo banco de dados. No nosso exemplo vamos criar um banco de dados chamado contatos.mdb e vamos salvar este banco de dados na pasta C:\CursoAccBasico, conforme indicado na figura a seguir:

Definindo a pasta e o nome do novo banco de dados.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 41 de 41

4. Dê um clique no botão Criar. 5. O Microsoft Access abre o "Assistente de banco de dados".

Utilizaremos as diversas etapas deste assistente para definir as características do banco de dados contatos.mdb que está sendo criado.

6. A Primeira etapa do assistente é simplesmente informativo. Dê um clique no botão Avançar para seguir para a próxima etapa.

7. Na segunda etapa nos definimos quais campos farão parte de cada uma das tabelas predefinidas pelo assistente. Para o modelo selecionado temos as seguintes tabelas: Informações dos contatos, Informações das chamadas e Tipos de contato.

8. Ao clicar no nome de uma tabela, no painel da esquerda, são exibidos os respectivos campos, no painel da direita. Podemos marcar os campos que queremos que sejam criados ou desmarcar os campos que não queremos que sejam criados, conforme indicado na figura a seguir.

Definição das tabelas/campos do banco de dados.

9. Vamos aceitar as configurações sugeridas pelo assistente. Dê um clique no botão Avançar para seguir para a próxima etapa.

10. Na terceira etapa podemos definir o aspecto dos formulários do banco de dados. Vamos aceitar as configurações sugeridas pelo assistente. Dê um clique no botão Avançar para seguir para a próxima etapa.

Nota: Aprenderemos a criar e configurar formulários mais adiante, neste treinamento.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 42 de 42

11. Na quarta etapa podemos definir o aspecto dos relatórios do banco de dados. Vamos aceitar as configurações sugeridas pelo assistente. Dê um clique no botão Avançar para seguir para a próxima etapa.

Nota: Aprenderemos a criar e configurar relatórios mais adiante, neste treinamento.

12. Na quinta etapa podemos definir um título para o banco de dados. Defina o título indicado na figura a seguir e dê um clique no botão Avançar para seguir para a etapa final do assistente.

Definindo um título para o banco de dados.

13. Na etapa final certifique-se de que a opção "Sim, iniciar o banco de dados" esteja marcada, para que o Microsoft Access além de criar o banco de dados, carregue-o para que possamos ver o resultado gerado pelo assistente.

14. Dê um clique no botão Concluir e pronto, o banco de dados será criado e inicializado pelo Microsoft Access.

15. Na figura a seguir temos o banco de dados criado pelo Assistente, pronto para ser utilizado.

Nota: No decorrer deste curso aprenderemos a criar e configurar os diversos elementos que compõem um banco de dados do Microsoft Access: Tabelas, Consultas, Formulários, Relatórios e Macros. Sobre Macros veremos apenas uma pequena introdução, pois Macros e Módulos é assunto para o curso de Access Avançado.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 43 de 43

Banco de dados contatos.mdb, recém criado pelo assistente de banco de dados.

Criando um banco de dados vazio

O uso do assistente para a criação de banco de dados é fácil e rápido. Porém o assistente é bastante limitado. Quando queremos criar um banco de dados para situações específicas, onde temos que definir todos os elementos do banco de dados, é mais prático criarmos um banco de dados vazio e depois ir criando os diversos elementos que farão parte do banco de dados. Neste item aprenderemos a criar um banco de dados vazio. Nos próximos itens deste treinamento, aprenderemos a criar os diversos elementos que compõem um banco de dados do Microsoft Access.

Para criar um banco de dados vazio chamado ExTabelas.mdb, na pasta C:\CursoAccBasico, faça o seguinte:

1. Quando o Microsoft Access é iniciado pela primeira vez, uma caixa de diálogo é automaticamente exibida com opções para criar um novo banco de dados ou abrir um já existente. Nesta caixa de diálogo dê um clique na opção "Banco de dados vazio do Access" conforme indicado na figura a seguir e depois dê um clique em OK.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 44 de 44

Criando um banco de dados vazio.

Nota: Se você já tiver aberto um banco de dados ou fechado a caixa de diálogo que aparece quando o Microsoft Access é iniciado pela primeira vez, clique no botão "Novo Banco de Dados" na barra de ferramentas e depois clique duas vezes no ícone Banco de Dados Vazio na guia Geral.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 45 de 45

2. Nesta etapa você deve especificar a pasta e o nome do novo banco de dados. No nosso exemplo vamos criar um banco de dados chamado ExTabelas.mdb e vamos salvar este banco de dados na pasta C:\CursoAccBasico, conforme indicado na figura a seguir:

Criando o banco de dados ExTabelas.mdb na pasta C:\CursoAccBasico

Importante: O Microsoft Access cria um banco de dados com a extensão .MDB e um arquivo com a extensão .LDB. O arquivo de extensão LDB é criado automaticamente e é usado para controlar bloqueio em ambiente multiusuário. Num ambiente multiusuário cada usuário que abre um banco de dados tem uma entrada neste arquivo .LDB. O Microsoft Access usa essa informação para dizer quais registros estão bloqueados em um banco de dados e quem os bloqueou, para prevenir possíveis erros e danos do banco de dados por múltiplos usuários. Se você copia um banco de dados do Microsoft Access (extensão MDB) para um diretório qualquer, não é preciso levar o arquivo de extensão LDB, pois o próprio Access tenta recriar o arquivo se ele não estiver presente.

2. Dê um clique no botão Criar e pronto, o banco de dados ExTabelas.mdb será criado na pasta C:\CursoAccBasico e o Microsoft Access abre o banco de dados.

3. Após criar um banco de dados vazio, você deve seguir os passos adicionais para definir os objetos que irão compor o seu banco de dados, conforme veremos no restante deste treinamento.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 46 de 46

05) Criação de tabelas com o Microsoft Access

A Janela de Banco de Dados

Após ter criado um Banco de Dados vazio ou aberto um Banco de Dados existente, o Microsoft Access exibe a janela de Banco de Dados, conforme indicado na figura a seguir:

A janela Banco de dados.

Nesta janela temos acesso a todos os elementos de um banco de dados. Conforme descrito anteriormente, neste curso básico, aprenderemos a trabalhar com os seguintes elementos:

• Tabelas • Consultas • Formulários • Relatórios • Macros (aspectos básicos)

Vamos iniciar o nosso estudo aprendendo a criar tabelas. Vamos criar algumas tabelas no banco de dados ExTabelas, criado anteriormente. Em seguida criaremos alguns relacionamentos. Na seqüência vamos inserir alguns dados.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 47 de 47

Como criar tabelas com o Microsoft Access?

O principal elemento de um banco de dados do Microsoft Access são as suas tabelas. Todos os dados ficam armazenados em tabelas. Os demais elementos do banco de dados (consultas, formulários, relatórios, módulos e páginas) utilizam os dados armazenados em tabelas.

Vamos aprender a criar tabelas fazendo um exemplo prático. No DER (Diagrama Entidades x Relacionamentos) a seguir, temos uma visão geral das tabelas (e dos campos de cada tabela) a serem criadas no banco de dados.

Tabelas que serão criadas no banco de dados ExTabelas.mdb.

Vamos criar, inicialmente, a tabela Contribuintes. Aprenderemos, passo a passo, a criar esta tabela. Na seqüência, a título de exercício, serão criadas as demais tabelas, com base nas explicações apresentadas durante a criação da tabela Contribuintes.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 48 de 48

Criando a tabela Contribuintes!

Para criar a tabela contribuintes faça o seguinte:

• Abra o banco de dados ExPedidos.mdb que está na pasta C:\CursoAccBasico. • Na janela banco de dados dê um clique na guia Tabelas. • Dê um clique duplo na opção "Criar tabela no modo estrutura", conforme indicado na figura a seguir:

Criando uma nova tabela no modo estrutura.

CONCEITO IMPORTANTE As tabelas tem dois modos possíveis:

• Modo estrutura • Modo folha de dados

O modo estrutura é onde definimos quais campos farão parte da tabela e quais as características de cada campo. Como o próprio nome sugere, é onde definimos a estrutura da tabela. A definição da estrutura é o primeiro passo na criação de uma tabela. Após termos definido a estrutura, a tabela está pronta para receber dados.

Para inserirmos dados em uma tabela utilizamos o modo folha de dados. A tabela no modo folha de dados nada mais é do

que uma grade (muito parecida com uma planilha do Excel), onde podemos inserir dados, alterar dados ou, até mesmo, excluir registros.

Para alterarmos entre o Modo estrutura e o Modo folha de dados podemos utilizar os seguintes comandos:

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 49 de 49

• Exibir -> Modo estrutura • Exibir -> Modo folha de dados

Também podemos utilizar o primeiro botão da barra de ferramentas.

• Quando estamos no Modo estrutura o referido botão

tem o seguinte aspecto: . Ao clicarmos neste botão, estando no modo estrutura, iremos alternar para o modo Folha de dados. • Quando estamos no modo Folha de dados o referido

botão tem o seguinte aspecto:

. Ao clicarmos neste botão, estando no modo Folha de dados, iremos alternar para o Modo estrutura.

• Ao dar um clique duplo na opção "Criar tabela no modo estrutura", será aberta a janela indicada na figura a seguir. Este é o Modo estrutura da tabela, onde iremos definir quais os campos farão parte da tabela Contribuintes:

Janela para a criação de uma nova tabela.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 50 de 50

• Cada campo da nova tabela que está sendo criada é definido em uma linha da grade onde aparece as colunas Nome do campo, Tipo de dados e Descrição. • A tabela Contribuintes terá os seguintes campos:

CPF Nome Rua Bairro Cidade CEP Fone DataDeNascimento Email

Coluna Nome dos Campos:

Nesta coluna definimos o nome dos campos que farão parte da tabela. No Microsoft Access, os nomes podem ter até 64 caracteres, desde que o primeiro seja uma letra do alfabeto, podendo ser usado ainda os caracteres, sublinhado (_) e espaço em branco.

Dicas: Tenha cuidado quando da definição de nomes de campos pois usar acentos, cedilha e outros tipos de caracteres especiais, requer do usuário atenção especial, quando precisar se referir a estes nomes em outros objetos do Banco de Dados, como Consultas, Formulários, Relatórios, Macros e Procedimentos e/ou Funções. Evite incluir espaços nos nomes dos objetos se você pretende fazer referência a eles em expressões ou em códigos do Visual Basic com freqüência. Ao se referir a campos de tabelas em outros objetos, se o nome do campo contiver um espaço em branco, você deve se referir a este campo usando os colchetes, como por exemplo, [Código do Cliente]. Evite utilizar nomes extremamente longos porque são difíceis de lembrar e fazer referência.

Coluna Tipo de Dados: • Tipo de dados de um campo determina que espécie de dados pode ser armazenada. Por exemplo, os tipos de dados de campo Texto e Memorando permitem que o campo armazene tanto texto quanto números, mas o tipo de dados Número só permite que números sejam armazenados no campo. Os campos do tipo de dados Número armazenam dados numéricos que serão utilizados nos cálculos matemáticos. Utilize o tipo de dados Moeda para exibir ou calcular valores monetários.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 51 de 51

• Na tabela a seguir, temos uma descrição para os principais tipos de dados do Microsoft Access:

Tipo de Dados Utilize Para Tamanho

Texto Texto ou combinações de textos e números, como endereços. Também números que não exijam cálculos, como números de telefone, de série ou códigos postais.

Até 255 caracteres. O Microsoft Access só armazena os caracteres inseridos em um campo; ele não armazena caracteres de espaço para posições não utilizadas em um campo Texto. Para controlar o número máximo de caracteres que podem ser inseridos, defina a propriedade Tamanho Do Campo.

Memorando Textos e números muito extensos, como anotações ou descrições.

Até 64.000 caracteres.

Número Dados numéricos a serem utilizados em cálculos matemáticos, exceto cálculos envolvendo dinheiro (utilize o tipo Moeda).

1, 2, 4 ou 8 bytes. 16 bytes, somente para código de Replicação (GUID).

Data/Hora Datas e horas. 8 bytes. Moeda Valores monetários. Utilize o

tipo de dados Moeda para evitar o arredondamento durante os cálculos. Precisão de 15 dígitos à esquerda do

ponto decimal e quatro dígitos à direita.

8 bytes.

AutoNumeração Números seqüenciais (incrementados em 1) ou aleatórios exclusivos, inseridos automaticamente quando um registro é adicionado.

4 bytes. 16 bytes, somente para código de Replicação (GUID).

Sim/Não Campos que irão conter somente um entre dois valores, como Sim/Não, Verdadeiro/Falso ou Ativado/Desativado.

1 bit.

Objeto OLE Objetos (como documentos do Microsoft Word, planilhas do Microsoft Excel, figuras, sons ou outros dados binários) criados

em outros programas utilizando o protocolo OLE, e que podem estar vinculados ou incorporados em uma tabela do Microsoft Access. Você precisa utilizar uma moldura de objeto acoplado em um formulário ou relatório para exibir o objeto OLE.

Até 1 gigabyte (limitado pelo espaço em disco).

(Será tratado no curso avançado)

Hyperlink O campo que irá armazenar hyperlinks. Um hyperlink pode ser um caminho UNC ou um URL.

Até 64.000 caracteres. (Será tratado no curso avançado)

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 52 de 52

Assistente de Pesquisa

Cria um campo

que permite que

você escolha um valor a partir de uma outra tabela ou a partir de uma lista de valores, utilizando uma caixa de combinação. A escolha dessa opção na lista de tipos de dados inicia um assistente para definir isso para você.

O mesmo tamanho

que o campo de

chave primária que também é o campo Pesquisa, normalmente 4 bytes.

• Considere as seguintes dicas sobre a coluna Tipo de dados:

Dicas:

• Os tipos de dados Número, Data/Hora, Moeda e Sim/Não fornecem formatos de exibição predefinidos. Defina a propriedade Formato para escolher dentre os formatos disponíveis para cada tipo de dados. Você também pode criar um formato de exibição personalizado para todos os tipos de dados, exceto o tipo de dados Objeto OLE. Para definir formatos personalizados, utilizaremos a propriedade Formato, conforme descrito mais adiante.

• Quando o usuário exclui registros, o campo AutoNumeração não reaproveita os números que foram excluídos. Se o usuário incluiu 10 registros numa tabela, o campo AutoNumeração inclui automaticamente números de 1 a 10. Ao incluir mais um registro o campo AutoNumeração passa a incrementar a partir do número 11. Ele guarda o último número que foi incluído na tabela.

• Quando você altera um tipo de dados de campo depois de inserir os dados em uma tabela, o processo de conversão de dados será bem mais demorado quando a tabela for salva. Se os tipos de dados forem conflitantes, poderá ocorrer uma perda de dados, porém uma mensagem de advertência será emitida antes da tabela ser efetivamente salva.

Coluna Descrição: Um texto descritivo que serve como comentário/documentação,

procurando descrever qual a função do campo. • Como estamos no Modo estrutura da nova tabela que está sendo criada vamos começar a definir os campos da tabela Contribuintes. • Vamos iniciar pela definição do campo CPF. • Na coluna Nome do campo da primeira linha, digite CPF. • Na coluna Tipo de dados selecione Texto. Estamos utilizando Texto para o CPF, por causa dos pontos e do traço que fazem parte do CPF.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 53 de 53

• Na coluna descrição digite: CPF do Contribuinte, conforme indicado na figura a seguir:

Iniciando a definição do campo CPF.

• Observe que após definir o nome e o tipo do campo surge, na parte de baixa da janela, uma série de propriedades referentes ao campo que está sendo definido. Estas propriedades definem características adicionais para cada campo. Para cada tipo de campo (texto, número, moeda, etc) temos um diferente conjunto de propriedades, porém existem propriedades comuns a qualquer tipo de campo. • Cada campo possui um conjunto de propriedades que você utiliza para personalizar a forma como os dados do campo são armazenados, manipulados ou exibidos. Você pode, por exemplo, controlar o número máximo de caracteres que podem ser inseridos em um campo Texto, definindo sua propriedade Tamanho do Campo. As propriedades de um campo são definidas exibindo uma tabela no modo Estrutura, selecionando o campo na parte superior da janela e, em seguida, selecionando a propriedade desejada na parte inferior da janela. • As propriedades disponíveis para cada campo são determinadas pelo tipo de dados que você seleciona para o campo. • Vamos estudar as diversas propriedades existentes.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 54 de 54

Propriedade Tamanho do Campo:

Você pode utilizar a propriedade Tamanho do Campo para definir o tamanho máximo dos dados armazenados em um campo definido como do tipo de dados Texto, Número ou AutoNumeração.

Considere as seguintes observações:

• Se a propriedade Tipo de Dados estiver definida como Texto, digite um número de 0 a 255. A definição padrão é 50.

• Se a propriedade Tipo de Dados estiver definida como AutoNumeração, a propriedade Tamanho do Campo poderá ser definida como Inteiro Longo ou Código de Replicação.

• Se a propriedade Tipo de Dados estiver definida como Número, as definições da propriedade Tamanho do Campo e seus valores estarão relacionados da forma a seguir.

Definição Descrição Precisão decimal

Espaço de Armazenamento

Byte Armazena números de 0 a 255 (não-fracionários).

Nenhuma 1 byte

Inteiro Armazena números de –32.768 a 32.767 (não-fracionários).

Nenhuma 2 bytes

Inteiro Longo

(Padrão)Armazena números de -2.147.483.648 a 2.147.483.647 (não-fracionários).

Nenhuma 4 bytes

Simples Armazena números de –3,402823E38 a –1,401298E–45 para valores negativos e de 1,401298E–45 a 3,402823E38 para valores positivos.

7 4 bytes

Duplo Armazena números de –1,79769313486231E308 a –4,94065645841247E–324 para valores negativos e de

15 8 bytes

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 55 de 55

1,79769313486231E308 a 4,94065645841247E–324 para valores positivos.

Código de Replicação

Identificador Globalmente Exclusivo (GUID)

N/D 16 bytes

Comentários:

Você deve utilizar a menor definição possível na propriedade Tamanho do Campo porque tamanhos de dados menores podem ser processados mais rapidamente e requerem menos memória e menos espaço para armazenamento em disco.

Cuidado: Se converter uma definição Tamanho do Campo grande em uma menor em um campo que já contenha dados, você poderá perder dados. Por exemplo, se alterar a definição Tamanho do Campo de 255 para 50 em um campo com um tipo de dados Texto, os dados além dos primeiros 50 caracteres serão descartados.

Se os dados em um campo do tipo de dados Número não couberem em uma nova definição de Tamanho do Campo, os números fracionários podem ser arredondados ou você pode obter um valor Nulo. Por exemplo, se você alterar o tamanho de um campo de Simples para Inteiro, os valores fracionários serão arredondados para o número inteiro mais próximo e os valores maiores que 32.767 ou menores que –32.768 resultarão em campos nulos.

Você não pode desfazer alterações em dados que sejam resultado de uma alteração na propriedade Tamanho do Campo após salvar essas alterações no modo Estrutura de tabela.

Dica: Você pode utilizar o tipo de dados Moeda se estiver planejando efetuar muitos cálculos em um campo que contenha dados com uma a quatro casas decimais. Os campos dos tipos de dados Simples e Duplo requerem cálculo de ponto flutuante. Os campos com tipos de dados Moeda utilizam um cálculo de ponto fixo mais rápido.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 56 de 56

Propriedade Formato:

Você pode utilizar a propriedade Formato para personalizar a maneira como números, datas, horas e texto são exibidos e impressos. Por exemplo, se você criou uma caixa de texto Preço, pode definir sua propriedade Formato como Moeda e sua propriedade Casas Decimais como 2 ou Automático. Se você inserisse 4321,678 no controle, o número seria exibido como R$4.321,68.

É possível utilizar um dos formatos predefinidos ou criar um formato personalizado utilizando símbolos de formatação.

Definição:

A propriedade Formato utiliza definições diferentes para tipos de dados diferentes:

• Tipo de dados Data/Hora • Tipos de dados Número e Moeda • Tipos de dados Texto e Memorando • Tipo de dados Sim/Não

Comentários:

• A propriedade Formato só afeta a maneira como os dados são exibidos. Ela não afeta a maneira como os dados são armazenados. Por exemplo, podemos criar um formato para o campo Nome, de tal forma que o nome seja sempre exibido em letras maiúsculas. Mesmo que você digite um nome em letras minúsculas, este será exibido no vídeo ou impresso em letras maiúsculas, embora internamente o Microsoft Access esteja armazenando o nome da maneira como ele foi digitado.

• O Microsoft Access fornece formatos predefinidos para tipos de dados Data/Hora, Número e Moeda, Texto e Memorando e Sim/Não. Os formatos predefinidos dependem do país especificado quando se clica duas vezes em Configurações Regionais no Painel de Controle do Windows. O Microsoft Access exibe formatos apropriados para o país selecionado. Por exemplo, com Inglês (EUA) selecionado na guia Configurações Regionais, 1234,56 no formato Moeda aparecerá como $1,234.56, mas quando Inglês (Britânico) estiver selecionado na guia Configurações Regionais, o número aparecerá como £1,234.56.

• Se você definir a propriedade Formato de um campo no modo Estrutura de tabela, o Microsoft Access utilizará esse formato para exibir dados em folhas de dados. Ele também aplica a propriedade Formato do campo a controles novos em formulários e relatórios.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 57 de 57

• Você não pode misturar símbolos de formatação personalizados para os tipos de dados Número e Moeda com os símbolos de formatação de Data/Hora, Sim/Não ou Texto e Memorando.

• Quando você tiver definido uma máscara de entrada e definir a propriedade Formato para os mesmos dados, a propriedade Formato tem precedência quando os dados são exibidos e a máscara de entrada é ignorada. Por exemplo, se você criar uma máscara de entrada Senha no modo Estrutura de tabela e também definir a propriedade Formato para o mesmo campo, seja na tabela ou em um controle de um formulário, a máscara de entrada Senha será ignorada e os dados serão exibidos conforme a propriedade Formato.

Você pode utilizar os símbolos a seguir em formatos personalizados para qualquer tipo de dados.

Símbolo Significado (Espaço)

Exibe espaços como caracteres literais

"ABC" Exibe como caracteres literais o que estiver entre aspas.

! Força alinhamento à esquerda em vez de à direita.

* Preenche o espaço disponível com o próximo caractere.

\ Exibe o próximo caractere como um caractere literal. Você pode também exibir caracteres literais colocando-os entre aspas.

[cor] Exibe os dados formatados na cor especificada entre os colchetes. Cores disponíveis: Preto, Azul, Verde, Ciano, Vermelho, Magenta, Amarelo, Branco.

Dependendo do tipo do dado podemos usar diferentes caracteres para definir a propriedade Formato. A seguir vamos apresentar os caracteres que podem ser utilizados para definir a formatação, para os seguintes tipos de dados:

• Tipo de dados Data/Hora

• Tipos de dados Número e Moeda

• Tipos de dados Texto e Memorando

• Tipo de dados Sim/Não

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 58 de 58

Definindo a propriedade formato para campos do tipo Data/Hora:

É possível definir a propriedade Formato com os formatos de data e hora predefinidos ou utilizar formatos personalizados para o tipo de dados Data/Hora.

Formatos Predefinidos

A tabela a seguir mostra as configurações predefinidas da propriedade Formato para o tipo de dados Data/Hora.

Configuração Descrição

Data Geral (Padrão) Se o valor for apenas uma data, nenhuma hora será exibida; se o valor for apenas uma hora, nenhuma data será exibida. Essa configuração é uma combinação das definições Data Abreviada e Hora Completa.

Exemplos: 3/4/93, 17:34:00 e 3/4/93 05:34:00.

Data Completa O mesmo que a configuração Data Completa na caixa de diálogo Propriedades de configurações regionais do Painel de controle do Windows.

Exemplo: Sábado, 3 de abril de 1993.

Data Normal Exemplo: 3-Abr-93.

Data Abreviada O mesmo que a definição Data Abreviada na caixa de diálogo Propriedades de configurações regionais no Painel de controle do Windows.

Exemplo: 3/4/93.

Aviso: A definição Data Abreviada considera que datas entre 1/1/00 e 31/12/29 são datas do século 21 (isto é, considera que os anos sejam de 2000 a 2029). Datas entre 1/1/30 e 31/12/99 são consideradas datas do século 20 (isto é, considera-se que os anos sejam 1930 a 1999).

Hora Completa O mesmo que a definição da guia Hora na caixa de diálogo Propriedades de configurações regionais do Painel de controle do Windows.

Exemplo: 17:34:23 PM.

Hora Normal Exemplo: 05:34 PM.

Hora Abreviada Exemplo: 17:34.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 59 de 59

Formatos Personalizados:

É possível criar formatos de data e hora personalizados utilizando os símbolos a seguir.

Símbolo Descrição

: (dois pontos) Separador de hora. Os separadores são definidos na caixa de diálogo Propriedades de configurações regionais do Painel de controle do Windows.

/ Separador de data.

c O mesmo que o formato predefinido Data Geral.

d Dia do mês em um ou dois dígitos numéricos, conforme necessário (de 1 a 31).

dd Dia do mês em dois dígitos numéricos (de 01 a 31).

ddd As três primeiras letras do dia da semana (de dom a sáb).

dddd O nome completo do dia da semana (de domingo a sábado).

ddddd O mesmo que o formato predefinido Data Abreviada.

dddddd O mesmo que o formato predefinido Data Completa.

w Dia da semana (de 1 a 7).

ww Semana do ano (de 1 a 53).

m O mês do ano em um ou dois dígitos numéricos, conforme necessário (de 1 a 12).

mm O mês do ano em dois dígitos numéricos (de 01 a 12).

mmm As três primeiras letras do mês (de Jan a Dez).

mmmm O nome completo do mês (de janeiro a dezembro).

q A data exibida como trimestre do ano (de 1 a 4).

y O número do dia do ano (de 1 a 366).

yy Os dois últimos dígitos do ano (de 01 a 99).

yyyy O ano completo (de 0100 a 9999).

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 60 de 60

h A hora em um ou dois dígitos, conforme necessário (de 0 a 23).

hh A hora em dois dígitos (de 00 a 23).

n O minuto em um ou dois dígitos, conforme necessário (de 0 a 59).

nn O minuto em dois dígitos (de 00 a 59).

s O segundo em um ou dois dígitos, conforme necessário (de 0 a 59).

ss O segundo em dois dígitos (de 00 a 59).

TTTTT O mesmo que o formato predefinido Hora Completa.

AM/PM Relógio de doze horas com as letras maiúsculas "AM" ou "PM", conforme apropriado.

am/pm Relógio de doze horas com as letras minúsculas "am" ou "pm", conforme apropriado.

A/P Relógio de doze horas com a letra maiúscula "A" ou "P", conforme apropriado.

a/p Relógio de doze horas com a letra minúscula "a" ou "p", conforme apropriado.

AMPM Relógio de doze horas com o designador de manhã/tarde apropriado conforme definido na caixa de diálogo Propriedades de configurações regionais do Painel de controle do Windows.

Os formatos personalizados são exibidos conforme as configurações especificadas na caixa de diálogo Propriedades de configurações regionais do Painel de controle do Windows. Os formatos personalizados inconsistentes com as configurações especificadas na caixa de diálogo Propriedades de configurações regionais são ignorados.

Observação: Se você quiser adicionar uma vírgula ou outro separador ao seu formato personalizado, coloque o separador entre aspas, assim: mmm d", "yyyy.

A seguir temos alguns exemplos de definição da propriedade formato para dados do tipo Data/Hora.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 61 de 61

Configuração Exibição

ddd", "d" de "mmm" de "yyyy Dom, 2 de jun de 1997

mmmm dd", "yyyy junho 02, 1997

"Esta é a semana de número "ww Esta é a semana de número 22

"Hoje é "dddd Hoje é terça-feira

dd\/mm\/yyyy 23/01/2002

É possível utilizar um formato personalizado para exibir "A.C." antes ou "D.C." após um ano dependendo de um número positivo ou negativo ter sido inserido. Para ver esse formato personalizado funcionar, crie um novo campo de tabela, defina seu tipo de dados como Número e insira um formato, conforme a seguir:

"A.D. " #;# " A.C."

Os números positivos serão exibidos como anos com um "D.C." antes do ano. Os números negativos serão exibidos como anos com um "A.C." após o ano.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 62 de 62

Definindo a propriedade formato para campos do tipo Número e Moeda:

Você pode definir a propriedade Formato com formatos de número predefinidos ou personalizados para os tipos de dados Número e Moeda.

Formatos predefinidos

A tabela a seguir mostra as definições predefinidas da propriedade Formato para números.

Configuração Descrição

Número Geral (Padrão) Exibe o número como foi inserido.

Moeda Use o separador de milhar; siga as configurações especificadas na caixa Configurações regionais

no Painel de controle

do Windows para valores negativos, símbolos de moedas e decimais além de casas decimais.

Euro Use o formato de moeda, com o símbolo do euro, independente do símbolo de moeda especificado na caixa Configurações regionais no Painel de controle.

Fixo Exiba pelo menos um dígito; siga as configurações especificadas na caixa Configurações regionais

no Painel de controle

do Windows para valores negativos, símbolos de moedas e decimais além de casas decimais.

Padrão Use o separador de milhar; siga as configurações especificadas na caixa Configurações regionais

no Painel de controle

do Windows para valores negativos, símbolos e casas decimais.

Porcentagem Multiplique o valor por 100 e acrescente um sinal de porcentagem (%); siga as configurações especificadas na caixa Configurações regionais

no Painel de controle

do Windows para valores negativos, símbolos e casas decimais.

Científico Utiliza notação científica padrão.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 63 de 63

Formatos personalizados

Os formatos numéricos personalizados podem ter até quatro seções com pontos-e-vírgulas (;) como separador de listas. Cada seção contém a especificação de formato para um tipo diferente de número.

Seção Descrição

Primeira O formato para números positivos.

Segunda O formato para números negativos.

Terceira O formato para valores zero.

Quarta O formato para valores Nulos.

Nota: Nulo (Null) é Um valor que indica dados ausentes ou desconhecidos em um campo. Você pode usar valores Null em expressões. Valores Null podem ser inseridos em campos dos quais informações são desconhecidas, assim como em expressões e consultas. No Visual Basic, a palavra-chave Null indica um valor Null. Alguns campos, como aqueles definidos como contendo a chave primária, não podem conter valores Null.

Por exemplo, você poderia utilizar o formato personalizado Moeda a seguir:

$#,##0.00[Verde];($#,##0.00)[Vermelho];"Zero";"Nulo"

Esse formato de número contém quatro seções separadas por pontos-e-vírgulas e utiliza um formato diferente para cada seção.

Quando você utiliza várias seções, mas não especifica um formato para cada uma, as entradas para as quais não há formatação não exibem nada ou utilizam por padrão a formatação da primeira seção.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 64 de 64

É possível criar formatos numéricos personalizados utilizando os símbolos a seguir.

Símbolo Descrição

, (vírgula) Separador decimal. Os separadores são definidos clicando-se duas vezes em Configurações regionais

no Painel de controle do Windows.

. (ponto) Separador de milhar.

0 Marcador de dígito. Exibe um dígito ou 0.

# Marcador de dígito. Exibe um dígito ou nada.

$ Exibe o caractere literal "$".

% Porcentagem. O valor é multiplicado por 100 e um símbolo de porcentagem é acrescentado.

E– ou e– Notação científica com um sinal de subtração (–) ao lado de expoentes negativos e nada ao lado de expoentes positivos. Esse símbolo precisa ser utilizado com outros símbolos, como em 0,00E–00 ou 0,00E00.

E+ ou e+ Notação científica com um sinal de subtração ao lado de expoentes negativos e um sinal de adição (+) ao lado de expoentes positivos. Esse símbolo precisa ser utilizado com outros símbolos, como em 0,00E+00.

Comentários:

É possível utilizar a propriedade CasasDecimais para ignorar o número padrão de casas decimais para o formato predefinido especificado para a propriedade Formato.

Os formatos de moeda e do euro predefinidos seguem as configurações especificadas na caixa Configurações regionais no Painel de controle do Windows. Você pode sobrescrever essas configurações inserindo seu próprio formato de moeda.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 65 de 65

Seguem exemplos dos formatos de número predefinidos:

Configuração

Dados Exibição

Número Geral

3456,789 –3456,789 $213,21

3456,789 –3456,789 $213,21

Moeda 3456,789 –3456,789

$3.456,79 ($3.456,79)

Fixo 3456,789 –3456,789 3,56645

3456,79 –3456,79 3,57

Padrão 3456,789 3.456,79

Porcentagem 3 0,45

300% 45%

Científico 3456,789 –3456,789

3,46E+03 –3,46E+03

Seguem exemplos de formatos de número personalizados:

Configuração Descrição

0;(0);;"Nulo" Exibe valores positivos normalmente; exibe valores negativos entre parênteses; exibe a palavra "Nulo" se o valor for Nulo.

+0,0;–0,0;0,0 Exibe uma sinal de adição (+) ou subtração (–) com números positivos ou negativos; exibe 0,0 se o valor for zero.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 66 de 66

Definindo a propriedade formato para campos do tipo Texto e Memorando:

É possível utilizar símbolos especiais na configuração da propriedade Formato para criar formatos personalizados para campos Texto e Memorando.

Configuração:

É possível criar formatos texto e memorando personalizados utilizando os símbolos a seguir.

Símbolo Descrição

@ Um caractere de texto (um caractere ou um espaço) é requerido.

& Um caractere de texto não é requerido.

> Força todos os caracteres para maiúsculos.

< Força todos os caracteres para minúsculos.

Os formatos personalizados para campos Texto e Memorando podem ter até duas seções. Cada seção contém a especificação de formato para dados diferentes em um campo.

Seção Descrição

Primeira Formato para campos com texto.

Segunda Formato para campos com valores seqüências comprimento zero e Nulos.

Nota: Valores seqüenciais de comprimento zero seqüência de comprimento zero é uma seqüência sem caracteres. Você pode usar uma seqüência de comprimento zero para indicar que não há valor para um campo. Você insere uma seqüência de comprimento zero, digitando duas aspas duplas sem espaço entre elas (""). Em um banco de dados do Microsoft Access, você pode inserir seqüências de comprimento zero nos campos Texto, Memorando ou Hyperlink se definir a propriedade Permitir Comprimento Zero do campo como Sim. Em um projeto do Microsoft Access, você pode inserir seqüências de comprimento zero em campos varchar e nvarchar. Não é possível inserir seqüências de comprimento zero em outros tipos de campos. Não há suporte para as seqüências de comprimento zero no SQL Server 6.5.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 67 de 67

Por exemplo, se você tivesse um controle caixa de texto no qual quisesse que a palavra "Nenhum" aparecesse quando não houvesse seqüência alguma no campo, você poderia digitar o formato personalizado @;"Nenhum" como definição da propriedade Formato do controle. O símbolo @ faz com que o texto do campo seja exibido; a segunda seção faz com que a palavra "Nenhum" apareça quando há uma seqüência de comprimento zero ou valor Nulo no campo.

A seguir estão dois exemplos de formatos personalizados de texto e memorando:

Configuração Dados Exibição

@@@-@@-@@@@ 465043799 465-04-3799

@@@@@@@@@ 465-04-3799 465043799

465-04-3799 465043799

> davolio DAVOLIO Davolio

DAVOLIO DAVOLIO DAVOLIO

< davolio DAVOLIO Davolio

davolio davolio davolio

@;"Desconhecido" Valor Null Desconhecido

@;"Desconhecido" Seqüência de comprimento zero

Desconhecido

@;"Desconhecido" Qualquer texto O mesmo texto inserido é exibido

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 68 de 68

Definindo a propriedade formato para campos do tipo Sim/Não:

É possível definir a propriedade Formato com os formatos predefinidos Sim/Não, Verdadeiro/Falso ou Ativado/Desativado, ou com um formato personalizado para o tipo de dados Sim/Não.

Configuração:

O Microsoft Access utiliza um controle caixa de seleção como controle padrão para o tipo de dados Sim/Não. Os formatos predefinidos e personalizados são ignorados quando um controle caixa de seleção é utilizado. Portanto, esses formatos só se aplicam a dados que são exibidos em um controle caixa de texto.

Formatos Predefinidos

A propriedade Formato fornece os formatos predefinidos Sim/Não, Verdadeiro/Falso e Ativado/Desativado. Sim, Verdadeiro e Ativado são equivalentes, tal como Não, Falso e Desativado. Se você especificar um formato predefinido e então inserir um valor equivalente, o formato predefinido do valor equivalente será exibido. Por exemplo, se você inserir Verdadeiro ou Ativado em um controle caixa de texto com sua propriedade Formato definida como Sim/Não, o valor será automaticamente convertido em Sim.

Formatos Personalizados

O tipo de dados Sim/Não pode utilizar formatos personalizados contendo até três seções:

Seção Descrição

Primeira Essa seção não afeta o tipo de dados Sim/Não. Entretanto, um ponto-e-vírgula (;) é requerido como marcador.

Segunda O texto a ser exibido no lugar de valores Sim, Verdadeiro ou Ativado.

Terceira O texto a ser exibido no lugar de valores Não, Falso ou Desativado.

O exemplo a seguir mostra um formato personalizado sim/não para um controle caixa de texto. O controle exibe a palavra "Sempre" em texto azul para Sim, Verdadeiro ou Ativado, e a palavra "Nunca" em texto vermelho para Não, Falso ou Desativado.

;"Sempre"[Azul];"Nunca"[Vermelho]

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 69 de 69

Propriedade Casas decimais: Você pode utilizar a propriedade Casas Decimais para especificar o número de casas decimais que o Microsoft Access utiliza para exibir números.

Definição:

A propriedade Casas Decimais utiliza as definições a seguir.

Definição Descrição

Automático

(Padrão) Os números aparecem como especificado pela definição da propriedade Formato.

de 0 a 15 Os dígitos à direita do separador decimal aparecem com o número especificado de casas decimais; os dígitos à esquerda do separador decimal aparecem como especificado pela definição da propriedade Formato.

Observação: A definição da propriedade Casas Decimais não tem efeito se a propriedade Formato estiver vazia ou definida como Número Geral.

Comentários:

• A propriedade Casas Decimais afeta somente o número de casas decimais que aparecem, e não a quantidade de casas decimais armazenadas. Para alterar a maneira como um número é armazenado, você deve alterar a propriedade Tamanho do Campo no modo Estrutura de tabela.

• Você pode utilizar a propriedade Casas Decimais para exibir números de maneira diferente da definição da propriedade Formato ou da maneira como eles estão armazenados. Por exemplo, a definição Moeda da propriedade Formato exibe somente duas casas decimais ($5,35). Para exibir números Moeda com quatro casas decimais (por exemplo, $5,3523), defina a propriedade Casas Decimais como 4.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 70 de 70

Propriedade Máscara de entrada: É possível utilizar a propriedade Máscara De Entrada para tornar a entrada de dados mais fácil e para controlar os valores que os usuários podem inserir em um controle caixa de texto. Por exemplo, você poderia criar uma máscara de entrada para um campo Telefone que mostrasse exatamente como digitar um novo número: (0## ##) ####-#### ou como digitar um CPF: ###.###.###-##.

Ao definir uma máscara de entrada nos estamos informando ao Microsoft Access que somente devem ser aceitos dados no formato definido pela máscara. Por exemplo, se for digitado um CPF como 1111.111.11-11 ou 11.111.111-111, este não será aceito por não estar no formato padrão definido pela máscara que é 111.111.111-11.

Importante: A Máscara de entrada não tem nada a ver com o cálculo do Dígito Verificador. O cálculo do DV tem que ser feito utilizando recursos de programação do VBA - Visual Basic for Applications, conforme será visto no treinamento de Access Avançado.

Definição

A propriedade Máscara de entrada pode conter até três seções separadas por ponto-e-vírgula (;).

Seção Descrição

Primeira Especifica a própria máscara de entrada; por exemplo, !(999) 999-9999.

Segunda Especifica se o Microsoft Access armazena os caracteres de exibição literais na tabela quando você insere dados. Se você utilizar 0 para essa seção, todos os caracteres de exibição literais (por exemplo, os parênteses em uma máscara de entrada de número de telefone) serão armazenados com o valor; se você inserir 1 ou deixar essa seção vazia, somente os caracteres digitados no controle serão armazenados.

Terceira Especifica o caractere que o Microsoft Access exibirá no espaço onde você deve digitar um caractere na máscara de entrada. Para essa seção, você pode utilizar qualquer caractere (#, @, $, _, etc.); para exibir uma seqüência vazia, utilize um espaço entre aspas (" ").

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 71 de 71

Ao criar uma máscara de entrada, você pode utilizar caracteres especiais para exigir que determinados dados sejam inseridos (por exemplo, o código de área para um número de telefone) e que outros dados sejam opcionais (como um número de ramal). Esses caracteres especificam o tipo de dados, como um número ou caractere, que você precisa inserir para cada caractere da máscara de entrada.

É possível definir uma máscara de entrada utilizando os caracteres a seguir:

Caractere Descrição

0 Dígito (de 0 a 9, entrada obrigatória, sinais de adição [+] e subtração [–] não permitidos).

9 Dígito ou espaço (entrada não obrigatória, sinais de adição e subtração não permitidos).

# Dígito ou espaço (entrada não obrigatória; os espaços são exibidos como vazios quando no modo Edição, mas os vazios são removidos quando os dados são salvos; sinais de adição e subtração permitidos).

L Letra (de A a Z, entrada obrigatória).

? Letra (de A a Z, entrada opcional).

A Letra ou dígito (entrada obrigatória).

a Letra ou dígito (entrada opcional).

& Qualquer caractere ou um espaço (entrada obrigatória).

C Qualquer caractere ou um espaço (entrada opcional).

, , : ; - /

Marcador decimal e separadores de milhares, de data e de hora. (O caractere realmente utilizado depende das definições da caixa de diálogo Propriedades de Configurações Regionais no Painel de Controle do Windows).

< Faz com que todos os caracteres

sejam convertidos em minúsculos.

> Faz com que todos os caracteres sejam convertidos em maiúsculos.

! Faz com que a máscara de entrada seja exibida da direita para a esquerda, e não da esquerda para a direita. Os caracteres digitados na máscara sempre a

preenchem da esquerda para a direita. É possível incluir o ponto de exclamação em qualquer lugar da máscara de entrada.

\ Faz com que o caractere seguinte seja exibido como caractere literal (por exemplo, \A é exibido simplesmente como A).

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 72 de 72

Observação: A definição da propriedade Máscara De Entrada com a palavra "Senha" cria um controle de entrada de senha. Qualquer caractere digitado no controle é armazenado como o caractere, mas é exibido como um asterisco (*). A máscara de entrada Senha é utilizada para evitar que os caracteres digitados sejam exibidos na tela.

Comentários

• Quando você digita dados em um campo para o qual tenha definido uma máscara de entrada, os dados são sempre inseridos no modo Sobrescrever. Se você utilizar a tecla BACKSPACE para excluir um caractere, ele será substituído por um espaço vazio.

• Se você mover para a Área de Transferência o texto de um campo para o qual tenha definido uma máscara de entrada, os caracteres de exibição literais serão copiados, mesmo que você tenha especificado que eles não sejam salvos com os dados.

• Quando você tem definida uma máscara de entrada e define a propriedade Formato para o mesmo campo, a propriedade Formato tem precedência quando os dados são exibidos. Isso significa: mesmo que você tenha salvo uma máscara de entrada, ela será ignorada quando os dados forem formatados e exibidos. Os dados da própria tabela base não são alterados; a propriedade Formato afeta somente a maneira como os dados são exibidos.

Na tabela a seguir temos alguns exemplos de definição da propriedade Máscara de entrada.

Definição Aplica-se à:

000"."000"."000"-00;0;# Máscara para um campo do tipo CPF. O usuário não precisa digitar os pontos e o traço, pois estes são, automaticamente inseridos pela máscara.

00"."000"."000"/"0000"-"00;0;# Máscara para um campo com valores de CNPJ.

00"/"00"/"0000;0;# Campo data com quatro dígitos para o ano.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 73 de 73

Propriedade Legenda: São títulos que servem como o cabeçalho das colunas para os campos quando a tabela está no modo Folha de Dados. Os campos de tabela podem ter legenda com até 2048 caracteres. As legendas são tipicamente utilizadas para fornecer informações ao usuário. Se não for definida a propriedade legenda, será exibido o nome do campo como título da coluna.

As legendas de formulários e de relatórios, quando muito longas para serem exibidas na barra de título, são truncadas.

Dica: Você pode utilizar a propriedade Legenda para atribuir uma tecla de acesso a um rótulo ou botão de comando. Na legenda, inclua símbolo de "e" comercial (&) imediatamente antes do caractere que você deseja utilizar como tecla de acesso. O caractere será sublinhado. Você pode pressionar ALT juntamente com o caractere sublinhado para mover o foco para o controle correspondente em um formulário.

Inclua dois símbolos de união (&&) na definição de uma legenda se você desejar exibir o próprio símbolo de união no texto da legenda. Por exemplo, para exibir "Salvar & Sair", você digitaria Salvar && Sair na caixa da propriedade Legenda.

Propriedade Valor padrão:

Você pode utilizar a propriedade Valor Padrão para especificar o valor que é inserido automaticamente em um campo quando um novo registro é criado. Por exemplo, em uma tabela Endereços é possível definir o valor padrão do campo Cidade como Rio de Janeiro. Quando os usuários adicionam um registro à tabela, eles podem aceitar esse valor ou inserir o nome de uma outra cidade.

Observação: A propriedade Valor Padrão para qualquer tipo de campo, exceto aqueles do tipo de dados AutoNumeração ou Objeto OLE.

Comentários:

• A propriedade Valor Padrão especifica um texto ou uma expressão que é automaticamente inserida em um controle ou campo quando um novo registro é criado. Por exemplo, se você definir a propriedade Valor Padrão de um controle caixa de texto com =Agora(), o controle exibirá a data e hora atuais. O comprimento máximo para a definição de uma propriedade Valor Padrão é de 255 caracteres.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 74 de 74

• A propriedade Valor Padrão é aplicada somente quando você adiciona um novo registro. Se você alterar a propriedade Valor Padrão, a alteração não será aplicada automaticamente aos registros existentes.

As Propriedades Regra de validação/Texto de validação:

Você pode utilizar a propriedade Regra de Validação para especificar exigências para entrada de dados em um registro, campo ou controle. Quando são inseridos dados que violam a definição Regra de validação, você pode utilizar a propriedade Texto de validação para especificar a mensagem a ser exibida para o usuário, informando que o valor digitado para o campo não foi aceito pela regra de validação.

Definição

Insira uma expressão para a definição da propriedade Regra de Validação e texto para a definição da propriedade Texto de Validação. O comprimento máximo para a definição da propriedade Regra de Validação é de 2048 caracteres. O comprimento máximo para a definição da propriedade Texto de Validação é de 255 caracteres.

É possível definir as propriedades Regra de Validação e Texto de Validação utilizando:

• A seção Propriedades do Campo do modo Estrutura da tabela (para uma regra de validação de campo).

• A folha de propriedades de uma tabela clicando em Propriedades no menu Exibir no Modo Estrutura de tabela (para uma regra de validação de registro).

• A folha de propriedades de um controle em um formulário.

• Uma macro ou o Visual Basic. No Visual Basic, utilize uma expressão de seqüência para definir essas propriedades.

Comentários

O Microsoft Access valida automaticamente valores baseados no tipo de dados de um campo; por exemplo, o Microsoft Access não permite texto em um campo numérico. Você pode definir regras que sejam mais específicas utilizando a propriedade Regra de Validação.

Se você definir a propriedade Regra de Validação, mas não a propriedade Texto de Validação, o Microsoft Access exibirá uma mensagem de erro padrão quando a regra de

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 75 de 75

validação for violada. Se você definir a propriedade Texto de Validação, o texto inserido será exibido como mensagem de erro.

Por exemplo, quando um registro é adicionado para um novo funcionário, é possível inserir uma propriedade Regra de Validação que exija que o valor no campo Data De Início do funcionário esteja entre a data de fundação da empresa e a data atual. Se a data inserida não estiver nesse intervalo, você poderá exibir a mensagem da propriedade Texto de Validação: "A data de início está incorreta".

As regras de validação de controle, campo e registro são aplicadas como a seguir:

• As regras de validação definidas para campos e controles são aplicadas quando você edita os dados e o foco deixa o campo ou controle.

• As regras de validação de registros são aplicadas quando você vai para um outro registro.

• Se você criar regras de validação tanto para um campo quanto para um controle acoplado ao campo, ambas as regras de validação serão aplicadas quando você editar dados e o foco deixar o controle.

A tabela a seguir contém exemplos de expressões para as propriedades Regra de Validação e Texto de Validação:

Propriedade Regra de Validação Propriedade Texto de Validação

<> 0 A entrada precisa ser um valor diferente de zero.

> 1000 Ou É Nulo A entrada precisa ser vazia ou maior que 1000.

Como "A????" A entrada precisa ser de 5 caracteres e começar com a letra "A".

>= #1/1/96# E <#1/1/97# A entrada precisa ser uma data de 1996.

"Santa Maria" Ou "Caxias do Sul" ou "Santa Cruz do Sul"

O campo Cidade somente aceita um dos seguintes valores: Santa Maria, Caxias do Sul ou Santa Cruz do Sul

Quando você cria uma regra de validação para um campo, o Microsoft Access normalmente não permite que um valor Null seja armazenado no campo. Se for conveniente que um valor

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 76 de 76

Null seja permitido, adicione "É Nulo" à regra de validação, como em "<> 8 Ou É Nulo" e certifique-se de que a propriedade Requerido esteja definida como Não.

Null Um valor que indica falta de dados ou dados desconhecidos em um campo. Você pode utilizar valores Null em expressões. Os valores Null podem ser inseridos em campos para os quais as informações são desconhecidas, assim como em expressões e consultas. No Visual Basic, a palavra-chave Null indica um valor Nulo. Alguns campos, como aqueles definidos como contendo a chave primária, não podem conter valores Nulos

Não é possível definir regras de validação de campo ou de registro para tabelas criadas fora do Microsoft Access (por exemplo, no dBASE, Paradox ou SQL Server). Para esses tipos de tabelas, você pode criar regras de validação somente para controles.

A Propriedade Requerido:

Você pode utilizar a propriedade Requerido para especificar se um valor é ou não requerido em um campo. Se essa propriedade estiver definida como Sim, ao inserir dados em um registro, você deve inserir um valor no campo ou em qualquer controle acoplado ao campo, e o valor não poderá ser Nulo. Por exemplo, é aconselhável que você se certifique de que um controle Sobrenome tenha um valor para cada registro. Quando desejar permitir valores Nulos em um campo, você deverá não apenas definir a propriedade Requerido como Não, mas se houver uma definição da propriedade Regra de Validação, esta também terá que declarar explicitamente "regradevalidação Ou É Nulo".

Observação: A propriedade Requerido não se aplica a campos AutoNumeração.

Definição: A propriedade Requerido utiliza as definições a seguir.

Definição Descrição

Sim O campo requer um valor.

Não (Padrão) O campo não requer um valor.

Você pode definir essa propriedade para todos os campos de tabela (exceto campos do tipo de dados AutoNumeração) utilizando a folha de propriedades da tabela ou o Visual Basic.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 77 de 77

Comentários:

A propriedade Requerido é imposta a nível de tabela. Se você definir essa propriedade como Sim, o campo deve receber ou já conter um valor quando tiver o foco - quando um usuário inserir dados em uma tabela (ou em um formulário ou folha de dados baseada na tabela), quando uma macro ou o Visual Basic definir o valor do campo, ou quando dados forem importados para a tabela.

Você pode utilizar as propriedades Requerido e Permitir Comprimento Zero para diferenciar entre informações que não existem (armazenadas como uma seqüência de comprimento zero ("") no campo) e informações que podem existir mas que são desconhecidas (armazenadas como um valor Nulo no campo). Se você definir a propriedade Permitir Comprimento Zero como Sim, uma seqüência de comprimento zero será uma entrada válida no campo, independente da definição da propriedade Requerido. Se você definir Requerido como Sim e Permitir Comprimento Zero como Não, deverá inserir um valor no campo, e uma seqüência de comprimento zero não será uma entrada válida.

Dica: Você pode utilizar uma máscara de entrada quando forem inseridos dados em um campo para distinguir entre a exibição de um valor Nulo e de uma seqüência de comprimento zero. Por exemplo, a seqüência "Nenhum" poderia ser exibida quando uma seqüência de comprimento zero fosse inserida.

A tabela a seguir mostra os resultados que você pode esperar quando combina as definições das propriedades Requerido e Permitir Comprimento Zero.

Requerido Permitir omprimento Zero Ação do usuário Valor armazenado

Não Não Pressionar Enter Pressionar Barra de Espaços Inserir

uma seqüência de comprimento zero

Nulo Nulo

(não permitido)

Não Sim Pressionar Enter Pressionar Barra de Espaços Inserir uma seqüência de comprimento zero

Nulo Nulo

Seqüência de comprimento zero

Sim Não Pressionar Enter Pressionar Barra de Espaços Inserir uma seqüência de comprimento zero

(não permitido) (não permitido)

(não permitido)

Sim Sim Pressionar Enter Pressionar Barra de

(não permitido) Seqüência de

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 78 de 78

Espaços

Inserir uma seqüência de comprimento zero

comprimento zero

Seqüência de comprimento zero

Se definir a propriedade Requerido como Sim para um campo de uma tabela que já contém dados, o Microsoft Access dará a você a opção de verificar se o campo tem um valor em todos os registros existentes. Entretanto, você pode requerer que um valor seja inserido nesse campo em todos os novos registros, mesmo que haja registros existentes com valores Nulos no campo.

A Propriedade Permitir comprimento zero:

Você pode utilizar a propriedade Permitir Comprimento Zero para especificar se uma seqüência de comprimento zero ("") é uma entrada válida em um campo de tabela.

Observação: A propriedade Permitir Comprimento Zero se aplica somente a campos de tabela dos tipos Texto, Memorando e Hyperlink.

Definição: A propriedade Permitir Comprimento Zero utiliza as definições a seguir:

Definição Descrição

Sim Uma seqüência de comprimento zero é uma entrada válida.

Não (Padrão) Uma seqüência de comprimento zero é uma entrada inválida.

Você pode definir essa propriedade utilizando a folha de propriedades da tabela ou o Visual Basic.

Comentários:

Se desejar que o Microsoft Access armazene uma seqüência de caracteres de comprimento zero em vez de um valor Nulo quando você deixar um campo vazio, defina ambas as propriedades Permitir Comprimento Zero e Requerido como Sim.

Dica: Você pode utilizar a propriedade Formato para distinguir entre a exibição de um valor Nulo e de uma seqüência de comprimento zero. Por exemplo, a seqüência "Nenhum" pode ser exibida quando uma seqüência de comprimento zero for inserida.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 79 de 79

A propriedade Permitir Comprimento Zero funciona independentemente da propriedade Requerido. A propriedade Requerido determina apenas se um valor Nulo é válido para o campo. Se a propriedade Permitir Comprimento Zero for definida como Sim, uma seqüência de comprimento zero será um valor válido para o campo, independentemente da definição da propriedade Requerido.

A Propriedade Indexado:

Você pode utilizar a propriedade Indexado para definir um índice de um único campo. Um índice acelera as consultas nos campos indexados, bem como as operações de classificação e agrupamento. Por exemplo, se localizar nomes de funcionários específicos em um campo Sobrenome, você pode criar um índice para esse campo para acelerar a localização de um nome específico.

Definição: A propriedade Indexado utiliza as definições a seguir.

Definição Descrição

Não (Padrão) Nenhum índice.

Sim (Duplicação Autorizada) O índice permite valores duplicados.

Sim (Duplicação Não Autorizada)

O índice não permite valores duplicados. Este valor é definido, automaticamente, quando o campo é do tipo Chave Primária.

Você pode definir essa propriedade apenas na seção Propriedades do Campo no modo Estrutura de tabela. Você pode definir um índice de um único campo, definindo a propriedade Indexado na seção Propriedades do Campo, no modo Estrutura de tabela. Você pode definir índices de vários campos na janela Índices, clicando em Índices no menu Exibir.

Se você adicionar um índice de um único campo na janela Índices, o Microsoft Access definirá a propriedade Indexado do campo como Sim.

Comentários

Utilize a propriedade Indexado para localizar e classificar registros, utilizando um único campo em uma tabela. O campo pode armazenar tanto valores exclusivos quanto não-exclusivos. Por exemplo, você pode criar um índice em um campo CódigoDoFuncionário de uma tabela Funcionários, na qual

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 80 de 80

cada código de funcionário seja exclusivo, ou pode criar um índice em um campo Nome no qual alguns nomes possam estar duplicados.

Observação: Você não pode indexar campos com os tipos de dados Memorando, Hyperlink ou Objeto OLE.

Você pode criar tantos índices quantos precisar. Os índices são criados quando você salva a tabela e são automaticamente atualizados quando você altera ou adiciona registros. Você pode adicionar ou excluir índices a qualquer momento no modo Estrutura de tabela.

Se a chave primária de uma tabela for um único campo, o Microsoft Access definirá automaticamente a propriedade Indexado desse campo como Sim (Duplicação Não Autorizada).

Se você desejar criar índices de vários campos, utilize a janela Índices (Exibir -> Índices).

• Com isso encerramos o estudo das propriedades que podem ser definidas para cada campo de uma tabela do Microsoft Access. Vamos voltar ao exercício que iniciamos antes do estudo das propriedades. • Apenas para lembrar, havíamos iniciado a definição do campo CPF, onde havíamos definido o valor das colunas Nome do campo, Tipo de dados e Descrição, conforme indicado na figura a seguir:

Definição do campo CPF.

• Defina as demais propriedades do campo CPF, conforme orientações a seguir:

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 81 de 81

Propriedades do campo CPF - tipo Texto.

• Crie os demais campos para a tabela Contribuintes, de acordo com as definições indicadas a seguir:

Propriedades do campo Nome tipo Texto.

Propriedades para o campo Rua - tipo Texto.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 82 de 82

Propriedades para o campo Bairro - tipo Texto.

Propriedades para o campo Cidade - tipo Texto.

Regra de validação: "Santa Cruz do Sul" Ou "Santa Maria" Ou "Caxias do Sul" Ou "Venâncio Aires" Texto de validação: O Valor informado para o campo Cidade não é um valor permitido: "Santa Cruz do Sul" Ou "Santa Maria" Ou "Caxias do Sul" Ou "Venâncio Aires"

Propriedades para o campo CEP - tipo Texto.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 83 de 83

Propriedades para o campo Fone - tipo Texto.

Propriedades para o campo DataDeNascimento - tipo Data/Hora.

Propriedades para o campo EMail - tipo Texto.

• Com isso concluímos a definição dos campos da tabela Contribuintes. • Agora vamos definir o campo CPF como sendo a Chave Primária desta tabela. Selecione a linha do campo CPF. Para selecionar uma linha no pequeno botão cinza ( ), à esquerda do nome do campo.

• Uma vez selecionada a linha, dê um clique no botão ( ) que a linha selecionada será definida como Chave Primária da tabela. • Agora vamos salvar a tabela.

• Dê um clique no botão Salvar ( ).

• Surge uma janela pedindo o nome da tabela. Digite Contribuintes, conforme indicado na figura a seguir:

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 84 de 84

Salvando a tabela Contribuintes.

• Dê um clique no botão OK. • Você estará de volta ao modo estrutura, agora a tabela Contribuintes tem a sua estrutura definida, porém nenhum dado ainda foi inserido. • Vá para o modo folha de dados da tabela. Para isso selecione o comando Exibir -> Modo folha de dados. No Modo folha de dados podemos constatar que ainda não existe nenhum registro na tabela Contribuintes, conforme indicado na figura a seguir:

Tabela Contribuintes em nenhum registro.

• Feche a tabela Contribuintes. • Com base no que foi explicado até o momento, crie as demais tabelas do banco de dados ExTabelas. A seguir temos as definições para as demais tabelas que serão criadas.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 85 de 85

• Definições para a tabela Dependentes

Nome da tabela: Dependentes Chave Primária: Campo CPFDoTitular

• Definição dos campos da tabela dependentes

• Campo CPFTitular:

Propriedades para o campo CPFTitular - tipo Texto.

• Campo CPFDependente:

Propriedades para o campo CPFDependente - tipo Texto.

• Campo NomeDependente:

Propriedades para o campo NomeDependente - tipo Texto.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 86 de 86

• Campo DataDeNascimentoDep:

Propriedades para o campo DataDeNascimentoDep - tipo Data/Hora.

• Com isso concluímos a definição dos campos da tabela Dependentes. • Agora vamos definir o campo CPFTitular como sendo a Chave Primária desta tabela. Selecione a linha do campo CPF. Para selecionar uma linha no pequeno botão cinza ( ), à esquerda do nome do campo.

• Uma vez selecionada a linha, dê um clique no botão ( ) para que a linha selecionada seja definida como Chave Primária da tabela. • Agora vamos salvar a tabela.

• Dê um clique no botão Salvar ( ).

• Surge uma janela pedindo o nome da tabela. Digite Dependentes e dê um clique no botão OK. • Você estará de volta ao modo estrutura, agora a tabela Dependentes tem a sua estrutura definida, porém nenhum dado ainda foi inserido. • Vá para o modo folha de dados da tabela. Para isso selecione o comando Exibir -> Modo folha de dados. No Modo folha de dados podemos constatar que ainda não existe nenhum registro na tabela Dependentes. • Feche a tabela Dependentes.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 87 de 87

• Definições para a tabela Pagamentos

Nome da tabela: Pagamentos Chave Primária: Não tem Chave Primária

• Definição dos campos da tabela Pagamentos

• Campo CPFTitular:

Propriedades para o campo CPFTitular - tipo Texto.

• Campo CódigoDoTributo:

Propriedades para o campo CódigoDoTributo - tipo Texto.

• Campo DataDoPagamento:

Propriedades para o campo DataDoPagamento - tipo Data/Hora.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 88 de 88

• Campo ValorPrincipal:

Propriedades para o campo ValorPrincipal - tipo Moeda.

• Campo ValorMulta:

Propriedades para o campo ValorMulta - tipo Moeda.

• Campo ValorJuros:

Propriedades para o campo ValorJuros - tipo Moeda.

• Com isso concluímos a definição dos campos da tabela Pagamentos. • Agora vamos salvar a tabela.

• Dê um clique no botão Salvar ( ). Surge uma janela pedindo o nome da tabela. Digite Pagamentos e dê um clique no botão OK. • Você estará de volta ao modo estrutura, agora a tabela Dependentes tem a sua estrutura definida, porém nenhum dado ainda foi inserido.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 89 de 89

• Vá para o modo folha de dados da tabela. Para isso selecione o comando Exibir -> Modo folha de dados. No Modo folha de dados podemos constatar que ainda não existe nenhum registro na tabela Pagamentos. • Feche a tabela Pagamentos.

• Definições para a tabela Tributos

Nome da tabela: Tributos Chave Primária: CódigoDoTributo

• Definição dos campos da tabela Pagamentos

• Campo CódigoDoTributo:

Propriedades para o campo CódigoDoTributo - tipo Texto.

• Campo DescriçãoDoTributo:

Propriedades para o campo DescriçãoDoTributo - tipo Texto.

• Com isso concluímos a definição dos campos da tabela Tributos, a última tabela do banco de dados ExPedidos.mdb. • Agora vamos definir o campo CódigoDoTributo como sendo a Chave Primária desta tabela. Selecione a linha do campo CódigoDoTributo. Para selecionar uma linha no pequeno botão cinza ( ), à esquerda do nome do campo.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 90 de 90

• Uma vez selecionada a linha, dê um clique no botão ( ) para que a linha selecionada seja definida como Chave Primária da tabela. • Agora vamos salvar a tabela.

• Dê um clique no botão Salvar ( ).

• Surge uma janela pedindo o nome da tabela. Digite Tributos e dê um clique no botão OK. • Você estará de volta ao modo estrutura, agora a tabela Tributos tem a sua estrutura definida, porém nenhum dado ainda foi inserido. • Vá para o modo folha de dados da tabela. Para isso selecione o comando Exibir -> Modo folha de dados. No Modo folha de dados podemos constatar que ainda não existe nenhum registro na tabela Tributos. • Feche a tabela Tributos • Com isso concluímos a definição da estrutura das tabelas do banco de dados ExTabelas.mdb. • Caso você precise alterar a estrutura de uma tabela, basta entrar no Modo estrutura da tabela. Para entrar no modo estrutura basta selecionar a tabela e clicar no botão

( ).

• Cuidado ao alterar a estrutura de um campo já existente, pois poderá haver perda de dados. Por exemplo, se você alterar o tamanho máximo de um campo do tipo Texto de 50 para 30; todos os dados maiores do que 30 caracteres serão truncados. • Temos mais duas etapas a cumprir em relação ao banco de dados ExTabelas.mdb:

Definição dos relacionamentos Entrada de dados para testar os relacionamentos e a Integridade Referencial.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 91 de 91

06) Definição de Relacionamentos entre tabelas

No item anterior criamos as diversas tabelas do banco de dados ExTabelas.mdb. Neste item criaremos os relacionamentos entre as tabelas, conforme definido no DER a seguir:

Relacionamentos entre as tabelas do banco de dados ExTabelas.mdb.

Nota: Para explicações sobre como definir relacionamentos em um banco de dados do Microsoft Access, consulte o item "Como Criar e Configurar Relacionamentos no Microsoft Access", no início desta apostila.

Vamos fazer um exercício prático de implementação dos relacionamentos no banco de dados ExPedidos.mdb.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 92 de 92

Exercício: Agora vamos a um exercício prático, onde definiremos os diversos relacionamentos para o nosso banco de dados ExPedidos.mdb, que está na pasta CursoAccBasico.

Para definir os Relacionamentos para o banco de dados ExPedidos.mdb:

• Abra o banco de dados ExTabelas.mdb. • Selecione o comando Ferramentas -> Relacionamentos.

• Adicione todas as tabelas, conforme explicado anteriormente.

• Defina os Relacionamentos conforme indicado na tabela a seguir:

Tipo de Relacionamento Lado Um Lado Vários

Um para Vários CPF na tabela Contribuintes

CPFTitular na tabela Dependentes

Um para Vários CPF na tabela Contribuintes

CPFDoTitular na tabela Pagamentos

Um para Vários CódigoDoTributo na tabela Tributos

CódigoDoTributo na tabela Pagamentos

• Habilite a Integridade Referencial em todos os Relacionamentos, habilite a opção "Propagar atualização dos campos relacionados" e deixe desabilitada o opção de "Propagar exclusão dos registros relacionados", conforme indicado no exemplo da figura a seguir:

Definições de integridade referencial.

• Salve as alterações e feche a Janela dos Relacionamentos, clicando no botão "x". Clique no "x" mais de baixo, pois o "x" mais acima irá fechar o Microsoft Access.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 93 de 93

07) Inserindo dados para testar os relacionamentos

Neste item vamos inserir alguns dados nas tabelas do banco de dados ExTabelas.mdb e vamos testar se os relacionamentos e a Integridade Referencial, definida no item anterior, estão realmente funcionando.

Para inserir dados e testar a Integridade Referencial faça o seguinte:

• Abra o banco de dados ExTabelas.mdb. • Abra a tabela Contribuintes no modo Folha de dados. Para

isso basta dar um clique duplo na tabela Contribuintes. • Adicione os seguintes registros:

CPF do Contribuinte

Nome do Contribuinte

Rua-Avenida

Bairro

Cidade

Código Postal

Telefone de

Contato

Data de Nascimento

e-mail do Contribuinte

111.111.111-11 JOSÉ DA SILVA

Presidente Vargas - 18

Centro Santa Maria

11111-111

1(11)11-1111-1111

11/11/1911

[email protected]

222.222.222-22 MARIA DO SOCORRO

Venâncio Aires - 250

Itararé Caxias do Sul

22222-222

2(22)22-2222-2222

22/12/1922

[email protected]

333.333.333-33 PAULO COSTA Júlio de Castilhos - 340

Centro Santa Cruz do Sul

33333-333

3(33)33-3333-3333

23/12/1933

[email protected]

444.444.444-44 VERA DA SILVA

Duque de Caxias - 1234

Belém Novo

Caxias do Sul

44444-444

4(44)44-4444-4444

31/10/1944

[email protected]

• Feche a tabela Contribuintes. • Abra a tabela Tributos. • Adicione os seguintes registros:

Código do tributo

Descrição

0001 IRPF

0002 IRPJ-LR

0003 IRPJ-LP

0004 DCTF

0005 COFINS

• Feche a tabela Contribuintes. • Abra a tabela Pagamentos. • Tente adicionar o seguinte registro:

CPF Do Titular

Código do Tributo

DataDoPagamento

DataDoVencimento

Valor Principal

Valor da

Multa

Valor dos

Juros 666.666.666-66 0001 01/02/2002 10/02/2002 R$200,00 R$0,00 R$0,00

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 94 de 94

• Após digitar o valor dos Juros e teclar TAB, para ir para o próximo registro, será emitida a mensagem de erro indicada na figura a seguir e o Microsoft Access não conseguirá salvar o registros.

Mensagem de erro, informando que não foi possível adicionar o registro.

• Por que o Microsoft Access não pode adicionar um pagamento para o cliente cujo CPF é 666.666.666-66?

• Se você tentasse adicionar o seguinte registro, o que aconteceria?

CPF Do Titular

Código do

Tributo

DataDoPagamento

DataDoVencimento

Valor Principal

Valor da Multa

Valor dos

Juros 111.111.111-11 0008 01/02/2002 10/02/2002 R$200,00 R$0,00 R$0,00

• Por que?

Dica: Quando você tiver problemas para inserir um novo registro, procure analisar os relacionamentos existentes no banco de dados.

• Para abandonar a inserção de um registro, pressione a tecla ESC duas vezes, seguidamente.

• Feche qualquer tabela que você tenha aberto. • Feche o banco de dados ExTabelas.mdb.

Com isso concluímos o nosso estudo sobre tabelas, campos de tabelas, Chave Primária, relacionamentos e integridade referencial. No próximo item aprenderemos a importar dados para um banco de dados do Microsoft Access, a partir de fontes externas de dados. Também aprenderemos a exportar os dados do Microsoft Access para outros formatos.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 95 de 95

08) Importação e Exportação de dados com o Microsoft Access

O Microsoft Access oferece duas opções para utilizar dados de uma origem externa:

• Importar os dados para uma nova tabela do Microsoft Access no banco de dados atual.

• Deixar os dados no seu local atual e utilizá-los no seu formato atual sem importá-los - este procedimento é denominado vinculação. Dados de uma tabela vinculada podem ser alterados, excluídos, podem ser utilizados na criação de consultas, formulários e relatórios. Se alteramos um dado de uma tabela vinculada, este dado será alterado na fonte original do dado. Por exemplo, podemos vincular uma tabela a um arquivo com dados no formato do DBase (.dbf). Ao alterarmos um registro na tabela vinculada, este dado será alterado na fonte original dos dados, ou seja, no arquivo .dbf.

Exemplos de fontes de dados externas incluem tabelas de outros bancos de dados do Microsoft Access localizados na rede, dados de outros programas, como o Microsoft Excel, Microsoft Exchange, Microsoft FoxPro, Paradox e Microsoft SQL Server e dados em arquivos de texto (.txt), normalmente nos formatos de tamanho fixo de coluna ou delimitado.

No formato "Tamanho Fixo", cada coluna começa e termina em posições definidas. Por exemplo, o campo nome começa na coluna 1 e vai até a coluna 50; o campo endereço começa na coluna 51 e vai até a coluna 90 e assim por diante. Este é um dos formatos mais utilizados quando o contribuinte fornece dados para a SRF. Os dados são fornecidos em arquivos .txt. Quando os dados forem fornecidos neste formato, o contribuinte deverá fornecer o "layout" do arquivo. O layout informa onde começa e termina cada campo. Na figura a seguir temos um exemplo de um arquivo no formato Tamanho Fixo:

Dados no formato "Tamanho Fixo"

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 96 de 96

No formato "Texto Delimitado" cada linha do arquivo representa um registro da tabela. Os campos, dentro de uma mesma linha, são delimitados por um determinado caractere, normalmente um dos seguintes caracteres é utilizado como delimitador: ; ,

Na figura a seguir temos um exemplo de um arquivo com dados no formato Texto Delimitado:

Se você sabe que irá utilizar seus dados somente no Microsoft Access, convém importá-los. O Microsoft Access geralmente funciona mais rápido com suas próprias tabelas, e se for necessário, você poderá modificar a tabela importada de modo a atender às suas necessidades, como qualquer outra tabela criada no Microsoft Access.

Se os dados que você deseja utilizar também estão sendo atualizados por outro programa que não o Microsoft Access, seria conveniente vinculá-los. Utilizando esta abordagem, os métodos atuais de atualização, gerenciamento e compartilhamento de dados continuarão onde estão, e você poderá utilizar o Microsoft Access para trabalhar com os dados também. Por exemplo, você pode criar consultas, formulários e relatórios que utilizam dados externos, combinar dados externos com os dados das tabelas do Microsoft Access e até mesmo exibir e editar dados externos enquanto os estes estiverem sendo utilizados por terceiros em seu programa original.

Você pode também vincular tabelas de outros bancos de dados do Microsoft Access. Convém utilizar uma tabela de outro banco de dados do Microsoft Access que é compartilhado numa rede. Isso é particularmente útil quando você quer armazenar todas as suas tabelas em um banco de dados num servidor de rede, mantendo formulários, relatórios e outros objetos em um banco de dados separado, o qual é copiado entre os usuários do banco de dados compartilhado.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 97 de 97

Importante: Antes de importar ou vincular dados, é necessário criar ou abrir um banco de dados do Microsoft Access para armazenar as tabelas importadas ou vinculadas.

O Microsoft Access utiliza ícones diferentes para representar tabelas vinculadas e tabelas que são armazenadas no banco de dados atual. Se você excluir o ícone de uma tabela vinculada, estará excluindo o vínculo à tabela e não a tabela externa propriamente dita.

Ao importar dados, não é possível anexar dados a tabelas existentes (exceto ao importar arquivos de texto ou planilha). Contudo, uma vez importada uma tabela, é possível efetuar uma consulta acréscimo (uma consulta ação que adiciona os registro do conjunto de resultados de uma consulta ao final de uma tabela existente) para adicionar seus dados a outra tabela.

Nota: Aprenderemos a trabalhar com Consultas de Acréscimo e outros tipos de consulta, no tópico sobre Consultas deste treinamento.

Você pode também importar outros objetos de banco de dados que não tabelas, como formulários ou relatórios, a partir de outro banco de dados do Microsoft Access.

Caso precise realizar uma operação importante regularmente, pode automatizar o processo de importação de dados utilizando macros ou código do Visual Basic para aplicativos.

Importar ou vincular tabelas de outro banco de dados do Microsoft Access

Vamos fazer alguns exercícios de importação/exportação para aprendermos a utilizar este recurso do Microsoft Access.

Exercício 01: Importando dados de uma planilha do Excel para uma tabela do Microsoft Access.

1. Crie um banco de dados vazio chamado ExImportaExporta.mdb, na pasta C:\CursoAccBasico.

Nota: Para maiores detalhes sobre a criação de banco de dados, consulte a página 37 deste manual.

2. Selecione o comando Arquivo -> Obter dados externos -> Importar. Surge a janela Importar, indicada na figura a seguir:

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 98 de 98

Janela para importação de dados.

3. Utilize a lista Examinar para navegar para a pasta C:\CursoAccBasico\Dados para Imprtação-Exportação.

4. Na lista "Arquivos do tipo", selecione a opção "Microsoft Excel (*.xls)".

5. Na lista de arquivos selecione o arquivo Pedidos.xls. 6. Sua janela deve estar conforme indicado na figura a seguir:

Importando dados da planilha Pedidos.xls.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 99 de 99

7. Dê um clique no botão Importar. 8. O Microsoft Access abre o "Assistente de importação de

planilha". 9. Na primeira tela do assistente o Microsoft Access mostra onde

inicia e onde termina cada campo da planilha. Cada coluna da planilha é importada como sendo um campo diferente. Na planilha do nosso exemplo, a primeira linha contem os nomes dos campos, conforme indicado na figura a seguir:

Identificação dos campos que serão importados.

10. Dê um clique no botão Avançar, para ir para o próxima etapa do assistente.

11. Nesta etapa precisamos confirmar que a primeira linha da planilha contém os nomes dos campos. Para isso certifique-se de que a opção "Primeira linha contém títulos da coluna" esteja marcada e dê um clique no botão Avançar, para ir para a próxima etapa do assistente.

12. Na terceira etapa podemos selecionar se os dados serão anexados a uma tabela já existente - opção "Em uma tabela existente" ou será criada uma nova tabela para conter os dados importados - opção "Em uma nova tabela". Selecione a opção "Em uma nova tabela" e dê um clique no botão Avançar, para ir para a próxima etapa do assistente.

13. Nesta etapa podemos definir algumas propriedades - Nome, Indexado ou não e se vamos ou não importar o referido campo - para os campos que estão sendo importados.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 100 de 100

14. Para definir as características de um campo basta clicar na coluna do respectivo campo, na parte de baixo da janela, e depois configurar as características do campo, na parte de cima da janela, conforme indicado na figura a seguir:

Definindo as características de cada campo.

15. Vamos aceitar as configurações sugeridas. Dê um clique no botão Avançar para ir para a próxima etapa do assistente.

16. Nesta etapa podemos definir se a nova tabela que será criada, com os dados importados, terá ou não uma Chave Primária e qual o campo será a Chave Primária. No nosso exemplo, vamos definir o campo "Código do produto" como sendo a Chave Primária da nossa tabela.

17. Dê um clique na opção "Escolher minha própria chave primária" e na lista, ao lado desta opção, selecione o campo CódigoDoProduto. Dê um clique no botão Avançar, para seguir para a etapa final do assistente.

18. Na última etapa devemos informar o nome da tabela que será criada e para a qual os dados serão importados. Digite ProdutosImportadosDoExcel e dê um clique no botão Concluir.

19. A tabela ProdutosImportadosDoExcel será criada e os dados da planilha Produtos.xls serão importados para esta tabela. Ao final do processo de importação o Microsoft Access emite uma mensagem, conforme indicado na figura a seguir:

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 101 de 101

Mensagem de que a importação foi realizada com sucesso.

20. Dê um clique no botão OK para fechar esta mensagem. 21. Agora vamos conferir se os dados realmente foram

importados. 22. Observe se a tabela ProdutosImportadosDoExcel foi

realmente criada. 23. Dê um clique duplo nesta tabela, para abri-la no modo

folha de dados. Observe que os dados realmente foram importados, conforme indicado na figura a seguir:

Dados importados com sucesso.

Nota: Para importar dados de arquivos do tipo .txt, quer seja no formato Tamanho fixo, quer seja no formato Texto delimitado, o procedimento é muito semelhante ao utilizado para importar dados de uma planilha. Na parte inicial do processo, devemos ter o cuidado de selecionar o tipo correto de arquivo a ser importado.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 102 de 102

Exercício 02: Importando dados de uma tabela de um banco de dados do Microsoft Access para outro banco de dados do Microsoft Access.

1. Abra um banco de dados para o qual você deseja importar os dados. No nosso exemplo, abra o banco de dados ExTabelas.mdb, que está na pasta C:\CursoAccBasico.

2. Selecione o comando Arquivo - Obter dados externos -> Importar.

Importando dados de outro banco de dados do Microsoft Access.

3. Na caixa de diálogo Importar (ou Vincular), na caixa Arquivos do Tipo, certifique-se de que Microsoft Access (.mdb) esteja selecionado.

4. Clique na seta à direita da caixa Examinar, selecione a unidade de disco e a pasta em que está localizado o banco de dados do Microsoft Access (.mdb) que você deseja importar ou vincular e, em seguida, clique duas vezes no ícone do banco de dados.

5. No nosso exemplo navegue até a pasta C:\CursoAccBasico e dê um clique duplo no arquivo NorthWind.mdb. Vamos importar dados da tabela Pedidos do banco de dados NorthWind.mdb, para o banco de dados ExTabelas.mdb.

6. Na caixa de diálogo Importar Objetos, podemos definir quais os objetos (Tabelas, consultas, formulários,etc.) que serão importados. Na guia tabelas selecione a tabela Pedidos, conforme indicado na próxima figura.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 103 de 103

Importando a tabela Pedidos.

7. Se você estiver importando, e desejar importar somente as definições das tabelas selecionadas (não os dados que elas contêm), dê um clique no botão Opções e depois selecione a opção em Somente Definição, conforme indicado na figura a seguir.

Opção Somente definição.

Se você estiver importando e desejar incluir também relacionamentos, menus personalizados e barras de ferramentas, ou especificações de importação/exportação, clique em Opções e, em Importar, selecione os itens que você deseja importar.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 104 de 104

8. Dê um clique no botão OK e pronto, os dados serão importados. 9. Agora vamos conferir se os dados realmente foram importados. 10. Observe se a tabela Pedidos foi realmente criada. 11. Dê um clique duplo nesta tabela, para abri-la no modo folha

de dados. Observe que os dados realmente foram importados, conforme indicado na figura a seguir:

Dados importados com sucesso. Observações:

• Quando você importa uma tabela que já está vinculada, o Microsoft Access não importa os dados; nesse caso, ele vincula a tabela à sua fonte de dados (na realidade, copia as informações do vínculo).

• Se o banco de dados que você deseja importar ou vincular possui uma senha de banco de dados, é necessário obter a senha para prosseguir.

• Se você vincular duas tabelas de um mesmo banco de dados do Microsoft Access, qualquer relacionamento estabelecido entre as tabelas no outro banco de dados permanecerá em vigor.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 105 de 105

Exportando dados das tabelas do Microsoft Access.

Podemos exportar os dados de uma ou mais tabelas do Microsoft Access para uma série de diferentes formatos, tais como planilhas do Excel (.xls), arquivos do Dbase (.dbf), arquivos de texto, etc.

Para exportar dados basta marcar a tabela cujos dados serão exportados e selecionar o comando Arquivo -> Salvar como/exportar. Escolhendo esta opção você pode exportar arquivos para outros bancos de dados, como por exemplo:

• Microsoft Access • Microsoft Excel • Arquivo Texto • Formato Rich Text • Lotus 1-2-3 (WK1, WK3) • Paradox 3, 4, 5 • FoxPro 7.0, 2.5, e 2.6 • dBase III, IV, V • Mala direta do Microsoft Word • Banco de dados ODBC

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 106 de 106

09) Criação de Consultas com o Microsoft Access

Consultas: Definição e usos.

Você utiliza consultas para visualizar, alterar e analisar dados de diferentes maneiras. Você também pode utilizá-las como origem de registros para formulários e relatórios.

O tipo mais comum de consulta é uma consulta seleção. Uma consulta seleção recupera dados de uma ou mais tabelas utilizando critérios por você especificados e, em seguida, exibe-os na ordem desejada.

Você cria uma consulta com um assistente ou a partir do zero no modo Estrutura da consulta. Você especifica os dados com os quais deseja trabalhar adicionando as tabelas que contêm os dados e preenchendo a grade de estrutura.

Usamos consultas para selecionar registros, atualizar tabelas ou efetuar cálculos com base nos dados já existentes em uma tabela. Por exemplo, podemos utilizar uma consulta para calcular o total de vendas por país de destino ou por cliente.

Também podemos criar consultas que atualizam os dados de uma tabela. Vamos supor que você deva aplicar um reajuste de 20% em no Preço Unitário de todos os produtos da tabela Produtos. Ao invés de fazermos esta modificação manualmente, podemos utilizar um tipo especial de consulta chamado "Consulta de atualização", a qual fará as alterações necessárias.

Em determinadas situações precisamos montar um relatório em que os dados que farão parte do relatório não estão disponíveis em uma única tabela. Também pode acontecer de precisarmos de dados que são calculados com base em um mais campos de uma tabela. Nestas situações primeiro temos que montar uma consulta que nos fornece a listagem desejada e, somente depois, podemos criar o relatório baseado na consulta montada inicialmente. Esta é uma das situações mais comuns em que utilizamos consultas para resolver um problema prático do dia-a-dia.

Quando criamos uma consulta o Microsoft Access não salva junto com a consulta, os dados por ela retornados. Ao salvar uma consulta, somente o comando SQL - Structured Query Language é salvo. Cada vez que a consulta é executada, o comando SQL é executado e os dados são retornados a partir das tabelas que fazem parte da consulta. No comando SQL está toda a informação necessária para que o Microsoft Access execute a consulta, tais como: campos a serem retornados, critérios de filtragem, ordenação dos resultados, campos calculados, etc.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 107 de 107

Criar uma consulta

Para criarmos consultas no Microsoft Access não precisamos conhecer a linguagem SQL. O Microsoft Access nos fornece uma interface gráfica conhecida como QBE - Query By Examplo. Esta interface é bastante simples de utilizar a facilita a criação de consultas. O usuário vai "montando" a consulta, utilizando o QBE e o Microsoft Access, em segundo plano, vai criando o comando SQL correspondente.

Nota: Vamos criar diversas consultas de exemplo, para aprendermos a utilizar o QBE. Criaremos as consultas no banco de dados ExTabelas.mdb. Este banco de dados é instalado junto com o Microsoft Access. Para o nosso treinamento o banco de dados Northwind.mdb está disponível na pasta C:\CursoAccBasico. Este banco de dados contém uma série de tabelas, as quais serão utilizadas como base para a criação das consultas de exemplo.

Utilizando o QBE para criar a primeira consulta.

Neste item aprenderemos a criar uma consulta simples. Vamos criar uma consulta baseada na tabela Pedidos, do banco de dados ExTabelas.mdb. A nossa consulta exibirá os campos definidos a seguir:

Nome da consulta Exemplo1-Listagem de Pedidos

Baseada na(s) tabela(s)

Pedidos

Campos que farão parte da consulta Campo Da tabela

NúmeroDoPedido Pedidos DataDoPedido Pedidos DataDeEnvio Pedidos

PaísDeDestino Pedidos CidadeDeDestino Pedidos

Frete Pedidos

Para criar a consulta Exemplo1-Listagem de Pedidos faça o seguinte:

1. Abra o banco de dados ExConsultas.mdb, que está na pasta C:\CursoAccBasico.mdb.

2. Nas opções da janela banco de dados dê um clique em Consultas. Será exibida a janela indicada na próxima figura.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 108 de 108

A opção "Consultas" da janela banco de dados.

3. Para criar uma nova consulta utilizando o QBE dê um clique duplo na opção "Criar consulta no modo Estrutura".

4. Será exibida a janela "Mostrar tabela", conforme indicado na figura a seguir:

Selecione as tabelas que farão parte da consulta.

5. Na janela "Mostrar tabela", nos selecionamos quais as tabelas (ou qual a tabela) farão parte da consulta. Para fazer com que uma tabela faça parte da consulta basta clicar no nome da tabela para marca-la e depois clicar no botão Adicionar.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 109 de 109

6. Para o nosso exemplo somente a tabela Pedidos fará parte da consulta. Dê um clique na tabela Pedidos para seleciona-la e depois dê um clique no botão Adicionar.

7. Dê um clique no botão Fechar. 8. Será exibida a interface gráfica do Microsoft Access para a

criação de consultas (QBE), conforme indicado na figura a seguir:

A interface gráfica para a criação de consultas.

9. Neste momento estamos no "Modo estrutura da consulta". A exemplo das tabelas, cada consulta tem um modo estrutura, onde são definidos quais os campos farão parte da consulta, os critérios de pesquisa e os demais elementos da consulta e um Modo folha de dados, onde são visualizados os resultados obtidos com a execução da consulta. Para alternar entre os diferentes modos podemos utilizar o menu Exibir ou o primeiro botão da barra de ferramentas.

10. Vamos falar um pouco mais sobre o Modo estrutura. Neste modo de exibição você está apto a desenhar a consulta desejada. A janela é composta de duas partes. Na parte de cima, indicada pelo número (1) na figura anterior, temos as tabelas que fazem parte da consulta. Conforme veremos mais adiante, é possível criar uma consulta baseada em duas ou mais tabelas. Caso você tenha esquecido de adicionar uma tabela, no momento da criação de consulta, é possível

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 110 de 110

adiciona-la a qualquer momento, utilizando o botão Adicionar

tabelas ( ). Ao clicar neste botão será exibida a janela "Mostrar tabela", descrita anteriormente. Na janela "Mostrar tabela" você poderá adicionar tabelas adicionais, as quais farão parte da consulta.

11. Na parte de baixo, indicada pelo número (2) na figura anterior, nos definimos quais os campos que farão parte da consulta - linha Campo; qual a ordenação dos resultados, se crescente ou decrescente - linha Classificação; se um campo deve ser ou não exibido - linha Mostrar e quais os critérios de filtragem - linhas Critério e OU. Dependendo do tipo de consulta que está sendo criado, linhas adicionais poderão aparecer na interface gráfica. Estudaremos estas linhas quando aprendermos a criar os respectivos tipos de consulta.

12. Agora precisamos definir quais os campos que farão parte da consulta. Temos três maneiras diferentes de adicionar um campo à consulta:

a. Dar um clique duplo no nome do campo a ser adicionado: Para adicionar um campo à consulta basta dar um clique duplo no nome do campo. Por exemplo, dê um clique duplo no campo NúmeroDoPedido. Observe que este campo foi adicionado na parte de baixa da janela, conforme indicado na figura a seguir:

Campo NúmeroDoPedido adicionado à consulta.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 111 de 111

b. Arrastar o campo a ser adicionado: Outra maneira de

adicionar um campo à consulta é clicar no referido campo, manter o botão do mouse pressionado e arrastar para a primeira coluna que estiver em branco, na parte de baixa da janela. Observe que cada coluna representa um campo que faz parte da consulta. Arraste o campo DataDoPedido para adiciona-lo a consulta, conforme indicado na figura a seguir:

Campo DataDoPedido adicionado à consulta.

c. Selecionar o nome do campo, diretamente na linha Campo, na parte de baixo da janela: Na primeira coluna em branco, que no nosso exemplo é a terceira coluna, na linha campo, existe uma lista com o nome de todos os campos disponíveis para a consulta. Como a nossa consulta é baseada somente na tabela Pedidos, nesta lista será exibido o nome de todos os campos da tabela Pedidos. Caso a consulta seja baseada em mais do que uma tabela (aprenderemos a criar este tipo de consulta nas próximas aulas), aparecerá o nome de todos os campos, de todas as tabelas. Para que você possa saber a qual tabela pertence cada campo, o Microsoft Access utiliza uma nomenclatura que é a seguinte: Nome_da_Tabela.Nome_do_Campo. Por exemplo, o campo NúmeroDoPedido, da tabela Pedidos apareceria como: Pedidos.NúmeroDoPedido, o campo PreçoUnitário, da tabela

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 112 de 112

Procutos, apareceria como Produtos.PreçoUnitário e assim por diante. Para o nosso exemplo, na terceira coluna, na linha Campo, selecione DataDeEnvio, conforme indicado na figura a seguir:

Campo DataDeEnvio adicionado à consulta.

Nota: No decorrer deste curso utilize, dentre os três métodos apresentados para a adição de campos à consulta, aquele que você preferir. Do ponto de vista prático, ou seja, dos resultados obtidos, não tem diferença em relação ao método que é utilizado.

13. Utilizando um dos três métodos descritos anteriormente, adicione os demais campos solicitados. Apenas para lembrar, ainda devem ser adicionados os seguintes campos:

PaísDeDestino CidadeDeDestino

Frete

14. Após ter adicionado os campos solicitados, a sua janela deve estar conforme indicado na figura a seguir:

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 113 de 113

Os campos solicitados já adicionados à consulta.

15. Agora vamos salvar a consulta.

16. Dê um clique no botão Salvar ( ). Surge uma janela pedindo o nome da consulta. Digite Exemplo1-Listagem de Pedidos e dê um clique no botão OK, conforme indicado na figura a seguir:

Salvando a tabela Exemplo1-Listagem de Pedidos.

17. Agora vamos executar a consulta para observar os resultados obtidos. Para executar a consulta, basta irmos para o modo Folha de dados da consulta. Isto pode ser feito utilizando o comando Exibir -> Modo folha de Dados ou

clicando no botão ( ). 18. Selecione o comando Exibir -> Modo folha de Dados. 19. Você obtém uma listagem de Pedidos, somente com os

campos selecionados para a consulta: NúmeroDoPedido, DataDoPedido, DataDeEnvio, PaísDeDestino, CidadeDeDestino e Frete, conforme indicado na figura a seguir. Observe que não aplicamos nenhum filtro e nenhum critério de ordenação. Aprenderemos a tratar com estes itens mais adiante.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 114 de 114

Resultado da consulta Exemplo1-Listagem de Pedidos.

20. Com isso concluímos a criação da nossa primeira consulta.

21. Feche a consulta. Para isso dê um clique no botão "x" mais de baixo, pois se você clicar no "x" mais de cima, o Microsoft Access será fechado.

22. Agora vamos exercitar um pouco os conceitos apresentados. Vamos criar mais duas consultas simples.

Este tipo de consulta que nós acabamos de criar, onde simplesmente são exibidos resultados com base em uma ou mais tabelas, sem que sejam feitas alterações/exclusões/adições de dados, é chamada de consulta de Seleção, ou seja, a consulta simplesmente exibe um conjunto de registros selecionados a partir de uma ou mais tabelas, com base em um ou mais critérios de filtragem (no nosso exemplo não definimos nenhum critério de filtragem). Existem outros cinco tipos de consultas que aprenderemos a criar no decorrer deste treinamento.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 115 de 115

Exercícios - Criação de consultas simples.:

I. Com base nos conceitos apresentados anteriormente vamos criar uma consulta baseada na tabela Funcionários, do banco de dados ExTabelas.mdb. A nossa consulta exibirá os campos definidos a seguir:

Nome da consulta Exemplo2-Listagem de Funcionários

Baseada na(s) tabela(s)

Funcionários

Campos que farão parte da consulta Campo Da tabela

CódigoDoFuncionário Funcionários Nome Funcionários Sobrenome Funcionários Cargo Funcionários DataDeNascimento Funcionários DataDeContratação Funcionários

II. Com base nos conceitos apresentados anteriormente vamos criar uma consulta baseada na tabela Produtos, do banco de dados ExTabelas.mdb. A nossa consulta exibirá os campos definidos a seguir:

Nome da consulta Exemplo3-Listagem de Produtos

Baseada na(s) tabela(s)

Produtos

Campos que farão parte da consulta Campo Da tabela

CódigoDoProduto Produtos NomeDoProduto Produtos CódigoDoFornecedor Produtos PreçoUnitário Produtos UnidadesEmEstoque Produtos NívelDeReposição Produtos Descontinuado Produtos

Nota: Em caso de dúvidas na construção destas consultas, consulte o Instrutor.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 116 de 116

Consultas baseadas em duas ou mais tabelas.

Em determinadas situações, os dados que queremos exibir na consulta, estão em duas ou mais tabelas diferentes. No Microsoft Access é possível criar uma consulta baseada em duas ou mais tabelas. Por exemplo, se quiséssemos calcular o total por Pedido, precisaríamos dos dados da tabela Pedidos (onde estão as informações do cabeçalho de pedido) e dos dados da tabela Detalhes do pedido (onde estão as informações sobre os itens de cada pedido).

Para criar uma consulta baseada em duas ou mais tabelas, é extremamente simples. Na janela "Mostrar tabela" é só adicionar as tabelas onde estão os dados necessários à consulta. Vamos fazer um exemplo prático. Criaremos uma consulta baseada na tabela Pedidos e na tabela Clientes. O objetivo desta consulta é mostrar alguns dados do cabeçalho do Pedido, além do nome e do endereço do cliente.

Neste item aprenderemos a criar uma consulta simples, baseada em duas tabelas. Vamos criar uma consulta baseada na tabela Pedidos e na tabela Clientes, do banco de dados ExTabelas.mdb. A nossa consulta exibirá os campos definidos a seguir:

Nome da consulta Exemplo4-Listagem de Pedidos e Clientes

Baseada na(s) tabela(s)

Pedidos e Clientes

Campos que farão parte da consulta Campo Da tabela

NúmeroDoPedido Pedidos DataDoPedido Pedidos DataDeEnvio Pedidos

PaísDeDestino Pedidos CidadeDeDestino Pedidos

Frete Pedidos CódigoDoCliente Clientes NomeDaEmpresa Clientes

Endereço Clientes Cidade Clientes País Clientes

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 117 de 117

Para criar a consulta "Exemplo4-Listagem de Pedidos e Clientes" faça o seguinte:

1. Abra o banco de dados ExConsultas.mdb, que está na pasta C:\CursoAccBasico.mdb, caso este ainda não esteja aberto.

2. Nas opções da janela banco de dados dê um clique em Consultas.

3. Para criar uma nova consulta utilizando o QBE dê um clique duplo na opção "Criar consulta no modo Estrutura".

4. Será exibida a janela "Mostrar tabela", conforme indicado na figura a seguir:

Selecione as tabelas que farão parte da consulta.

5. Dê um clique na tabela Pedidos para seleciona-la e depois dê um clique no botão Adicionar.

6. Dê um clique na tabela Clientes para seleciona-la e depois dê um clique no botão Adicionar.

7. Dê um clique no botão Fechar. 8. Será exibida a interface gráfica do Microsoft Access para a

criação de consultas (QBE). Observe que as tabelas Pedidos e Clientes já aparecem na parte de cima da janela. Observe que existe um relacionamento entre estas duas tabelas. É um relacionamento do tipo Um-para-Vários, onde o lado Um é na tabela Clientes (cada Cliente é cadastrado uma única vez) e o lado Vários é na tabela Pedidos (Um Cliente pode Fazer vários pedidos, ou seja, o CódigoDoCliente pode aparecer várias vezes na tabela Pedidos, tantas quantos forem os pedidos feito pelo Cliente.

9. Adicione os campos solicitados na definição deste exemplo. 10. Sua janela deve estar conforme indicado na figura a

seguir:

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 118 de 118

Consulta baseada nas tabelas Pedidos e Clientes.

11. Agora vamos salvar a consulta.

12. Dê um clique no botão Salvar ( ). Surge uma janela pedindo o nome da consulta. Digite Exemplo4-Listagem de Pedidos e Clientes e dê um clique no botão OK, conforme indicado na figura a seguir:

Salvando a tabela Exemplo4-Listagem de Pedidos e Clientes.

13. Agora vamos executar a consulta para observar os resultados obtidos. Para executar a consulta, basta irmos para o modo Folha de dados da consulta. Isto pode ser feito utilizando o comando Exibir -> Modo folha de Dados ou

clicando no botão ( ). 14. Selecione o comando Exibir -> Modo folha de Dados. 15. Você obtém uma listagem de Pedidos e com as informações

sobre o respectivo cliente. Observe que não aplicamos nenhum filtro e nenhum critério de ordenação. Aprenderemos a tratar com estes itens mais adiante.

16. Na figura a seguir temos o resultado desta consulta.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 119 de 119

Resultado da consulta Exemplo4-Listagem de Pedidos e Clientes.

17. Com isso concluímos a criação da nossa primeira consulta baseada em duas ou mais tabelas.

18. Feche a consulta. Para isso dê um clique no botão "x" mais de baixo, pois se você clicar no "x" mais de cima, o Microsoft Access será fechado.

Definindo critérios de filtragem e ordenação em consultas

Uma das maiores utilidades das consultas é a possibilidade de aplicarmos critérios que servem como filtro para os dados. Por exemplo, podemos querer uma listagem somente com os pedidos para o Brasil ou somente com os pedidos para a cidade de São Paulo. Podemos aplicar critérios de filtragem para qualquer campo, quer este campo seja do tipo Texto, do tipo Numérico, do tipo Data/Hora ou do tipo Lógico. Não podemos aplicar critérios de filtragem a campos do tipo Objeto OLE.

Conforme veremos neste item, a definição de critérios de filtragem é extremamente simples. Para definir critérios, utilizamos as linhas "Critério" e "Ou", do modo Estrutura da consulta.

Vamos alterar algumas consultas criadas anteriormente para aprendermos a definir critérios de pesquisa. Para alterar uma consulta, basta abrir a consulta a ser alterada, no Modo Estrutura.

Vamos fazer alguns exemplos práticos. A medida que formos fazendo os exemplos, explicaremos cada critério utilizado.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 120 de 120

Definindo critérios para a consulta Exemplo1-Listagem de Pedidos:

1. Abra o banco de dados ExConsultas.mdb, que está na pasta C:\CursoAccBasico.mdb, caso este ainda não esteja aberto.

2. Nas opções da janela banco de dados dê um clique em Consultas.

3. Dê um clique na consulta Exemplo1-Listagem de Pedidos, para seleciona-la.

4. Dê um clique no botão ( ), para acessar o modo estrutura desta consulta.

5. Vamos iniciar definindo um critério para o campo Paísdedestino.

6. Ao definirmos um critério utilizamos a linha Critério, porém o critério deve ser colocado na coluna na qual queremos aplicar o filtro. No nosso exemplo queremos aplicar um filtro para o campo País (somente pedidos para o Brasil), por isso devemos colocar o critério no campo Paísdedestino.

7. No campo PaísDeDestino, na linha critério, digite Brasil, conforme indicado na figura a seguir:

Definindo um critério para o campo PaísDeDestino.

8. Observe que após digitar o critério, o Microsoft Access põem o critério entre aspas. Isso acontece porque o campo PaísDeDestino é um campo do tipo texto e todo critério em campos do tipo Texto, deve estar entre aspas.

9. Agora vamos executar a consulta para observar os resultados obtidos. Para executar a consulta, basta irmos para o modo Folha de dados da consulta. Isto pode ser feito utilizando o

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 121 de 121

comando Exibir -> Modo folha de Dados ou clicando no botão

( ). 10. Selecione o comando Exibir -> Modo folha de Dados. 11. Você obtém uma listagem de Pedidos somente com os

pedidos para o Brasil. 12. Na figura a seguir temos o resultado desta consulta.

Pedidos para o Brasil.

13. Você deve obter como resultado uma listagem com 83 pedidos, conforme indicado na parte inferior da tela.

14. Agora vamos voltar para o modo estrutura e classificar os resultados em ordem crescente do campo DataDoPedido, ou seja, do pedido mais antigo para o pedido mais recente.

15. Para voltar ao modo estrutura selecione o comando Exibir -> Modo estrutura.

16. No campo DataDoPedido, na linha Classificação, selecione Crescente, conforme indicado na figura a seguir:

Ordenando pelo campo DataDoPedido.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 122 de 122

17. Vá para o modo Folha de dados e observe os resultados. Agora a listagem está classificada, em ordem Crescente, pelo campo DataDoPedido, conforme pode ser conferido pela figura a seguir:

Listagem ordenada pelo campo DataDoPedido.

18. Volte para o modo estrutura da consulta. 19. Agora vamos definir dois critérios de filtragem. Vamos

manter o critério para PaísDeDestino como sendo Brasil e vamos definir um critério para a Cidade. Vamos fazer com que sejam exibidos apenas os pedidos para a cidade de São Paulo.

20. No campo CidadeDeDestino, na linha Critério digite São Paulo.

21. Vá para o modo Folha de dados e observe os resultados. Agora são exibidos apenas os pedidos que atendem os dois critérios especificados: PaísDeDestino="Brasil" e CidadeDeDestino="São Paulo", conforme indicado na figura a seguir:

Somente pedidos para o Brasil, para São Paulo.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 123 de 123

22. Observe que temos apenas 31 registros que atendem a dois aos dois critérios especificados.

23. Quando definimos mais de um critério, na linha "Critério", todos os critérios definidos, devem ser atendidos para que um registro seja selecionado. Por exemplo, se definirmos critérios em quatro campos diferentes, e um determinado registro atender apenas os critérios de três dos quatro campos, este registro não será selecionado.

24. Vamos fazer um pequeno teste. 25. Volte para o modo estrutura e altere o critério do campo

CidadeDeDestino. Exclua "São Paulo" e digite "Paris". 26. Vá para o modo Folha de Dados e observe que você não

obteve nenhum registro, como resultado da consulta. Este resultado já era esperado, pois não existe Pedidos para o Brasil, em que a CidadeDeDestino é Paris, ou seja, nenhum registro atende os dois critérios. Existem Pedidos para o Brasil (mas não existe a cidade Paris no Brasil); também existem pedidos para Paris (mas para estes pedidos o PaísDeDestino é França e não Brasil).

27. Volte para o modo Estrutura da Consulta. 28. Exclua os critérios para o campo PaísDeDestino e para o

campo CidadeDeDestino. 29. Vamos definir alguns critérios para o campo

DataDoPedido. Vamos aplicar um filtro de tal maneira que somente sejam exibidos os Pedidos para o ano de 1997. Como definir este filtro??

30. Para aplicar um filtro em campos do tipo Data/Hora podemos utilizar os operadores de comparação descritos na tabela a seguir:

Operador Função > Maior do que < Menor do que >= Maior ou igual <= Menor ou igual <> Diferente

Operadores de comparação do Microsoft Access.

31. Internamente o Microsoft Access armazena as datas como sendo Números, por isso é possível utilizar os operadores de comparação para definir critérios de filtragem em campos do tipo Data/Hora.

32. Para fazer com que sejam exibidos apenas os Pedidos para o ano de 1997, na Coluna DataDoPedido, no campo Data/Hora, defina o seguinte critério:

>=#01/01/1997# E <=#31/12/1997#

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 124 de 124

33. Vamos explicar os detalhes do critério anterior. 34. Em primeiro lugar estamos utilizando o operador >= para

dizer que somente devem ser selecionados os pedidos a partir (com data maior ou igual) de 01/01/1997. Um detalhe importante a observar é que, ao utilizarmos critérios para datas, devemos colocar o caractere # antes e depois da data. Ainda temos que limitar as datas somente ao ano de 1997, ou seja Datas até (com data menor ou igual) 31/12/1997. Quando temos dois critérios, que devem ser atendidos simultaneamente, para que o registro seja selecionado, devemos ligar estes critérios com o operador E. Neste caso um registro somente será selecionado se atender os dois critérios, ou seja, se a data for >=#01/01/1997# E também for <=#31/12/1997#. Por exemplo, se a Data for 08/03/1998; esta data atende o primeiro critério - >=#01/01/1997#, porém não atende o segundo - <=#31/12/1997#; portanto este registro não será selecionado, o que confere com os critérios especificados.

35. Vá para o modo Folha de Dados e observe que somente são exibidos os pedidos para o ano de 1997, conforme indicado na figura a seguir:

Filtrando somente os pedidos para o ano de 1997.

36. Volte para o modo Estrutura da Consulta. 37. Exclua o critério definido no campo DataDoPedido. 38. Vamos a mais um exemplo com critérios para datas. 39. Vamos definir um critério de tal maneira que somente

sejam exibidos os pedidos para o último trimestre de 1996 (Out, Nov e Dez de 1996) e para o segundo trimestre de 1997 (Abr, Mai e Jun de 1997). Observe que temos dois critérios distintos, ou seja, para períodos diferentes. Quando temos dois critérios de conjuntos distintos, onde um ou outro deve ser atendido, para que o registro seja selecionado, utilizamos a linha Ou.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 125 de 125

40. Critérios colocados em linhas diferentes (um na linha Critério e outro na linha Ou) são avaliados independentemente. Para que um registro seja selecionado basta que este registro atendo os critérios de uma das linhas; não é necessário que o registro atendo os critérios definidos nas duas linhas. No nosso exemplo, vamos colocar o critério para o último trimestre de 1996 na linha Critério e o critério para o segundo trimestre de 1997 na linha Ou, conforme indicado na figura a seguir:

Definindo critérios em linhas separadas.

41. Observe que na linha Critério, na coluna DataDoPedido, colocamos o seguinte critério: >=#01/10/1996# E <=#31/12/1996#

42. Observe que na linha OU, na coluna DataDoPedido, colocamos o seguinte critério: >=#01/04/1997# E <=#30/06/1997#

43. Vá para o modo Folha de Dados e observe que somente são exibidos os pedidos para os dois períodos definidos nos critérios, conforme indicado na figura a seguir:

Pedidos para o quarto trimestre de 1996 e para o segundo trimestre de 1997.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 126 de 126

44. Obtemos, como resultado, 175 registros. 45. Volte para o modo estrutura da consulta. 46. Agora vamos combinar critérios de texto e de data.

Comece excluindo os critérios definidos no exemplo anterior. 47. Agora vamos definir critérios para que sejam exibidos

somente os pedidos para o Brasil, no ano de 1998. 48. Neste caso temos dois critérios a serem definidos, ou

seja, o campo PaísDeDestino deve ser Brasil e o campo DataDoPedido deve estar dentro do ano de 1998. Como os dois pedidos devem ser atendidos simultaneamente, devemos coloca-los na mesma linha. Faremos isso colocando os dois critérios na linha Critério, cada um em seu respectivo campo.

49. Na linha Critério, no campo DataDoPedido defina o seguinte critério: >=#01/01/1998# E <=#31/12/1998#

50. Na linha Critério, no campo PaísDeDestino defina o seguinte critério: "Brasil".

51. Vá para o modo Folha de Dados e observe que somente são exibidos os pedidos para o Brasil no ano de 1998. Obtemos 28 registros, conforme indicado na figura a seguir:

Pedidos para o Brasil, para o ano de 1998.

52. Volte para o modo estrutura da consulta. 53. Vamos alterar um pouco o exemplo anterior. 54. Vamos supor que além dos pedidos para o Brasil, no ano

de 1998, nos queremos que sejam também exibidos os pedidos para a Alemanha, independente do ano. Em resumo, queremos que sejam retornados os pedidos para o Brasil somente para o ano de 1998 e todos os pedidos para a Alemanha, independente da DataDoPedido.

55. Observe que são dois conjuntos de critérios completamente independentes, ou seja, para que um registro seja selecionado, este registro deve atender um ou outro critério. O critério para Brasil, ano de 1998 nos já havíamos definido no exemplo anterior.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 127 de 127

56. Agora vamos definir o critério para Alemanha. Neste caso, na linha OU (pois são dois conjuntos de critérios independentes), na coluna PaísDeDestino, digite o seguinte critério: "Alemanha"

57. Vá para o modo Folha de Dados e observe que somente são exibidos os pedidos para o Brasil no ano de 1998 e todos os pedidos para a Alemanha, independentemente do ano. Obtemos 150 registros, conforme indicado na figura a seguir:

Pedidos para o Brasil/1998 e todos os pedidos para a Alemanha.

58. Volte para o Modo estrutura da consulta. 59. Exclua todos os critérios definidos no exemplo anterior. 60. Vamos definir critérios no campo Frete, que é um campo

numérico. Para definir critérios em campos numéricos podemos utilizar os mesmos Operadores de Comparação descritos anteriormente.

61. Vamos definir um critério para o campo Frete. Vamos fazer com que sejam exibido somente os registros em que o valor do Frete for maior do que 300 - >300.

62. Inicialmente retire a classificação Crescente do campo DataDoPedido. Para isso simplesmente seleciona a opção em branco, na linha Classificação do campo DataDoPedido.

63. Na linha Critério, do campo Frete, digite o seguinte critério: >300.

64. Na linha Classificação, do campo Frete, selecione a opção Crescente.

65. Vá para o modo Folha de Dados e observe que somente são exibidos os pedidos com valores de Frete superiores a 300. Obtemos 35 registros, conforme indicado na figura a seguir:

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 128 de 128

Pedidos com frete maior do que 300.

66. Volte para o modo estrutura e exclua o critério para o campo frete.

67. Feche a consulta. O Microsoft Access pergunta se você deseja salvar a consulta. Responda que não deseja salvar a consulta.

68. Com isso aprendemos uma série de detalhes sobre a definição de critérios básicos de filtragem. Agora vamos fazer alguns exercícios para fixar os conceitos apresentados.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 129 de 129

Exercícios - Criação de consultas simples com critérios.:

• Exercício 01: Esta consulta deve ser baseada na tabela Pedidos. Devem ser incluídos os seguintes campos:

• • NúmeroDoPedido • DataDeEnvio • Via • Frete • PaísDeDestino • CidadeDeDestino

Classificar a consulta pelo nome do País de Destino e dentro do país pelo nome da Cidade. Salvar a consulta com o nome de Exercício01-Critérios.

• Exercício 02: Esta consulta deve ser baseada na tabela Pedidos. Devem ser incluídos os seguintes campos:

• NúmeroDoPedido • DataDeEnvio • Via • Frete • PaísDeDestino • CidadeDeDestino

Especificar um critério para que sejam exibidos apenas os Pedidos para o Brasil para a Cidade do Rio de Janeiro e todos os pedidos para a Áustria, independente de Cidade. Salvar a consulta com o nome de Exercício02-Critérios.

• Exercício 03: Esta consulta deve ser baseada na tabela Pedidos. Devem ser incluídos os seguintes campos:

• NúmeroDoPedido • DataDeEnvio • Via • Frete • PaísDeDestino • CidadeDeDestino

Exibir apenas os registros para o Brasil e Para a Argentina em que o frete seja maior do que 10 Reais e todos os pedidos para a Alemanha, independente do valor do frete. Salvar a consulta com o nome de Exercício03-Critérios.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 130 de 130

• Exercício 04: Esta consulta deve ser baseada na tabela Pedidos. Devem ser incluídos os seguintes campos:

• NúmeroDoPedido • DataDoPedido • DataDeEnvio • PaísDeDestino • Frete • Via

Exibir apenas os pedidos para o ano de 1997 em que o País de Destino é o Brasil e todos os pedidos para a Argentina. Salvar a consulta com o nome de Exercício04-Critérios.

• Exercício 05: Esta consulta deve ser baseada na tabela Pedidos. Devem ser incluídos os seguintes campos:

• NúmeroDoPedido • DataDoPedido • DataDeEnvio • PaísDeDestino • Frete • Via

Exibir apenas os pedidos para o ano de 1996 e também para o ano de 1998 em que o País de Destino é o Brasil. Salvar a consulta com o nome de Exercício05-Critérios.

• Exercício 06: Esta consulta deve ser baseada na tabela Pedidos. Devem ser incluídos os seguintes campos:

• NúmeroDoPedido • DataDoPedido • DataDeEnvio • PaísDeDestino • Frete • Via

Exibir apenas os pedidos para o Brasil para o segundo trimestre de 1997 e para o primeiro trimestre de 1998. Salvar a consulta com o nome de Exercício06-Critérios.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 131 de 131

CONSULTA COM DADOS DE VÁRIAS TABELAS - EXERCÍCIO

• Exercício 07: Esta consulta deve ser baseada nas tabelas Pedidos e Detalhes do Pedido. Devem ser incluídos os seguintes campos:

Campo Tabela

NúmeroDoPedido Detalhes do Pedido

DataDoPedido Pedidos DataDeEnvio Pedidos PaísDeDestino Pedidos CódigoProduto Detalhes do Pedido PreçoUnitário Detalhes do Pedido Frete Pedidos

Exibir apenas os Pedidos para o terceiro trimestre de 1995 em que o PaísDeDestino é Brasil, Alemanha, Argentina ou França.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 132 de 132

Totalizando valores em consultas - a linha Totais.

Na parte referente a Tabelas fizemos uma observação de que nunca devem ser criados campos para armazenar valores calculados. Nesta ocasião comentamos que, quando necessário, estes valores devem ser calculados utilizando consultas. Temos duas maneiras de calcular valores, utilizando consultas:

• Totalizações utilizando a linha Totais. • Criação de colunas calculadas.

Neste tópico aprenderemos a utilizar a linha de Totais e no próximo tópico aprenderemos a criar colunas calculadas. Vamos imaginar o seguinte exemplo: Queremos uma consulta que forneça o número de pedidos por PaísDeDestino, conforme indicado na figura a seguir:

Número de pedidos por País de Destino.

Ou poderíamos criar uma consulta que exibe a Soma de todos os fretes para cada País de Destino, conforme indicado na figura a seguir:

Soma do frete por País de Destino.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 133 de 133

Veremos, através de exemplos práticos, que a criação destas consultas é bastante simples. Vamos aos exemplos.

Para criar uma consulta que informe o número de pedidos enviados para cada PaísDeDestino, faça o seguinte:

1. Em primeiro lugar temos que pensar para definir quais os campos serão necessários para a criação da consulta proposta.

2. Precisamos do campo PaísDeDestino, da tabela Pedidos, pois queremos contar o número de pedidos para cada país.

3. Em seguida precisamos utilizar um campo que seja único para cada pedido, de tal forma que a contagem possa ser feita corretamente. O campo que é único para cada pedido é o campo NúmeroDoPedido.

4. Por isso para a construção da nossa consulta utilizaremos os seguintes campos da tabela Pedidos:

• Paísdedestino • NúmeroDoPedido

5. Crie uma nova consulta clicando na opção "Criar consulta no modo Estrutura".

6. Adicione a tabela Pedidos. 7. Adicione os campos NúmeroDoPedido e PaísDeDestino. 8. Vá para o modo folha de dados e observe que é exibida uma

listagem simples, com todos os pedidos, onde é exibido o PaísDeDestino e o NúmeroDoPedido, conforme indicado na figura a seguir:

Listagem antes da utilização da linha Totais.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 134 de 134

9. Para fazer com que o Microsoft Access conte o número de pedidos por país de Destino, precisamos voltar ao modo Estrutura da consulta e fazer com que a linha Totais seja exibida.

10. Volte para o modo Estrutura da consulta. 11. Selecione o comando Exibir -> Totais. 12. Observe que uma nova linha é exibida no Modo Estrutura:

Total. 13. No campo PaísDeDestino, na linha Total, selecione a

opção Agrupar por. Esta opção significa que, para a exibição, todos os pedidos para um determinado país devem ser agrupados em uma única linha.

14. No campo NúmeroDoPedido, na linha Total, selecione a opção Contar. Com isso estamos pedindo que, dentro do agrupamento de um determinado país, o Microsoft Access conte quantos pedidos diferentes existem, ou seja, que seja informado o Número de pedidos por País de Destino, justamente a listagem que queremos.

15. Suas configurações devem estar conforme definido na figura a seguir:

Configurações da linha Total.

16. Além da opção Contar nos temos opções para calcular totais (Somar), calcular a média aritmética (Média), desvio padrão (Desv), dentre outras funções.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 135 de 135

17. Vá para o modo Folha de Dados e observe os resultados, conforme indicado na figura a seguir:

Número de pedidos por País de Destino.

18. Observe que temos 21 registros como resultado desta consulta. Isto significa que temos pedidos para 21 países diferentes.

19. Vamos voltar para o modo estrutura e salvar a consulta. 20. Volte para o modo estrutura. 21. Salve a consulta com o seguinte nome: Exemplo-Núm

Pedidos por País. 22. Feche a consulta. 23. Observe que com a linha Total conseguimos, facilmente,

determinar o número de pedidos por país de destino.

Agora faremos mais um exemplo para fixar a utilização da linha Total. Vamos criar uma consulta que lista o nome do Cliente e a soma dos fretes pago pelo cliente.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 136 de 136

Para criar uma consulta que informe o nome do Cliente e a soma de todos os fretes pagos pelo cliente, faça o seguinte:

1. Em primeiro lugar temos que pensar para definir quais os campos serão necessários para a criação da consulta proposta.

2. Precisamos do campo NomeDaEmpresa, da tabela Clientes, pois queremos a soma do frete por cliente, o qual é representado pelo NomeDaEmpresa.

3. Também precisamos do campo Frete da tabela Pedidos, para fazer a soma dos fretes para cada cliente.

4. Com isso chegamos a conclusão de que a nossa consulta deverá ser baseada nas seguintes tabelas: Pedidos e Clientes.

5. Por isso para a construção da nossa consulta utilizaremos os seguintes campos:

• NomeDaEmpresa da tabela Clientes • Frete da tabela Pedidos

6. Crie uma nova consulta clicando na opção "Criar consulta no modo Estrutura".

7. Adicione a tabela Pedidos. 8. Adicione a tabela Clientes. 9. Adicione o campo NomeDaEmpresa da tabela Clientes. 10. Adicione o campo Frete da tabela Pedidos. 11. Vá para o modo folha de dados e observe que é exibida

uma listagem simples, com o nome dos vários clientes e o valor respectivo do frete. Observe que o nome de um mesmo cliente pode aparecer várias vezes. Isso acontece porque um mesmo cliente pode ter vários pedidos. Por exemplo, se o nome de um cliente aparecer 20 vezes nesta listagem, isto significa que o cliente tem 20 pedidos cadastrados. Porém observe que o valor do frete é diferente para cada pedido. A função da linha Total, que usaremos logo em seguida, é justamente essa: Agrupar todos os pedidos de um mesmo cliente (Agrupar por NomeDaEmpresa) e fazer uma operação matemática com o outro campo, que no nosso exemplo será somar todos os valores do frete para cada cliente.

12. Para fazer com que o Microsoft Access agrupe os diversos registros de cada cliente e some o frete, precisamos voltar ao modo Estrutura da consulta e fazer com que a linha Totais seja exibida.

13. Volte para o modo Estrutura da consulta. 14. Selecione o comando Exibir -> Totais. 15. Observe que uma nova linha é exibida no Modo Estrutura:

Total. 16. No campo NomeDaEmpresa, na linha Total, selecione a

opção Agrupar por. 17. No campo Frete, na linha Total, selecione a opção Soma. 18. Suas configurações devem estar conforme definido na

figura a seguir:

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 137 de 137

Configurações da linha Total.

19. Vá para o modo Folha de Dados e observe os resultados, conforme indicado na figura a seguir:

Soma do frete por cliente - NomeDaEmpresa.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 138 de 138

20. Observe que temos 89 registros como resultado desta

consulta. Isto significa que temos pedidos para 89 Clientes diferentes.

21. Vamos voltar para o modo estrutura e salvar a consulta. 22. Volte para o modo estrutura. 23. Salve a consulta com o seguinte nome: Exemplo-Soma Frete

Por Cliente. 24. Feche a consulta.

Agora faremos alguns exercícios para fixar a utilização da linha de totais. Vamos "misturar", na mesma consulta, os conceitos vistos até agora. Por exemplo, vamos criar uma consulta onde utilizamos, ao mesmo tempo, a linha Total e critérios de pesquisa.

Na proposição de cada exercício apresentarei somente uma tela com os resultados desejados, sem especificar quais campos e quais tabelas devem fazer parte da consulta. O objetivo com essa metodologia é fazer com que você, tendo um problema proposto, analise o problema e, utilizando o Microsoft Access, busque uma solução. Com isso estou procurando simular o trabalho diário que cada um enfrentará na sua seção, onde existe a necessidade de se obter determinados resultados e nada mais. Com base nas necessidades parte-se em busca de uma solução.

Em caso de dúvidas consulte o instrutor. Os exemplos propostos serão corrigidos em aula.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 139 de 139

Exercícios:

1. Crie uma consulta que retorne o número de pedidos, por Funcionário, somente para o ano de 1998, conforme indicado na figura a seguir:

Número de pedidos por funcionário, para o ano de 1998.

Dica: Para definir um critério, quando utilizamos a linha Total, devemos fazer o seguinte:

• Adicionar o campo para o qual será aplicado o critério. Para o nosso exemplo devemos adicionar o campo DataDoPedido, da tabela Pedidos. • Na linha Total, do campo DataDoPedido, selecione a opção Onde. A opção "Onde" é que indica ao Microsoft Access que o campo será utilizado somente para a definição de um critério e não para agrupamentos ou totalizações. • Na linha Critério, do campo DataDoPedido, defina um critério para que sejam selecionados somente os pedidos para o ano de 1998, conforme orientações apresentadas anteriormente.

Salve a consulta com o nome de Exercício-Pedidos por Cliente.

2. Crie uma consulta onde seja exibido o total de frete por CidadeDeDestino, somente para os anos de 1996 e 1998. A listagem deve ser classificada, em ordem decrescente, da soma do frete, conforme indicado na próxima figura.

Observe que os valores estão classificados da maior para a menor soma.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 140 de 140

Soma do frete por Cidade de Destino.

Salve a consulta com o nome de Exercício-Soma Frete por Func.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 141 de 141

Criando "Campos Calculados" em consultas.

No item sobre "Conceitos básicos de banco de dados", foi dito que não devemos armazenar campos calculados. Quando necessário, os cálculos necessários são feitos. A maneira de fazer os referidos cálculos é através da utilização de consultas. Podemos criar campos calculados, que são exibidos em uma consulta.

Para criar um campo calculado, ao invés de selecionar o nome de um campo de uma das tabelas que fazem parte da consulta, nos digitamos, na linha Campo, diretamente a expressão de cálculo, no seguinte formato:

NomeDoCampoNaConsulta: Expressão de cálculo

Antes dos dois pontos (:) colocamos o nome que o campo calculado receberá na consulta. Por padrão este nome aparece como título da coluna, para o campo calculado, quando a coluna é executada.

Após os dois pontos colocamos a expressão de cálculo. Esta expressão é qualquer expressão de cálculo válida. Para a construção de expressões podemos utilizar as funções do Microsoft Access e os operadores aritméticos indicados na tabela a seguir:

Operação Símbolo Adição +

Subtração - Multiplicação *

Divisão /

Nota: Aprenderemos a utilizar algumas funções do Microsoft Access, nas próximas lições deste curso.

O nome que vem antes dos dois pontos não pode ser o mesmo nome de um dos campos que fazem parte da consulta e nem o nome de uma função ou palavra reservada do Microsoft Access.

Na tabela a seguir temos alguns exemplos de expressões para a criação de campos calculados.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 142 de 142

Expressão Detalhes

Resultado: [Receita]-[Despesa]

Cria um campo calculado chamado Resultado (nome que vem antes dos

dois pontos).

Observe que o nome dos campos, na expressão de cálculo, está entre colchetes. Na expressão de calcula (que vem após os dois pontos), fazemos a seguinte subtração: [Receita]-[Despesa], onde [Receita] e [Despesa] são campos de uma das tabelas que fazem parte da consulta.

ValorDoItem: [Quantidade]*[PreçoUnitário]

Calcula o valor individual de cada item, de cada pedido, multiplicando a quantidade vendida ([Quantidade]) pelo valor do respectivo Preço Unitário ([PreçoUnitário]).

Diferença:[DataDeEnvio]-[DataDoPedido]

Esta expressão calcula a diferença, em dias, entre a DataDeEnvio e a DataDoPedido. Podemos fazer esta subtração entre datas, pois o Microsoft Access armazena as datas, internamente, como sendo números, conforme explicado anteriormente.

ValorDoItem: ([Quantidade]*[PreçoUnitário])* (1-[Desconto])

Neste exemplo, para o cálculo do total para cada item, estamos levando em consideração um determinado percentual de desconto -

definido no campo [Desconto]. Também observe que estamos utilizando parênteses para definir a ordem de execução da expressão. O Microsoft Access executa, em primeiro lugar, o que estiver entre parênteses. No nosso exemplo, primeiro será calculado o valor de ([Quantidade]*[PreçoUnitário]), em seguida o valor de (1-[Desconto]) e, por último, os dois valores obtidos anteriormente serão multiplicados. Com a utilização de parênteses podemos fazer com que o Microsoft Access siga uma ordem específica de execução.

ValorDesconto: [Preço]*0,25 Esta expressão cria uma coluna calculada, chamada ValorDesconto, a qual corresponde a 25% (0,25) do valor do campo [Preço].

Vamos fazer alguns exemplos práticos para aprender a criar campos calculados em consultas. Nestes exemplos vamos aplicar os conceitos já vistos até o momento:

• Criação de consultas simples. • Definição de critérios em consultas. • Utilização da linha Total.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 143 de 143

Exemplo 1: Criar uma consulta que exiba os seguintes campos:

Nome da consulta Exemplo- Total por pedido

Baseada na(s) tabela(s)

Pedidos e Detalhes do pedido

Campos que farão parte da consulta Campo Da tabela

NúmeroDoPedido Pedidos DataDoPedido Pedidos PaísDeDestino Pedidos

CidadeDeDestino Pedidos Frete Pedidos

TotalPorPedido ([Quantidade]*[PreçoUnitário])*(1-[Desconto])

Para criar a consulta proposta faça o seguinte:

1. Abra o Microsoft Access. 2. Abra o banco de dados ExConsultas.mdb 3. Dê um clique na opção Consultas. 4. Dê um clique duplo na opção "Criar consulta no modo

Estrutura". 5. Na janela "Mostrar tabela", adicione as tabelas Pedidos e

Detalhe do pedido. 6. No modo estrutura adicione os campos NúmeroDoPedido,

DataDoPedido, PaísDeDestino, CidadeDeDestino e Frete, conforme indicado na figura a seguir:

Criando a estrutura básica da consulta.

7. Na coluna em branco ao lado do campo Frete, na linha Campo, digite a seguinte expressão:

TotalPorPedido: ([Quantidade]*[PreçoUnitário])*(1-[Desconto])

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 144 de 144

8. Classifique a consulta em ordem crescente do campo NúmeroDoPedido.

9. Vá para o modo Folha de dados. 10. Você obterá os resultados indicados na figura a seguir:

Resultados parciais para a consulta.

11. Observe que temos alguns problemas com os resultados obtidos.

12. Em primeiro lugar, os valores não estão sendo totalizados para cada pedido. Ao invés disso está sendo exibido o subtotal por item do pedido. Observe que aparecem três linhas para o pedido 10248. Cada linha representa um item do pedido. Para que seja feita a totalização por pedido, temos que fazer com que a linha total seja exibida de tal maneira que possamos Agrupar todos os itens do mesmo pedido e somar os respectivos valores. Faremos isso logo em seguida.

13. O segundo problema é referente a formatação dos resultados para a coluna TotalPorPedido. Observe que não temos um padrão em relação a formatação desta coluna. Logo em seguida aprenderemos a formatar essa coluna como sendo do tipo Moeda e com três casas decimais.

14. Volte para o modo estrutura. 15. Faça com que a linha Total seja exibida. Para isso

selecione o comando Exibir -> Totais. 16. Na linha Total, para todos os campos deve estar

selecionado "Agrupar por", com exceção do campo calculado - TotalPorPedido, para o qual deve estar selecionada a opção Soma.

17. Agora vamos formatar a coluna calculada - TotalPorPedido.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 145 de 145

18. Dê um clique com o botão direito do mouse na expressão TotalPorPedido.

19. No menu de opções que surge dê um clique na opção Propriedades...

20. Surge a janela "Propriedades do campo". 21. No campo Formato selecione Moeda e no campo Casas

decimais selecione 2, conforme indicado na figura a seguir:

Formatando a coluna calculada.

22. Clique no botão "x", da janela Propriedade do campo para fecha-la e aplicar as formatações definidas.

23. Podemos formatar a exibição de qualquer campo que faz parte de uma consulta, utilizando o procedimento descrito.

24. Vá para o modo Folha de dados e observe os resultados. Agora os valores já estão agrupados por NúmeroDoPedido e a coluna calculada está formatada corretamente, conforme indicado na figura a seguir:

Resultados já corretamente agrupados e formatados. 25. Salve a consulta com o nome de Exemplo- Total por

pedido. 26. Feche a consulta.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 146 de 146

Exemplo 2: Precisamos criar uma consulta para listar quais os destinos para os quais existe uma diferença maior do que 10 dias entre a DataDeEnvio e a DataDoPedido. Para isso precisamos criar uma consulta que calcula a diferença, em dias, entre estas duas datas e aplique um filtro para exibir apenas aqueles pedidos, com os respectivos destinos, em que esta diferença é maior do que 15 dias. Crie uma consulta que exiba os seguintes campos:

Nome da consulta Exemplo- Maiores diferenças

Baseada na(s) tabela(s)

Pedidos

Campos que farão parte da consulta Campo Da tabela

NúmeroDoPedido Pedidos DataDoPedido Pedidos DataDeEnvio Pedidos

PaísDeDestino Pedidos CidadeDeDestino Pedidos

Diferença [DataDeEnvio]-[DataDoPedido]

Para criar a consulta proposta faça o seguinte:

1. Abra o Microsoft Access se este não estiver aberto. 2. Abra o banco de dados ExConsultas.mdb 3. Dê um clique na opção Consultas. 4. Dê um clique duplo na opção "Criar consulta no modo Estrutura". 5. Na janela "Mostrar tabela", adicione a tabela Pedidos. 6. No modo estrutura adicione os campos NúmeroDoPedido,

DataDoPedido, DataDeEnvio,PaísDeDestino e CidadeDeDestino. 7. Na coluna em branco ao lado do campo Frete, na linha Campo,

digite a seguinte expressão:

Diferença: [DataDeEnvio]-[DataDoPedido] 8. Classifique a consulta em ordem decrescente do campo calculado

Diferença. 9. Vá para o modo Folha de dados. 10. Você obterá os resultados indicados na figura a seguir:

Diferença em dias, entre a DataDeEnvio e a DataDoPedido.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 147 de 147

11. Observe que ainda não aplicamos o filtro para que seja exibidos apenas os registros onde a diferença é maior do que 15 dias. Vamos aplicar este filtro.

12. Volte para o modo estrutura da consulta. 13. No campo calculado Diferença, na linha critério, digite

o seguinte critério: >15 14. Vá para o modo Folha de dados. 15. Observe que agora somente são exibidos os registros em

que a diferença é maior do que 15 dias. Agora obtemos somente 90 registros.

16. Salve a consulta com o nome de Exemplo- Maiores diferenças.

17. Feche a consulta.

Agora faremos alguns exercícios para fixar a criação de campos calculados em consultas. Vamos "misturar", na mesma consulta, os conceitos vistos até agora. Por exemplo, vamos criar uma consulta onde utilizamos, ao mesmo tempo, a linha Total, campos calculados e critérios de pesquisa.

Na proposição de alguns exercício apresentarei somente uma tela com os resultados desejados, sem especificar quais campos e quais tabelas devem fazer parte da consulta. O objetivo com essa metodologia é fazer com que você, tendo um problema proposto, analise o problema e, utilizando o Microsoft Access, busque uma solução. Com isso estamos simulando o trabalho diário que cada um enfrentará na sua seção, onde existe a necessidade de se obter determinados resultados a partir de um conjunto de tabelas. Com base nas necessidades parte-se em busca de uma solução.

Em caso de dúvidas consulte o instrutor. Os exemplos propostos serão corrigidos em aula.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 148 de 148

Exercícios:

1. Criar uma consulta que exiba o total de vendas por funcionário, conforme indicado na figura a seguir:

Total de vendas por funcionário.

Dica: O Nome e o Sobrenome do funcionário estão em campos separados, na tabela funcionários. Par fazer com que seja exibido o nome completo, criamos uma coluna calculada chamada Funcionário, onde utilizamos a seguinte expressão:

Funcionário: [Nome]+" "+[Sobrenome]

Neste exemplo utilizamos o operador "+" para concatenar o [Nome], um espaço em branco " " e o [Sobrenome]. Se não tivéssemos acrescentado o espaço em branco, o Nome sairia "grudado" com o Sobrenome.

Dica 02: Embora iremos utilizar somente campos das tabelas Clientes e Detalhes do pedido, também devemos incluir a tabela Pedidos, para que as tabelas Clientes e Pedidos não fiquem "soltas", sem nenhum relacionamento entre elas. A tabela Pedidos é necessária para que o Microsoft Access saiba os relacionamentos que existem entre as tabelas. Se não adicionássemos a tabela Pedidos, o Microsoft Access não teria como saber para que cliente é um determinado pedido, com isso obteríamos resultados incorretos.

Salva a consulta com o seguinte nome: Exemplo-Total de vendas por Func.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 149 de 149

2. Altere a consulta anterior para que o valor do [Frete]

também seja incluído no cálculo do total de vendas por Funcionário. Você obterá os resultados indicados na figura a seguir:

Total de vendas por funcionário, considerando o Frete.

3. Crie um consulta para determinar o total de vendas, considerando o Frete, por PaísDeDestino, somente para o ano de 1997. Classifique os resultados em ordem decrescente do total de vendas. Você deve obter os resultados indicados na figura a seguir:

Total de vendas para o ano de 1997, por PaísDeDestino.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 150 de 150

Utilizando operadores para definir critérios de pesquisa.

O Microsoft Access disponibiliza uma série de operadores que facilitam a definição de critérios de pesquisa. Além de facilitar a definição, os operadores do Microsoft Access nos oferecem uma série de possibilidades para a definição de critérios mais sofisticados. Aprenderemos a utilizar os seguintes operadores:

• In • Between • Not • Like

Ao utilizarmos estes operadores o Microsoft Access, automaticamente, traduz o nome dos operadores para Português, conforme indicado na tabela a seguir:

O operador É traduzido por In Em

Between Entre Not É Negado Like Como

O operador In.

O operador In é utilizado para definir critérios de filtragem em campos do tipo texto. Quando temos vários critérios para serem especificados em um mesmo campo, é mais vantagem utilizar o operador In do que utilizar os vários critérios unidos pelo operador Ou. Considere o exemplo a seguir, onde temos um critério definido para o campo PaísDeDestino, de duas maneiras diferentes: uma utilizando "um monte" de operadores Ou e outra utilizando um único operador In.

"Brasil" Ou "Argentina" Ou "Alemanha" Ou "França" Ou "Áustria"

In ("Brasil";"Argentina";"Alemanha";"França";"Áustria")

Observe que com a utilização do operador In o critério fica "mais enxuto", de mais fácil leitura e interpretação. Neste exemplo serão selecionados apenas os pedidos para os países especificados. Observe que os diferentes elementos são separados por ; e cada elemento está entre aspas. Entre o operador In e a abertura do parênteses existe um espaço em branco. Na tabela a seguir temos mais alguns exemplos de utilização do operador In.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 151 de 151

Exemplo Util. no Campo.

Registros selecionados

In ("Brasil";"Argentina";"Alemanha") PaísDeDestino Somente os pedidos para o Brasil, Argentina ou Alemanha.

In ("São Paulo","Campinas";"Paris"; "Buenos Aires";"Londres")

CidadeDeDestino

Somente os pedidos para as cidades especificadas.

Not In("Brasil";"Alemanha") PaísDeDestino Todos os pedidos com exceção dos pedidos enviados para o Brasil ou Para a Alemanha. O Operador Not significa: Não, negar.

O operador Between.

O operador Between é utilizado em campos numéricos ou do tipo Data/Hora, para testar se o campo está dentro de uma determinada faixa de valores. Por exemplo, para testar se o valor do frete é maior ou igual a 10 ou menor ou igual a 20, podemos utilizar um dos seguintes critérios:

>=10 E <=20

Between 10 E 20

Para testar se uma data está dentro do ano de 1997 podemos utilizar um dos seguintes critérios:

>=#01/01/1997# E <=#31/12/1997#

Between #01/01/1997# E #31/12/1997#

Na tabela a seguir temos mais alguns exemplos de utilização do operador Between.

Exemplo Util. no Campo.

Registros selecionados Between 10000 E 11000 NúmeroDoPedido Seleciona somente os pedidos

com número maior ou igual a 10000 e menor ou igual a 11000

Between #01/04/1997# E #30/06/1997# DataDoPedido Somente os pedidos para o segundo trimestre de 1997

Between #01/07/1998# E #31/12/1998# DataDoPedido Somente os pedidos para o segundo semestre de 1998

Not Between 10 E 20 Frete Todos os pedidos, com exceção daqueles que tem o valor do frete entre >=10 e <=20

Not Between #01/07/1997# E #31/12/1997# DataDoPedido Todos os pedidos, com exceção dos pedidos para o segundo semestre de 1998.

Nota: É importante observar que o operador Between representa um intervalo fechado, ou seja, maior ou igual e menor ou igual.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 152 de 152

O operador Like.

Este operador é utilizado para pesquisas em campos do tipo texto. A diferencial do operador Like é que ele permite a pesquisa de padrões de texto, ou seja, permite que seja pesquisado um campo do tipo texto, especificando apenas parte do campo e não o seu conteúdo exato. Por exemplo, podemos pesquisar todos os clientes que tem em alguma parte do nome a palavra Silva. Desta maneira seriam retornados, por exemplo, os seguintes nomes:

• José da Silva • Silva Antônio da Costa. • João Pereira da Silva. • Maria José da Silva. • Silva Fontoura dos Santos.

Com o operador Like podemos utilizar alguns caracteres conhecidos como caracteres "coringa". Na tabela a seguir temos a lista dos caracteres coringa que podem ser utilizados com o operador Like:

Caractere Utilização Exemplo * Coincide com qualquer número de caracteres.

Pode ser utilizado como o primeiro ou o último caractere da seqüência de caracteres.

qu* encontra que, quando e quanto

? Coincide com qualquer caractere alfabético isolado.

B?la localiza bala, bola e bula

[ ] Coincide com qualquer caractere que esteja entre os colchetes.

B[ao]la localiza bala e bola, mas não bula

! Coincide qualquer caractere que não esteja entre os colchetes.

b[!ae]la localiza bola e bula, mas não bela

- Coincide com qualquer caractere de um intervalo de caracteres. Você deve especificar o intervalo em ordem crescente (de A a Z, e não de Z a A).

b[a-c]la localiza bala, bbla e bcla

# Coincide com um único algarismo qualquer. 1#3 localiza 103, 113, 123

Observações:

Os caracteres curinga devem ser utilizados com tipos de dados de texto, embora você possa, às vezes, utilizá-los com sucesso com outros tipos de dados, tais como datas, se você não alterar as propriedades das Configurações Regionais destes tipos de dados.

Ao utilizar caracteres curinga para procurar um asterisco (*), um ponto de interrogação (?), um sinal numérico (#), um colchete de abertura ([) ou um hífen (-), você deve colocar o item que você está procurando entre colchetes.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 153 de 153

Por exemplo, para procurar um ponto de interrogação, digite [?]. Quando você estiver procurando um hífen e outros caracteres simultaneamente, coloque o hífen antes ou depois de todos os outros caracteres dentro dos colchetes. (Entretanto, se houver um ponto de exclamação (!) depois do colchete de abertura, coloque o hífen depois do ponto de exclamação). Quando você estiver procurando um ponto de exclamação ou um colchete de fechamento, não é necessário colocá-los entre colchetes.

Você não pode procurar os colchetes de abertura e fechamento ([ ]) juntos porque o Microsoft Access interpreta esta combinação como uma seqüência de comprimento zero.

Se você estiver procurando valores em uma tabela que não seja do Microsoft Access, como, por exemplo, uma tabela do Microsoft SQL Server, pode ser necessário utilizar caracteres curinga diferentes. Verifique a documentação da fonte de dados para obter maiores informações.

Para entendermos a utilização do operador Like e dos caracteres coringa, vamos considerar os exemplos da tabela a seguir:

Exemplo Util. no Campo.

Registros selecionados Like "*Mar*" NomeDaEmpresa Retorna somente os pedidos

para as empresas em que aparece a palavra Mar em alguma parte do nome.

Like "A*" NomeDaEmpresa Retorna somente as empresas em que o NomeDaEmpresa inicia com a letra.

Like "[A-G]*" NomeDaEmpresa Retorna somente as empresas em que o NomeDaEmpresa inicia com as letras na faixa de A até G: A, B, C, D, E, F, G.

Like "*[aeiou]" NomeDaEmpresa Retorna somente as empresas em que o NomeDaEmpresa termina com vogal.

Like "?r*" NomeDaEmpresa Retorna somente as empresas em que a segunda letra do nome é "r".

Like "*e?" NomeDaEmpresa Retorna somente as empresas em que a penúltima letra do nome é "e".

Not Like "[aeiou]*" NomeDaEmpresa Retorna somente as empresas em que a primeira letra do nome Não é vogal.

Like "*" NomeDaEmpresa Retorna todas as empresas, é como se não existisse critério de filtragem.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 154 de 154

Agora faremos alguns exercícios para fixar a utilização dos operadores In, Not, Like e Between. Vamos "misturar", na mesma consulta, os conceitos vistos até agora. Por exemplo, vamos criar uma consulta onde utilizamos, ao mesmo tempo, a linha Total, campos calculados e critérios de pesquisa utilizando os operadores apresentados neste item.

Na proposição de alguns exercício apresentarei somente uma tela com os resultados desejados, sem especificar quais campos e quais tabelas devem fazer parte da consulta. O objetivo com essa metodologia é fazer com que você, tendo um problema proposto, analise o problema e, utilizando o Microsoft Access, busque uma solução. Com isso estamos simulando o trabalho diário que cada um enfrentará na sua seção, onde existe a necessidade de se obter determinados resultados a partir de um conjunto de tabelas. Com base nas necessidades parte-se em busca de uma solução.

Em caso de dúvidas consulte o instrutor. Os exemplos propostos serão corrigidos em aula.

Exercícios:

1. Criar uma consulta que exiba os campos indicados na tabela a seguir:

Nome da consulta Exemplo1-Uso de operadores

Baseada na(s) tabela(s)

Pedidos e Clientes

Campos que farão parte da consulta Campo Da tabela

NúmeroDoPedido Pedidos DataDoPedido Pedidos

Frete Pedidos NomeDaEmpresa Clientes

Via Pedidos PaísDeDestino Pedidos

Utilizar os operadores In e Between para selecionar os seguintes pedidos:

• Para o Brasil pedidos para o ano de 1997. • Todos os pedidos para Argentina e Alemanha, com exceção dos pedidos para o ano de 1997.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 155 de 155

2. Vamos alterar a consulta criada no exercício 1. Exclua os critérios definidos anteriormente.

Utilizar o operador like para selecionar somente os pedidos para os clientes em que a primeira letra do nome está na faixa de [H-S].

3. Criar uma consulta que exiba os campos indicados na tabela a seguir:

Nome da consulta Exemplo2-Uso de operadores

Baseada na(s) tabela(s)

Pedidos e Clientes

Campos que farão parte da consulta Campo Da tabela

NúmeroDoPedido Pedidos DataDoPedido Pedidos

Frete Pedidos NomeDaEmpresa Clientes

Via Pedidos PaísDeDestino Pedidos

Utilizar os operadores In e Between para selecionar os seguintes pedidos:

• Para o Brasil pedidos para o ano de 1997, em que o NomeDaEmpresa termina com a letra "s". • Para a Alemanha, para o segundo semestre de 1997 em que o NomeDaEmpresa inicia com "B", "D" ou "F".

4. Criar uma consulta que calcule o total de vendas por Produto, somente para o ano de 1997 em que o nome do produto inicie com uma letra na faixa de [A-Z].

5. Criar uma consulta que calcule a média de vendas por país de destino, para o ano de 1998, somente para os países em que a primeira letra do nome seja a letra "A". A média de vendas para Áustria também deve aparecer no resultado da pesquisa.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 156 de 156

Utilizando as funções do Microsoft Access.

O Microsoft Access disponibiliza centenas, é isto mesmo: centenas de funções prontas, as quais facilitam a definição de critérios de pesquisa avançados e a criação de colunas calculadas. Por exemplo, pode ser necessária a criação de uma coluna em que seja exibido apenas o ano de uma Data ou que seja exibido somente o mês. O Microsoft Access fornece funções dos mais diversos tipos. Neste item veremos as principais funções disponibilizadas pelo Microsoft Access.

Como é a sintaxe de uma função?

Toda função tem uma sintaxe semelhante, conforme indicado a seguir:

Nome_da_função(parâmetro1;parâmetro2;...parâmetron)

Uma função pode receber um ou mais parâmetros. Os parâmetros são valores que a função recebe e utilizar para fazer cálculos ou outro tipo de operação. Uma vez feitos os cálculos/operações necessários, a função retorna um valor. Vamos considerar alguns exemplos para entender melhor o conceito de função no Microsoft Access:

Exemplo da função Valor de retorno Mês("01/10/1998") Retorna 10, que é o número

correspondente ao mês da data passada como parâmetro. A função mês retorna somente o mês de uma data passada como parâmetro.

Ano("01/10/1998") Retorna 1998, que é o número correspondente ao ano da data passada como parâmetro.

Dia("01/10/1998") Retorna 1, que é o número correspondente ao dia da data passada como parâmetro.

Data() Retorna a data atual do sistema. Tempo() Retorna a hora atual do sistema. Esquerda([NomeDaEmpresa];5) Retorna os 5 primeiros caracteres

do conteúdo do campo [NomeDaEmpresa].

Direita([NomeDaEmpresa];3) Retorna os três últimos caracteres do conteúdo do campo [NomeDaEmpresa].

A seguir veremos uma lista das principais funções do Microsoft Access, com exemplos de utilização de cada função.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 157 de 157

Funções para tratamento de Data e Hora.

Veremos as principais funções para tratamento de Data e Hora.

Função Data()

Retorna a data corrente do sistema. Não precisamos passar parâmetros para esta função. Considere o exemplo abaixo:

MsgBox “Data do Sistema: “ & Date()

O resultado deste comando, está indicado na Figura a seguir:

Nota: O comando MsgBox, utilizado em programação no Microsoft Access, faz com que seja aberta uma janela com uma mensagem na tela.

Função Tempo()

Retorna a hora corrente do sistema. Não precisamos passar parâmetros para esta função. Considere o exemplo abaixo:

MsgBox “Hora do Sistema: “ & Time( )

O resultado deste comando, está indicado na Figura a seguir:

Função Dia(Data).

Recebe como parâmetro uma data, e retorna um número entre 1 e 31, indicando o dia do mês. A data pode ser um valor de data válido ou o nome de um campo do tipo Data/Hora. O formato geral é o seguinte:

Dia("31/10/1970") Dia([DataDoPedido])

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 158 de 158

Considere o exemplo abaixo:

MsgBox “Dia do mês: “ & Dia(Data( ))

O resultado deste comando, está indicado na Figura a seguir:

A função Data() captura a data do sistema e passa como parâmetro para a função Dia(), a qual por sua vez, retorna apenas o dia do mês.

Função Mês(Data)

Recebe como parâmetro uma data, e retorna um número entre 1 e 12, indicando o respectivo mês do ano. O formato geral é o seguinte:

Mês(data) Mês("10/09/1999") Mês([DataDoPedido])

Considere o exemplo abaixo:

MsgBox “Mês do ano: “ & Mês(Data( ))

O resultado deste comando, está indicado na Figura a seguir:

A função Data() captura a data do sistema e passa como parâmetro para a função Mês, a qual por sua vez, retorna apenas o mês do ano

Função Agora().

Retorna a hora e a data corrente do sistema. Não precisamos passar parâmetros para esta função. Considere o exemplo abaixo:

MsgBox “Data e Hora do Sistema: “ & Agora( )

O resultado deste comando, está indicado na Figura a seguir:

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 159 de 159

Função MonthName(número,True/False)

Recebe como parâmetro um número, indicativo do mês do ano (1 – Janeiro, 2 – Fevereiro, e assim por diante), e um segundo parâmetro que pode ser Verdadeiro ou Falso. Se o segundo parâmetro for verdadeiro, o nome do mês será exibido abreviadamente. O formato geral é o seguinte:

MonthName(número_do_mês, abreviar)

Considere o exemplo abaixo:

MsgBox “Mês do ano: “ & MonthName(Mês(Data(),False)

O resultado deste comando, está indicado na Figura a seguir:

A função Date() captura a data do sistema e passa como parâmetro para a função Mês(). A função Mês() retorna o número do mês retornado pela data. Este número é passado como primeiro parâmetro para a função MonthName. O segundo parâmetro é definido em Falso, o que significa que é para exibir o nome do mês por extenso, isto é, não abreviado.

Função Hora(horário)

Recebe como parâmetro uma hora, e retorna um número entre 0 e 23, indicando o hora do dia. O formato geral é o seguinte:

Hora(horário)

Considere o exemplo abaixo:

MsgBox “Hora do dia: “ & Hora(Tempo( ))

O resultado deste comando, está indicado na Figura a seguir:

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 160 de 160

A função Tempo() captura a hora do sistema e passa como parâmetro para a função Hora(), a qual por sua vez, retorna apenas o hora do dia.

A função DateDiff(intervalo, data1,data2).

Esta função pode ser utilizada para determinar o número de intervalos (em dias, trimestres, semestres, anos, etc), entre duas datas. A sintaxe desta função é o seguinte:

DateDiff(intervalo, data1, data2)

O parâmetro intervalo é uma String que diz que tipo de intervalo vamos calcular. Por exemplo, é este parâmetro que define se queremos calcular o número de dias, ou o número de meses entre duas datas. Na Tabela a seguir, temos os valores possíveis para o parâmetro intervalo.

Tabela - Valores para o parâmetro intervalo.

Valor Descrição yyyy Anos q Trimestres m Meses y Dias do ano (o mesmo que dias) d Dias w Semanas ww Semanas do ano (o mesmo que semanas) h Horas n Minutos s Segundos

A título de exemplo, vamos calcular o número de meses, desde o descobrimento do Brasil, até 31 de Dezembro de 1999. Para isso, utilizaríamos o seguinte comando

MsgBox “Meses desde o descobrimento: “ & DateDiff(“m”,”22/04/1500”,”31/12/1999”)

O resultado deste comando, pode ser conferido na Figura a seguir:

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 161 de 161

Vamos modificar um pouco o nosso exemplo, e calcular o número de horas desde o descobrimento. Para isto, podemos utilizar o seguinte comando:

MsgBox “Meses desde o descobrimento: “ & DateDiff(“h”,”22/04/1500”,”31/12/1999”)

O resultado deste comando, pode ser conferido na Figura a seguir:

A função DateAdd()

Esta função pode ser utilizada para determinar uma data futura, com base em uma data fornecida, o tipo de período a ser acrescentado (dias, meses, anos, etc), e o número de períodos a serem acrescentados. A sintaxe desta função é o seguinte:

DateAdd(intervalo,número_de_intervalos,data)

O parâmetro intervalo é uma String que diz que tipo de intervalo vamos acrescentar. Por exemplo, é este parâmetro que define se queremos acrescentar um número especificado de dias, meses, anos, etc. Na Tabela a seguir, temos os valores possíveis para o parâmetro intervalo.

Tabela - Valores para o parâmetro intervalo.

Valor Descrição yyyy Anos q Trimestres m Meses y Dias do ano (o mesmo que dias) d Dias w Semanas ww Semanas do ano (o mesmo que semanas) h Horas n Minutos s Segundos

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 162 de 162

A título de exemplo, vamos calcular a data em que tivemos um período de 1000 meses, após o descobrimento do Brasil. Para isso, utilizaríamos o seguinte comando:

MsgBox “Mil meses após o descobrimento foi em : “ & DateAdd(“m”,1000,”22/04/1500”)

O resultado deste comando, pode ser conferido na Figura a seguir:

Vamos modificar um pouco o nosso exemplo, e calcular em que data teremos passado um milhão de dias após o descobrimento.

MsgBox “Um milhão de dias após o descobrimento em : “ & DateAdd(“d”,1000000,”22/04/1500”)

O resultado deste comando, pode ser conferido na Figura a seguir:

Função Ano(Data)

Recebe como parâmetro uma data, e retorna um número indicativo do ano. O formato geral é o seguinte:

Ano(data) Ano("01/01/2002") Ano([DataDoPedido])

Considere o exemplo abaixo:

MsgBox “Ano atual: “ & Ano(Data( ))

O resultado deste comando, está indicado na Figura a seguir:

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 163 de 163

A função Data() captura a data do sistema e passa como parâmetro para a função Ano(), a qual por sua vez, retorna apenas o ano.

Função WeekDay().

Recebe como parâmetros uma data, e um parâmetro opcional, que indica qual o primeiro dia da semana. Se este parâmetro for omitido, o primeiro dia da semana será considerado Domingo. O valor para o primeiro dia da semana é numérico: 1 – Domingo, 2 – Segunda-feira, e assim por diante.

WeekDay(data,prim_dia_semana)

Considere o exemplo abaixo:

MsgBox “Dia da semana: “ & WeekDay(“31/12/1999”)

O resultado deste comando, está indicado na Figura a seguir:

O valor 6, indica que foi uma Sexta-feira, o que confere com o calendário.

Poderíamos determinar que o primeiro dia da semana é a Segunda-feira (2 para o último parâmetro). Com isso o nosso exemplo, ficaria assim:

MsgBox “Dia da semana: “ & WeekDay(“31/12/1999”,2)

O resultado deste comando, está indicado na Figura a seguir:

O valor 5, indica que foi uma Sexta-feira, pois agora a Segunda-feira passou a ser o dia 1, a Terça-feira o dia 2, e assim por diante. Novamente confere com o calendário.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 164 de 164

Função WeekDayName()

Recebe como parâmetro um número, indicativo do dia da semana, e um segundo parâmetro que pode ser Verdadeiro ou Falso. Se o segundo parâmetro for verdadeiro, o nome do dia da semana será exibido abreviadamente. O formato geral é o seguinte:

WeekDayName(número_do_dia,abreviar)

Considere o exemplo abaixo:

MsgBox “Dia da semana: “ & WeekDayName(6,False)

O resultado deste comando, está indicado na Figura a seguir:

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 165 de 165

Funções para Cálculos matemáticos.

Veremos as principais funções para efetuar cálculos matemáticos. Na Tabela a seguir, temos a descrição das principais funções matemáticas, disponíveis no Microsoft Access.

Tabela - Funções para cálculos matemáticos.

Função Descrição Abs(n) Retorna o valor absoluto (sem sinal), do número n. Atn(n) Retorna o valor do arco, cuja tangente é o número

n. O número n deve ser fornecido em radianos. Cos(n) Retorna o co-seno do número n. O número n deve ser

fornecido em radianos. Exp(n) Retorna o número e (logaritmo neperiano e=2,7183),

elevado no número n. Log(n) Retorna o logaritmo natural de um número n. Rnd(n) Retorna um número aleatório entre 0 e 1. Sgn(n) Retorna um número inteiro, indicando o sinal do

número n. Retorna –1 para números negativos e 1 para números positivos.

Sin(n) Retorna o seno do número n. O número n deve ser fornecido em radianos

Sqr(n) Retorna a Raiz quadrada do número n. Tan(n) Retorna a tangente do número n. O número n deve

ser fornecido em radianos.

NOTA: Para converter graus para radianos, multiplique o valor em graus por pi (3.14), e divida o resultado por 180.

Na Tabela a seguir temos alguns exemplos de utilização das funções matemáticas do Microsoft Access.

Tabela - Alguns exemplos de utilização das funções matemáticas.

Exemplo Valor de retorno. Abs(-2350) 2350 Atn(2) 1,1071487177 Cos(0) 1 Exp(1) 2,71828182845905 Log(1000) 6,90775527898214 Rnd*10 Gera um número aleatório entre 0 e 10 Sgn(-235) Retorna –1, pois o número é negativo Sin(0) Retorna 0 Sqr(400) Retorna 20 Tan(0) Retorna 0

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 166 de 166

Funções para tratamento de String/Texto.

Veremos as principais funções para tratamento de String, ou seja, para trabalhar em campos do tipo Texto.

Função Len(texto)

Esta função determina o tamanho da String de texto que foi passada como parâmetro para a função. Considere o exemplo:

MsgBox Len(“Este é um exemplo de uso da função Len !!”)

Este exemplo de uso da função, retorna 41, conforme indicado na Figura a seguir:

Função LCase(String)

Esta função converte para minúsculas, a String que foi passada como parâmetro para a função. Considere o exemplo:

MsgBox Lcase(“ESTE É UM EXEMPLO DE USO DA FUNÇÃO LCASE!!”)

Este exemplo de uso da função, converte o parâmetro passado, para letras minúsculas, conforme indicado na Figura a seguir:

Função UCase(String)

Esta função converte para MAIÚSCULAS, a String que foi passada como parâmetro para a função. Considere o exemplo:

MsgBox Lcase(“este é um exemplo do uso da função ucase !!”)

Este exemplo de uso da função, converte o parâmetro passado, para letras maiúsculas, conforme indicado na Figura a seguir:

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 167 de 167

Função Esquerda(String,número_de_caracteres)

Esta função retorna um número especificado de caracteres, a partir do início (Esquerda) de uma String. É importante salientar que espaços em branco também devem ser considerados.

O formato geral da função é o seguinte:

Left(String,n)

onde n é o número de caracteres a retornar.

Considere o exemplo:

MsgBox Esquerda(“Júlio Cesar Fabris Battisti”,5)

Este exemplo de uso da função, retorna as cinco primeiras letras da String passada, neste caso, retornará Júlio.

Vamos alterar um pouco o nosso exemplo:

MsgBox Esquerda(“Júlio Cesar Fabris Battisti”,7)

Irá retornar: Júlio C

Observe que o espaço em branco também é considerado.

Função Direita(String,número_de_caracteres)

Esta função retorna um número especificado de caracteres, a partir do final (Direita) de uma String. É importante salientar que espaços em branco também devem ser considerados.

O formato geral da função é o seguinte:

Direita(String,n)

onde n é o número de caracteres a retornar.

Considere o exemplo:

MsgBox Direita(“Júlio Cesar Fabris Battisti”,6)

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 168 de 168

Este exemplo de uso da função, retorna as seis ultimas letras da String passada, neste caso, retornará “ttisti”.

Vamos alterar um pouco o nosso exemplo:

MsgBox Right(“Júlio Cesar Fabris Battisti”,10)

Irá retornar: s Battisti

Observe que o espaço em branco também é considerado.

Função Mid(String,onde_iniciar,número_de_caracteres).

Esta função retorna um número especificado de caracteres, a partir de uma posição especificada, dentro da String. É importante salientar que espaços em branco também devem ser considerados.

O formato geral da função é o seguinte:

Mid(String,onde_iniciar,n)

onde:

posicao_inicio é a posição a partir da qual devem ser retornados caracteres.

n é o número de caracteres a retornar.

Considere alguns exemplos:

Mid(“Júlio Cesar Fabris Battisti”,7,5)

Este exemplo de uso da função, retorna, a partir da posição 7, 5 caracteres, neste caso, retornará Cesar.

Mid(“SANTA MARIA”,3,7)

, irá retornar NTA MAR. Observe que o espaço em branco também é considerado.

Um detalhe interessante, é que podemos utilizar o valor retornado por uma função, como parâmetro para outra função. Considere o seguinte exemplo:

LCase(Mid(“SANTA MARIA”,3,7))

Este exemplo retorna nta mar.

A função Mid retira os caracteres NTA MAR, os quais são passados como parâmetros para a função LCase, a qual converte os caracteres para minúsculos.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 169 de 169

Função String.

Esta função retorna um determinado caractere, um número especificado de vezes.

O formato geral da função é o seguinte:

String(n,Caractere)

onde n é o número de vezes que Caractere deve ser repetido.

Considere o exemplo:

MsgBox String(35,”*”)

A Figura a seguir mostra o resultado deste comando:

Vamos fazer alguns exemplos práticos onde utilizamos algumas das funções vistas neste item. Em seguida faremos alguns exercícios para fixarmos a utilização de funções em consultas do Microsoft Access.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 170 de 170

Exemplo 1 - O total mensal de vendas para um determinado ano:

Neste exemplo criaremos uma consulta onde é exibido o total mensal de vendas para o ano de 1997. Para criar esta consulta precisamos utilizar as funções Mês() e Ano(), além da linha total. Também utilizaremos o conceito de formatação de colunas visto anteriormente.

Para criar a consulta proposta faça o seguinte:

1. Abra o Microsoft Access. 2. Carregue o banco de dados

C:\CursoAccBasico\ExConsultas.mdb. 3. Clique na opção Consultas. 4. Dê um clique duplo no botão "Criar consulta no modo

Estrutura". 5. Na janela Mostrar tabela adicione as tabelas Pedidos e

Detalhes do pedido. 6. A primeira coluna da nossa consulta será uma coluna

calculada, onde vamos "extrair" apenas o mês do campo DataDoPedido. Para isso utilizaremos a função Mês(), descrita anteriormente.

7. Na linha Campo, na primeira coluna em branco, digite a seguinte expressão: Mês de referência:Mês([DataDoPedido])

8. Cabe lembrar que o que vêm antes dos dois pontos (:) é o nome da coluna calculada e o que vem depois dos dois pontos é a expressão que determina os valores que serão exibidos na coluna calculada, conforme descrtio anteriormente.

9. A segunda coluna da nossa tabela também será uma coluna calculada. Vamos utilizar a mesma fórmula que já utilizamos anteriormente.

10. Na linha Campo, na segunda coluna da consulta, digite a seguinte expressão: TotalDeVendas:([Quantidade]*[PreçoUnitário])*(1-[Desconto]).

11. Para que o Microsoft Access faça a totalização das vendas para cada mês, precisamos exibir a linha Total.

12. Selecione o comando Exibir -> Totais. 13. Na linha Total, na coluna Mês de referência, certifique-se de

que a opção Agrupar por esteja selecionada. 14. Na linha Total, na coluna TotalDeVendas, seleciona a opção

Soma. 15. O que está faltando para completarmos a nossa consulta??? 16. Falta aplicarmos um filtro para que sejam somados apenas os

pedidos dentro do ano de 1997. 17. Adicione o campo DataDoPedido, da tabela Pedidos. 18. Na linha Total, da coluna DataDoPedido, selecione a opção

Onde. 19. Cabe aqui lembrar que, quando estamos utilizando a linha

Total e queremos aplicar um filtro, a coluna onde será definido o critério deve ter a opção "Onde", selecionada na linha Total, conforme descrito anteriormente.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 171 de 171

20. Na linha Critério, do campo DataDoPedido, digite o seguinte critério: Ano([DataDoPedido])=1997.

21. Ao invés da função ano você poderia utilizar um dos seguintes critérios equivalentes:

• Between #01/01/1997# E #31/12/1997# • >=#01/01/1997# E <=#31/12/1997#

22. Vamos formatar a coluna TotalDeVendas. 23. Clique com o botão direito do mouse na expressão

TotalDeVendas. 24. No menu de opções que surge dê um clique na opção

Propriedades. 25. Surge a janela "Propriedades do campo". 26. No campo Formato selecione a opção Moeda. 27. Clique no botão "x" para fechar a janela Propriedades do

campo. 28. Vá para o modo Folha de dados. 29. Você obterá os resultados indicados na figura a seguir:

Total mensal de vendas para o ano de 1997.

30. Agora vamos salvar a consulta. 31. Salve a consulta com o nome de: Exemplo-Total mensal de

vendas-1997. 32. Feche a consulta.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 172 de 172

Exemplo 2 - O total anual de vendas para a Alemanha.

Neste exemplo criaremos uma consulta onde é exibido o total anual de vendas, somente para os pedidos da Alemanha.

Para criar a consulta proposta faça o seguinte:

1. Clique na opção Consultas. 2. Dê um clique duplo no botão "Criar consulta no modo

Estrutura". 3. Na janela Mostrar tabela adicione as tabelas Pedidos e

Detalhes do pedido. 4. A primeira coluna da nossa consulta será uma coluna

calculada, onde vamos "extrair" apenas o ano do campo DataDoPedido. Para isso utilizaremos a função Ano(), descrita anteriormente.

5. Na linha Campo, na primeira coluna em branco, digite a seguinte expressão: Ano de referência:Ano([DataDoPedido])

6. Cabe lembrar que o que vêm antes dos dois pontos (:) é o nome da coluna calculada e o que vem depois dos dois pontos é a expressão que determina os valores que serão exibidos na coluna calculada, conforme descrtio anteriormente.

7. A segunda coluna da nossa tabela também será uma coluna calculada. Vamos utilizar a mesma fórmula que já utilizamos anteriormente.

8. Na linha Campo, na segunda coluna da consulta, digite a seguinte expressão: TotalDeVendas:([Quantidade]*[PreçoUnitário])*(1-[Desconto]).

9. Para que o Microsoft Access faça a totalização das vendas para cada ano, precisamos exibir a linha Total.

10. Selecione o comando Exibir -> Totais. 11. Na linha Total, na coluna Ano de referência, certifique-se de

que a opção Agrupar por esteja selecionada. 12. Na linha Total, na coluna TotalDeVendas, seleciona a opção

Soma. 13. O que está faltando para completarmos a nossa consulta??? 14. Falta aplicarmos um filtro para que sejam somados apenas os

pedidos enviados para a Alemanha. 15. Adicione o campo PaísDeDestino, da tabela Pedidos. 16. Na linha Total, da coluna PaísDeDestino, selecione a opção

Onde. 17. Cabe aqui lembrar que, quando estamos utilizando a linha

Total e queremos aplicar um filtro, a coluna onde será definido o critério deve ter a opção "Onde" selecionada na linha Total, conforme descrito anteriormente.

18. Na linha Critério, do campo PaísDeDestino, digite o seguinte critério: "Alemanha".

19. Vamos formatar a coluna TotalDeVendas. 20. Clique com o botão direito do mouse na expressão

TotalDeVendas.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 173 de 173

21. No menu de opções que surge dê um clique na opção Propriedades.

22. Surge a janela "Propriedades do campo". 23. No campo Formato selecione a opção Moeda. 24. Clique no botão "x" para fechar a janela Propriedades do

campo. 25. Vá para o modo Folha de dados. 26. Você obterá os resultados indicados na figura a seguir:

Total anual de vendas para a Alemanha.

27. Agora vamos salvar a consulta. 28. Salve a consulta com o nome de: Exemplo-Total anual de

vendas-Alemanha. 29. Feche a consulta.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 174 de 174

Agora faremos alguns exercícios para fixar a utilização das funções do Microsoft Access. Vamos "misturar", na mesma consulta, os conceitos vistos até agora. Por exemplo, vamos criar uma consulta onde utilizamos, ao mesmo tempo, a linha Total, campos calculados e critérios de pesquisa utilizando os funções do Microsoft Access.

Na proposição de alguns exercício apresentarei somente uma tela com os resultados desejados, sem especificar quais campos e quais tabelas devem fazer parte da consulta. O objetivo com essa metodologia é fazer com que você, tendo um problema proposto, analise o problema e, utilizando o Microsoft Access, busque uma solução. Com isso estamos simulando o trabalho diário que cada um enfrentará na sua seção, onde existe a necessidade de se obter determinados resultados a partir de um conjunto de tabelas. Com base nas necessidades parte-se em busca de uma solução.

Em caso de dúvidas consulte o instrutor. Os exemplos propostos serão corrigidos em aula.

Exercícios:

1. Esta consulta deve ser baseada na tabela Pedidos. Devem ser incluídos os seguintes campos:

• PaísDeDestino • NúmeroDePedidos

Dica: Utilizar a linha de totais para determinar o Número de Pedidos por país de destino.

2. Esta consulta deve ser baseada na tabela Pedidos. Devem ser incluídos os seguintes campos:

• NúmeroDoPedido • DataDoPedido • DataDeEnvio • PaísDeDestino • Frete • Via

Exibir apenas os pedidos para o Brasil em que o número de dias entre a data do pedido e a data de envio for menor ou igual a 5 para a Cidade de São Paulo e menor ou igual a 10 para a Cidade do Rio de Janeiro.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 175 de 175

3. Esta consulta deve ser baseada nas tabelas Pedidos e Clientes. Devem ser incluídos os seguintes campos:

Campo Tabela

NomeDaEmpresa Clientes NúmeroDoPedido Pedidos DataDoPedido Pedidos PaísDeDestino Pedidos

Exibir apenas os pedidos em que o nome dos clientes tenha a inicial na faixa de “A” até “G”, para o México no ano de 1996.

4. Esta consulta deve ser baseada nas tabelas Pedidos. Devem ser incluídos os seguintes campos:

Campo Tabela

NúmeroDoPedido Pedidos Frete Pedidos DataDoPedido Pedidos PaísDeDestino Pedidos ImpostoFrete Frete<=15 -> 1,50

Frete >15 -> 2,00

Dica: Para esta consulta precisamos utilizar a função IIF(). Esta função testa o valor de um determinado campo. Se o teste for Verdadeiro a função retorna um determinado valor, se o teste for Falso a função retorna um outro valor. No nosso exemplo você deve utilizar se o valor do Frete é menor do que 15, em caso afirmativo, retornar 1,5, caso contrário retornar 2,00. Para criar o coluna calculada ImpostoFrete, utilize a seguinte expressão:

ImpostoFrete:IIF([Frete]<=15;1,5;2)

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 176 de 176

5. Criar uma consulta que calcule o total mensal de vendas, por funcionário, para o ano de 1998, conforme indicado na Figura a seguir:

Total mensal de vendas por funcionário para o ano de 1998.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 177 de 177

Consultas "Parametrizadas" no Microsoft Access.

Até este momento, estivemos trabalhando com consultas nas quais colocávamos, diretamente, no modo estrutura, os critérios desejados. Por exemplo, para filtrar apenas os pedidos para o Brasil, colocamos o seguinte critério no campo PaísDeDestino: "Brasil".

Podemos criar consultas mais genéricas, as quais ao serem executadas nos solicitam que seja digitado um determinado valor para um determinado critério. Por exemplo, ao invés de colocarmos Brasil como critério para o campo PaísDeDestino, podemos fazer com que o Microsoft Access solicite um valor para o critério cada vez que a consulta for executada. Isso torna a consulta bem mais ágil, pois cada vez que ela é executada, podemos digitar um critério diferente, de tal maneira que não precisamos entrar no modo estrutura para digitar um critério diferente.

Este tipo de consulta é chamada de "Consulta Parametrizada". Para criarmos uma consulta parametrizada, ao invés de digitarmos diretamente um valor para o critério, digitamos uma expressão do seguinte tipo:

[Digite o Valor para o País de Destino :]

A expressão deve estar entro colchetes ([]). O texto dentro dos colchetes não pode ser igual ao nome de nenhum dos campos das tabelas que fazem parte da consulta. O texto entre colchetes aparece como mensagem, na janela que solicita que seja digitado um valor para o parâmetro, quando a consulta for executada.

Por exemplo, na linha critério, do campo PaísDeDestino, podemos digitar a expressão indicada anteriormente. O texto dentro dos colchetes é simplesmente um texto explicativo, que será exibido quando a consulta for executada e o valor do Parâmetro for solicitado. Este texto serve como orientação para os usuários que forem utilizar a consulta.

Podemos utilizar expressões deste tipo em mais de um campo em uma mesma consulta. Por exemplo se você quiser que o Microsoft Access solicite o nome do PaísDeDestino ,uma data inicial e uma data final, de tal forma que somente sejam retornados os Pedidos para o país digitado e dentro do período especificado, você pode fazer isso sem maiores problemas.

Existem algumas limitações com a utilização de parâmetros. Por exemplo, se você utilizar uma expressão para solicitar que o usuário digite um CPF. Ao digitar o CPF, o usuário terá que digitar os pontos e o traço da formatação do CPF, uma vez que não podemos colocar uma máscara de entrada para o parâmetro.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 178 de 178

De uma forma geral a utilização de consultas parametrizadas

aumenta em muito a flexibilidade das consultas no Microsoft Access, pois não precisamos criar uma consulta diferente para cada critério que vamos utilizar. Ao invés disso podemos criar uma única consulta parametrizada, cada vez que executarmos a consulta o Microsoft Access solicita um valor para o valor para o parâmetro.

Vamos usar a mesma abordagem do tópico anterior, isto é, vamos criar uma série de consultas que salientam os diversos aspectos da utilização de consultas parametrizadas. No final deste tópico serão propostos alguns exercícios para fixação dos conceitos apresentados.

Exemplo 01: Criar uma consulta que liste o NúmeroDoPedido, DataDoPedido, Frete e PaísDeDestino da tabela Pedidos. Fazer com que ao ser executada a consulte solicite que seja digitado um nome de País e que sejam retornados somente os Pedidos para o País digitado.

Para criar a consulta proposta faça o seguinte:

• Abra o banco de dados ExConsultas.mdb. • Dê um clique na opção Consultas. • Crie uma nova consulta baseada nas tabelas Pedidos. • Adicione os campos NúmeroDoPedido, DataDoPedido, Frete e

PaísDeDestino da tabela Pedidos. • Na linha Critério, do campo PaísDeDestino, digite a

seguinte expressão:

[Digite o País Desejado:]

• Salve a consulta com o nome de Exemplo-Consulta Parametrizada 01.

• Vá para o modo Folha de Dados, o Microsoft Access abrirá uma janela solicitando que você digito o nome do País desejado, conforme indicado na figura a seguir:

Definindo o valor do parâmetro de pesquisa.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 179 de 179

• Digite Brasil e dê um clique em OK, você verá os resultados, conforme indicado na figura abaixo:

Consulta exibindo somente os pedidos para o Brasil.

• Cada vez que você executar esta consulta, o Microsoft Access irá solicitar que você digite um valor para o campo PaísDeDestino, valor este que será utilizado como critério de seleção.

Exemplo 02: Altere a consulta criada anteriormente, para que além de pedir que seja digitado o PaísDeDestino, a consulta também peça para que seja digitada uma Data Inicial e uma Data Final e exiba somente os Pedidos para o País digitado e dentro do período especificado.

Para criar a consulta proposta faça o seguinte:

• Volte para o Modo Estrutura da Consulta criada no Exemplo 01.

• Na linha Critério do campo DataDoPedido, digite a seguinte expressão:

Between [Data Inicial:] E [Data Final:]

• Com a expressão acima, ao executarmos a consulta, o Microsoft Access solicitará que sejam digitadas duas datas. Ao digitar a data o usuário deve digitar inclusive as Barras Separadoras, por exemplo: 01/01/1995. O Microsoft Access também solicitará que seja digitado o nome de um País.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 180 de 180

• No final será exibida uma listagem com todos os Pedidos para o País digitado e dentro do período digitado.

• Vá para o Modo Folha de Dados. • O Microsoft Access começa a solicitar que os parâmetros

sejam digitados. • Na janela abaixo vemos o Microsoft Access solicitando que

seja digitada a data inicial. Digite 01/01/1997 e dê um clique em OK, conforme indicado na figura a seguir:

Digitando a Data Inicial.

• Na janela abaixo vemos o Microsoft Access solicitando que seja digitada a data Final. Digite 31/12/1997 e dê um clique em OK.

Digitando a Data Final.

• Na janela abaixo, vemos o Microsoft Access solicitando que seja digitado o nome do País. Digite Brasil e dê um clique em OK.

Digitando o País de Destino.

• Após Clicar em OK, o Microsoft Access irá para o Modo Folha de Dados, exibindo os registros que foram selecionados de acordo com os critérios digitados: Pedidos para o Brasil no ando de 1997 .

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 181 de 181

• Na janela abaixo podemos ver os resultados exibidos pelo Microsoft Access.

Pedidos para o Brasil durante o ano de 1995.

• Observe a utilização do Operador Between em conjunto com os parâmetros, na seguinte expressão: Between [Data Inicial:] E [Data Final:]

• Quando executamos a consulta e digitamos os valores para a Data Inicial (01/01/1997) e para a Data Final (31/12/1997), o Microsoft Access coloca estes valores na expressão e o critério se transforma em Entre #01/01/1995/# E #31/12/1995#

• O Microsoft Access substitui os parâmetros pelos valores digitados. O sinal de # é adicionado pelo Microsoft Access, pois se tratam de campos do tipo Data e valor do tipo data deve vir delimitado, para efeitos de critérios de pesquisa em consultas, pelos caracteres #, no início e no final da data.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 182 de 182

Exemplo 03: Altere a consulta criada no ítem anterior, de tal forma que o usuário possa digitar * quando for solicitado o nome do país, para que sejam exibidos os pedidos para todos os países, dentro do período especificado.

Para criar a consulta proposta faça o seguinte:

• Volte para o Modo Estrutura da Consulta criada no Exemplo 02.

• Altere a linha Critério, no campo PaísDeDestino, e coloque a seguinte expressão:

Like '*'+[Digite o País Desejado (* para todos):]+'*'

• Vá para o modo Folha de Dados, ao ser solicitada a Data Inicial, digite 01/01/1997. Ao ser solicitada a Data Final, digite 31/12/1997. Ao ser solicitado o nome do país de destino, digite *, conforme indicado na figura a seguir:

Digite * no nome do País, para que sejam exibidos pedidos para todos os Países.

• Ao clicar em OK, será exibida uma listagem com todos os Pedidos, dentro do período especificado e para todos os países.

• Observe que alteramos o parâmetro no País De Destino em dois pequenos detalhes. Adicionamos um asterisco antes e um depois do parâmetro que vem dentro dos colchetes. Isso para que o Microsoft Access aceite o * ( Um caractere coringa) como sendo todos os países de destino.

• Também alteramos o texto dentro dos colchetes (Digite o País Desejado (* para todos):), apenas para orientar o usuário sobre como proceder, quando da execução da consulta.

• O Principal benefício da utilização de parâmetros, é que estes tornam nossas consultas mais flexíveis. Não precisamos, cada vez que a consulta for executada, entrar no modo estrutura e alterar o parâmetro, uma vez que o Microsoft Access solicita um valor para o Parâmetro (Ou parâmetros), cada vez que a consulta for executada.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 183 de 183

EXERCÍCIOS:

01) Criar uma consulta que solicita que seja digitado um valor para o frete e exiba somente os pedidos cujo valor do frete seja menor ou igual ao valor digitado. A consulta deve exibir os campos: NúmeroDoPedido, NomeDaEmpresa, PaísDeDestino e Frete. Classificar a consulta, em ordem ascendente, pelo valor do frete.

02) Alterar a consulta do ítem anterior, para que além do Frete, seja solicitado o nome do País de Destino. Salvar a consulta com o nome de Parametrizada 02.

03) Criar uma consulta que calcule o total por pedido. Colocar um parâmetro que solicite que seja digitado um valor para o Total do Pedido e somente exiba os pedidos cujo total seja maior ou igual ao valor digitado. Salvar com o nome do Totais por Pedido com Parâmetro. Dica: Para calcular o total por Pedido você utiliza a expressão: ([Quantidade]*[PreçoUnitário])*(1-[Desconto]).

04) Criar uma consulta com os campos NúmeroDoPedido, NomeDaEmpresa, Data do Pedido, PaísDeDestino e Frete. Fazer com que, ao ser executada, a consulta solicite uma Data Inicial, uma Data Final e um valor de Frete. A consulta deverá exibir somente os pedidos para o Período especificado e para valores de Frete maiores do que o digitado. Salve a consulta com o nome de Parametrizada 03.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 184 de 184

Consultas do tipo Tabela de Referência Cruzada:

Até agora, estivemos trabalhando com consultas do tipo Seleção. Criávamos as consultas, especificávamos alguns parâmetros, e obtínhamos uma listagem com os registros que atendiam aos critérios especificados.

Neste ítem iremos aprender a criar um outro tipo de consulta aceita pelo Microsoft Access. Aprenderemos a criar consultas do seguinte tipo: "Consulta de tabela de referência cruzada".

O Microsoft Access nos oferece 6 tipos diferentes de consultas, conforme indicado abaixo:

• Consulta de Seleção • Consulta de tabela de referência cruzada • Consulta criar tabela • Consulta atualização • Consulta acréscimo • Consulta exclusão

Os demais tipos de consultas, serão abordadas nos próximos itens.

A consulta do tipo Tabela de Referência cruzada, conforme o próprio nome sugere, é utilizada para cruzar valores de duas grandezas. Por exemplo, posso criar uma Consulta do tipo Tabela de Referência cruzada para exibir o número de pedidos (quantitativo de pedidos) por País De Destino e por ano da DataDoPedido, conforme indicado na figura abaixo:

Informações do Quantitativo de Pedidos por PaísDeDestino e ano da DataDoPedido.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 185 de 185

Podemos observar que as informações retornadas por uma

consulta deste tipo, são informações consolidadas, onde estamos cruzando informações do PaísDeDestino, com o Ano da DataDoPedido. A Informação que estamos obtendo é o Quantitativo de Pedidos por Ano e PaísDeDestino.

Numa consulta do tipo Tabela de referência cruzada, temos três elementos básicos:

• Linha • Coluna • Valor

Linha: No exemplo da figura anterior, o campo que forma as linhas é o campo PaísDeDestino, isso significa que para cada País De Destino o Microsoft Access retorna uma nova linha.

Coluna: No exemplo da figura anterior, o campo que forma as colunas é o Ano da DataDoPedido, isso significa que para cada Ano o Microsoft Access retorna uma nova coluna

Valor: No exemplo da figura anterior, os valores que preenchem o restante da consulta são obtidos a partir da contagem do Número de Pedidos.

Para entendermos bem como funcionam as consultas do tipo Tabela de referência cruzada, vamos praticar um pouco criando algumas consultas deste tipo.

Exemplo 01: Criar a consulta indicada na figura anterior, onde será exibido o Quantitativo de Pedidos por Ano da DataDoPedido e País De Destino.

Para criar a consulta proposta faça o seguinte:

• Abra o banco de dados ExConsultas.mdb. • Dê um clique na opção Consultas. • Crie uma nova consulta, baseada na tabela Pedidos.

• Adicione os campos PaísDeDestino, DataDoPedido e NúmeroDoPedido, nesta ordem. Na coluna DataDoPedido, precisamos extrair apenas o ano da DataDoPedido, para isto vamos utilizar a função Ano(), já descrita anteriormente. Na linha campo, onde está DataDoPedido, altere para a seguinte expressão:

Ano de Ref: Ano([DataDoPedido])

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 186 de 186

• Agora temos que transformar a consulta em uma consulta do tipo "Tabela de referência cruzada", pois por padrão, ao criarmos uma nova consulta está é, automaticamente, definida como sendo do tipo Seleção. Para alterar o tipo da consulta selecione o seguinte comando:

Consulta -> Tabela de referência cruzada

• Observe que duas novas linhas apareceram na estrutura da nossa consulta: A linha Total (que já utilizamos anteriormente) e a linha Referência Cruzada. Utilizaremos estas duas linhas para definirmos a nossa consulta.

• Na coluna PaísDeDestino configure da seguinte maneira:

Total : Agrupar Por Referência Cruzada: Linha

• Com as configurações anterior, estamos informando ao Microsoft Access que haverá uma linha para cada País de Destino.

• Na coluna Ano([DataDoPedido]) configure da seguinte maneira:

Total: Agrupar Por Referência Cruzada: Coluna

• Com estas configurações, estamos informando ao Microsoft Access que haverá uma coluna para cada Ano da DataDoPedido.

• Na coluna NúmeroDoPedido configure da seguinte maneira:

Total: Contar Referência Cruzada: Valor

• Com estas configurações, estamos informando ao Microsoft Access que o campo NúmeroDoPedido formará os Valores da consulta e que este valor será obtido contando o Número de Pedidos para um determinado PaísDeDestino e Ano.

• Em resumo nossas configurações deverão ficar conforme indicado na tabela a seguir:

Coluna Linha Total Linha Referência Cruzada

PaísDeDestino Agrupar Por Linha Ano([DataDoPedido]) Agrupar Por Coluna NúmeroDoPedido Contar Valor

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 187 de 187

• Sua consulta deve estar conforme a indicada pela figura abaixo:

Modo Estrutura da Consulta do tipo Tabela de referência cruzada.

• Salve a consulta com o nome de Ref Cruzada 01. • Vá para o modo Folha de Dados e observe o resultado, deve

estar conforme a figura indicada no início deste tópico.

Vamos exercitar um pouco mais as consultas do tipo Tabela de referência cruzada.

Exemplo 02: Alterar a consulta Ref Cruzada 01, para que seja exibido o número de Pedidos por mês ao invés do Ano. Com isso teremos 12 Colunas, uma para cada mês, somente para o ano de 1998.

Para criar a consulta proposta faça o seguinte:

• Volte para o Modo Estrutura da Consulta Ref Cruzada 01 • Na linha Campo, na coluna Ano([DataDoPedido]), altera para

Mês([DataDoPedido])

• Agora precisamos definir um filtro para que sejam contados apenas os pedidos para o ano de 1998.

• Adicione o campo DataDoPedido. • Na linha Total, do campo DataDoPedido, selecione a opção

Onde.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 188 de 188

• Deixa a linha Referência cruzada, do campo DataDoPedido, em branco. Apenas para lembrar que, quando utilizamos a linha Total, temos que utilizar a opção Onde, quando queremos definir um critério.

• Na linha Critério, do campo DataDoPedido, digite a seguinte expressão: Ano([DataDoPedido])=1998. Lembrando que você também poderia utilizar o operador Between (Between #01/01/1998# E #31/12/1998#) ou os operadores de comparação (>=#01/01/1998# E <=#31/12/1998#).

• Vá para o modo Folha de Dados e observe os resultados. Você deve obter um resultado semelhante ao indicado na figura a seguir:

Número de Pedidos por País De Destino e pelo Mês do Ano, para 1998.

A única mudança que fizemos foi utilizar a função Mês ao invés da função Ano. Observe que a função mês retorna o número do mês (1=Janeiro, 2=Fevereiro, etc) e definir um critério. Como são doze meses no ano, obtivemos doze colunas de valores, uma vês que a expressão Mês([DataDoPedido]), esta formando as colunas da nossa Referência Cruzada. Na prática teremos apenas cinco colunas, pois na tabela Pedidos somente temos pedidos até o mês de Maio (05) de 1998.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 189 de 189

Você também poderia especificar critérios. Por exemplo você

poderia colocar um critério para que fossem exibidos somente os Pedidos para Brasil, Argentina ou Alemanha. Com isso nos teríamos somente 3 linhas no resultado final, uma vez que PaísDeDestino forma as linhas da referência cruzada e estamos exibindo somente para três países.

Vamos fazer este teste, vá para o modo estrutura da consulta Ref Cruzada 01, e na linha critério do campo PaísDeDestino, digite o seguinte:

In ("Brasil";"Argentina";"Alemanha")

Vá para o modo Folha de Dados e Observe os resultados, somente serão exibidas três linhas: Uma para o Brasil, outra para a Argentina e uma para a Alemanha.

Exemplo 03: Criar uma consulta do tipo Tabela de referência cruzada, a qual exiba o valor total dos Pedidos para Cada Cliente e pelo Ano da Data do Pedido. Classificar em ordem ascendente pelo NomeDaEmpresa.

Para criar a consulta proposta faça o seguinte:

• Salve a consulta Ref Cruzada 01 criada no Exemplo 02 e feche-a.

• Crie uma nova consulta baseada nas tabelas: Pedidos, Clientes e Detalhes Do Pedido

• Adicione o campo NomeDaEmpresa da tabela Clientes • Adicione o campo DataDoPedido da tabela Pedidos • Crie uma coluna calculada, para o subtotal de cada ítem,

utilizando a seguinte fórmula na primeira coluna em branco:

TotalPorCliente:([PreçoUnitário]*[Quantidade])*(1-[Desconto])

• Transforme a consulta em uma consulta do tipo Consulta de tabela de referência cruzada. Para isto selecione o comando Consulta -> Consulta de tabela de referência cruzada

• Configure a consulta, conforme a tabela abaixo:

Coluna Linha Total Linha Referência Cruzada NomeDaEmpresa Agrupar Por Linha Ano([DataDoPedido]) Agrupar Por Coluna ([PreçoUnitário]*[Quantidade])*(1-[Desconto]) Soma Valor

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 190 de 190

• Formate a coluna calculada (Clicando com o botão direito e escolhendo propriedades), como Moeda.

• Vá para o modo folha de dados e observe o resultado, deve estar conforme indicado na figura a seguir:

Referência cruzada com o Total dos Pedidos por NomeDaEmpresa e Ano.

• Salve a consulta como Ref Cruzada - 02 e feche-a.

Vamos fazer alguns exercícios para fixar bem o conceito de consultas do tipo Tabela de referência cruzada.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 191 de 191

EXERCÍCIOS:

01) Criar uma consulta de referência cruzada que exiba o Total de Frete por Transportadora (campo Via da tabela Pedidos que se relaciona com o campo CódigoDaTransportadora da tabela Transportadoras, utilizar o campo NomeDaEmpresa da tabela Transportadoras) e por Mês da DataDeEntrega. Salvar esta consulta como Ref Cruzada 04.

02) Alterar a consulta anterior para que ao invés do Total de Frete, sejam exibidas as médias de frete.

03) Alterar a consulta anterior para que seja exibida a média anual de frete por transportadora.

04) Criar uma consulta do tipo Tabela de referência cruzada que nos mostre o total anual de vendas por Produto.

05) Criar uma consulta do tipo Tabela de referência cruzada que nos mostre o total anual de vendas por Categoria de produto.

Nota: Em caso de dúvidas na criação destas consultas, consulte o instrutor.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 192 de 192

Outros tipos de consultas no Microsoft Access.

Neste item veremos outros 4 tipos de consultas do Microsoft Access:

• Consulta criar tabela • Consulta atualização • Consulta acréscimo • Consulta exclusão

A Maneira de construir cada um destes tipos de consultas é bastante simples. O Importante é que saibamos qual o tipo de consulta utilizar na resolução de um determinado problema. Abaixo temos uma descrição de cada um dos tipos de consultas:

Consulta criar tabela:

Definimos uma consulta como sendo do tipo Consulta criar tabela, através do menu consultas no modo estrutura. Ao definirmos a consulta como sendo do tipo Criar tabela, o Microsoft Access solicita que seja digitado um nome para a tabela que será criada e irá conter os dados retornados pela consulta. Para que a consulta seja executada e a tabela criada, não basta irmos para o modo Folha De Dados (como fazíamos nas consultas de seleção e de referência cruzada). O Modo folha de dados, neste caso, simplesmente nos mostra os registros que serão colocados na nova tabela que será criada. Para executar uma Consulta criar tabela (e em conseqüência criar a tabela) você tem que executar a consulta. Para executar uma consulta do tipo Consulta criar tabela, basta dar um clique no botão executar consulta: Botão com um Ponto

de Exclamação vermelho (!). Ao clicar neste botão, o Microsoft Access avisa quantas linhas serão adicionadas a nova tabela e pede confirmação, basta clicar no botão Sim para confirmar a execução da consulta. Caso já exista uma tabela com o nome da tabela que está sendo criada, o Microsoft Access avisa que todos os registros anteriores serão excluídos e pede confirmação.

Existem diversas situações práticas em que temos necessidade de utilizar uma consulta criar tabela:

Transferência de Dados consolidados para outros programas, banco de dados, planilhas, etc Criação de tabelas auxiliares de utilização temporária Transferência de dados para um disquete ou fita para transferência dos dados para outros sistemas

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 193 de 193

Extração de dados para envio por e-mail ou outra forma de envio automaticamente.

Consulta atualização:

Definimos uma consulta como sendo do tipo Consulta atualização, através do menu consultas no modo estrutura. Ao definirmos uma consulta como sendo do tipo atualização, surge uma nova linha "Atualizar para", no modo estrutura da consulta. Um exemplo prático para utilização de consultas de atualização poderia ser uma situação em que temos que aumentar os valores de um campo em 20%. Por exemplo, poderíamos criar uma consulta de atualização para aumentar em 20% o valor do Frete de todos os pedidos. Outro exemplo, poderíamos criar uma consulta de atualização para substituir todos as ocorrências de EUA, do campo PaísDeDestino, por Estados Unidos da América. Para executar uma Consulta de atualização você tem que executar a consulta. Para executar uma consulta do tipo Consulta atualização, basta dar um clique no botão executar consulta: Botão com um Ponto de

Exclamação vermelho (!). Ao clicar neste botão, o Microsoft Access avisa quantas linhas serão atualizadas e pede confirmação, basta clicar no botão Sim para confirmar a execução da consulta. Você também pode especificar critérios em uma consulta de seleção. Por exemplo, apenas aumentar em 20% os Pedidos cujo frete for maior do que R$15,00. Devemos tomar o cuidado de não executar uma mesma consulta de atualização diversas vezes. No nosso exemplo anterior, cada vez que a consulta for executada, o valor do Frete será aumentado em 20 %.

Consulta acréscimo:

Definimos uma consulta como sendo do tipo Consulta acréscimo, através do menu consultas no modo estrutura. Também conhecida como consulta de anexação. Bastante semelhante a consulta de criação de tabela, apenas com a diferença que ao invés de criar uma nova tabela e eliminar os registros caso a tabela já exista, a consulta de acréscimo, anexa o resultado da consulta aos registros já existentes em uma tabela especificada. A exemplo das consultas criar tabela e de atualização, a consulta de acréscimo também necessita ser executada. Ir para o modo folha de Dados, simplesmente nos mostra quais os registros serão anexados a tabela especificada, porém para anexar os registros precisamos executar a consulta. Para que a consulta de acréscimo tenha sucesso, algumas condições devem ser atendidas: O Número e o tipo dos campos da consulta e da tabela onde serão anexados devem ser compatíveis. O Nome dos campos, não necessita, obrigatoriamente, ser igual, embora esta seja um prática recomendada.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 194 de 194

Podemos utilizar este tipo de consulta para irmos acumulando registros em uma tabela. Por exemplo, podemos criar um consulta que crie uma tabela com o total de vendas mensais e utilizar uma consulta de anexação para consolidar os resultados em um tabela de vendas anuais.

Consulta exclusão:

Definimos uma consulta como sendo do tipo Consulta exclusão, através do menu consultas no modo estrutura. Utilizamos uma consulta exclusão para eliminarmos registros em uma determinada tabela. Devemos tomar cuidado ao definirmos uma consulta do tipo exclusão, pois se não especificarmos nenhum critério de filtragem, todos os registros da tabela em questão serão excluídos, embora o Microsoft Access nos peça confirmação antes de efetivar a exclusão. A exemplo dos outros tipos de consultas vistos neste item, não basta ir para o Modo Folha de Dados. Para executar a consulta você precisa dar um clique no botão executar (botão com um Ponto de exclamação vermelho). Por exemplo, poderíamos criar uma consulta do tipo exclusão para eliminarmos todos os Pedidos, cujo valor do frete fosse inferior a R$ 10,00. Ou poderíamos criar uma consulta para eliminar todos os registros cuja diferença, em dias, entre a DataDoPedido e a DataDeEntrega seja maior do que 15 dias.

Conforme observaremos mais adiante, o Microsoft Access utiliza um ícone diferente para cada um dos tipos de consultas. Agora chegou a hora de exercitarmos um pouco.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 195 de 195

Exemplo 01: Criar uma consulta do tipo Criação de Tabela, a qual contenha os campos NúmeroDoPedido Frete da tabela Pedidos e o campo NomeDaEmpresa da tabela Clientes, com os pedidos somente para o ano de 1997 (Ano da DataDoPedido). Transforme a consulta em uma Consulta criar tabela, a qual deverá criar uma tabela chamada "Valores de Frete para 1997". Execute a consulta e verifique se a tabela "Valores de Frete para 1997" foi realmente criada.

Para criar a consulta proposta faça o seguinte:

• Abra o banco de dados ExOutrasConsultas.mdb que está na pasta C:\CursoAccBasico.

• Crie uma nova consulta baseada nas tabelas Pedidos e Clientes.

• Adicione os campos NúmeroDoPedido e Frete da tabela Pedidos e o campo NomeDaEmpresa da tabela Clientes.

• Classifique a consulta em ordem crescente do NomeDaEmpresa. Adicione uma coluna para extrair o ano da DataDoPedido e adicione um critério para retornar apenas os pedidos para o ano de 1997.

• Salve a consulta com o nome de Criar Pedidos para 1997.

• Transforme a consulta em uma Consulta criar tabela. Para isso selecione o comando Consulta -> Consulta criar tabela.

• Feito isso irá surgir a janela indicada na figura a seguir, a qual está solicitando que seja digitado o nome da tabela a ser criada. Digite Valores de Frete para 1997 e dê um clique no botão OK.

Digite o nome da tabela a ser criada pela Consulta criar tabela.

• Feito isso vá para o modo folha de dados e observe o número de registros (408). Estes serão os registros que irão estar na tabela Valores de Frete para 1997, quando esta for criada ao "executarmos" a consulta.

• Volte para o modo estrutura e executa a consulta (dando um clique no botão com o ponto de exclamação vermelho).

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 196 de 196

• Como a tabela ainda não existe, o Microsoft Access executa a consulta sem nenhuma mensagem de aviso.

• Feche a consulta e dê um clique na guia Tabelas. Verifique se foi criada uma tabela com o nome de Valores de Frete para 1997. Abra esta tabela e observe que foram adicionados somente os registros cujo Ano da DataDoPedido é igual a 1997 (408 pedidos), conforme havíamos definido na consulta Criar Pedidos para 1997.

Nunca é demais salientar que para que a consulta seja executada, não basta ir para o modo folha de dados, precisamos clicar no botão executar consultas.

Além disso se executarmos a consulta novamente, o Microsoft Access elimina a tabela criada anteriormente e cria uma nova tabela com o resultado da consulta.

Dê um clique na guia Consultas e observe que o Microsoft Access usa diferentes ícones para os diferentes tipos de consultas, conforme indicado na figura a seguir:

Diferentes ícones para os diferentes tipos de consultas.

Marque a consulta Criar Pedidos para 1997 e dê um clique no botão Estrutura, para abri-la no modo estrutura.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 197 de 197

Dê um clique no botão executar consulta. Como já existe a

tabela Valores de Frete para 1997, o Microsoft Access avisa que a tabela existente será excluída e uma nova será criada, conforme indicado pela figura abaixo. Basta clicar em sim que a tabela existente será excluída e a nova será criada.

O Microsoft Access pedindo confirmação para excluir a tabela existente.

Ao clicar em Sim, a tabela anterior será excluída e uma nova tabela será criada, a qual conterá os registros retornados como resultado da consulta.

Vamos exercitar um pouco mais.

Exemplo 02: Criar uma consulta do tipo Consulta atualização, a qual altere o valor do campo Frete da tabela Pedidos, da seguinte maneira:

Frete menor ou igual a 15 -> Aumento de 10% Frete maior do que 15 -> Aumento de 20%

Para criar a consulta proposta faça o seguinte:

• Crie uma nova consulta baseada na tabela Pedidos • Adicione o campo Frete. Observe que estamos

adicionando apenas o campo que queremos atualizar. • Transforme a consulta em uma Consulta atualização.

Para isso selecione o comando Consulta - > Consulta atualização. Observe que uma nova linha: Atualizar para, foi adicionada a estrutura da consulta

• Salve a consulta com o nome de Atualiza Frete.

• Na Linha Atualizar Para, coloque a seguinte expressão:

SeImed([Frete]<=15;[Frete]*1,1;[Frete]*1,2)

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 198 de 198

• Utilizamos novamente a função Selmed para testarmos se o frete for menor ou igual a 15, aumentamos em 10 % ( [Frete]*1,1), caso contrário aumentamos em 20 % ( [Frete]*1,2).

• Vá para o modo Folha de Dados e Observe os Valores do Frete. Ao ir para o modo Folha de Dados a consulta ainda não foi executada e portanto, os valores do frete ainda não foram atualizados. Para atualizar os valores, precisamos executar a consulta, clicando no botão com o Ponto de Interrogação vermelho.

• Volte para o modo estrutura e dê um clique no botão Executar. O Microsoft Access executa a consulta e atualiza os valores. Observe que nenhuma mensagem é emitida.

• Voltando para o modo folha de dados você poderá constatar que os valores do frete foram alterados em relação aos valores anteriores, conforme definido na consulta.

Nunca é demais salientar que devemos tomar cuidado com as consultas de atualização. Se executarmos novamente a consulta deste exemplo, mais 10% será adicionado aos registros com frete menor ou igual a 15 e mais 20% será adicionado aos registros com frete maior do que 15. Cada vez que a consulta for executada, os registros são alterados, conforme definido pela consulta.

Por isso que é uma prática comum não salvar as consultas do tipo atualização. Apenas criamos a consulta, executamos uma vez conforme a necessidade e saímos sem salvar, para que não haja o perigo de executarmos a consulta várias vezes, o que seria indesejável.

Também nunca é demais salientar que a consulta de atualização precisa ser executada, não basta ir para o modo Folha de Dados.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 199 de 199

Exemplo 03: Crie uma consulta com os campos NúmeroDoPedido, NomeDaEmpresa e Frete, a qual filtre apenas os Pedidos para 1998. Transforme esta consulta em uma consulta de acréscimo, a qual adiciona os registros de 1998 aos registros já existentes de 1997 na tabela Valores de Frete para 1997.

Para criar a consulta proposta faça o seguinte:

• Ao invés de criar a consulta a partir do zero, vamos utilizar a consulta Criar Pedidos para 1997, criada anteriormente e apenas alterar o critério para 1998. Vamos salvar a consulta com o nome de Criar Pedidos para 1998.

• Para isso, marque a consulta Criar Pedidos para 1997 e dê um clique no botão Estrutura. Altere o critério na coluna Ano([DataDoPedido]) para 1998. Salve a consulta como Anexar Pedidos para 1998. Para isso dê um clique no menu Arquivo e um clique na Opção Salvar como/exportar. Na janela que surge digite o nome da consulta: Anexar Pedidos para 1998.

• Transforme esta consulta em uma consulta de Anexação. Para isso dê um clique no menu Consulta e um clique na opção Consulta acréscimo. O Microsoft Access abre uma janela perguntando a qual consulta você deseja anexar os registros com os pedidos de 1998. Escolha Valores de Frete para 1997 e dê um clique no botão OK.

• Para que os registros sejam anexados, você precisa executar a consulta. Para isso dê um clique no botão executar. O Microsoft Access anexa os registros de 1998 aos registros de 1998 já existentes na tabela Valores de Frete para 1997.

• Observe no modo estrutura, como os campos estão na mesma ordem, tanto na consulta quanto na tabela, o Microsoft Access já detecta qual campo corresponde a qual campo.

• Observe que o campo Ano([DataDoPedido]) não é incluído na tabela Valores de Frete, pois o mesmo não é nem sequer exibido na consulta, pois funciona apenas como um filtro para a consulta.

• Também temos que ter o cuidado de não executar a consulta mais do que uma vez, pois senão, cada vez que a consulta for executada, todos os pedidos de 1998 serão anexados a tabela Valores de Frete para 1997, o que causará duplicação dos dados.

• Feche a consulta de Anexação e observe os diversos tipos de consultas, indicados pelos diferentes ícones.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 200 de 200

Nos veremos no item sobre macros, no curso de Access Avançado, a automação de tarefas através do uso de Macros e consultas do tipo acréscimo, criar tabela, atualização e exclusão. Por exemplo, a medida que o tempo passa pode ser necessário fazer um arquivamento mensal dos Pedidos. Isso pode ser feita através de uma consulta de anexação que anexa os pedidos do mês que passou à tabela de arquivamento, seguida de uma consulta que exclui os pedidos que foram arquivados. Estas consultas podem executar em seqüência através da utilização de uma Macro, a qual pode ser programada para executar todo dia 1º de cada mês.

Exemplo 04: Criar uma consulta que exclua todos os Pedidos cujo PaísDeDestino seja Argentina.

Para criar a consulta proposta faça o seguinte:

• Crie uma nova consulta baseada na tabela Pedidos • Adicione o campo PaísDeDestino • Transforme a consulta em uma Consulta exclusão. Para isso

dê um clique no menu Consulta e depois um clique na opção Consulta exclusão.

• Na linha critério do campo PaísDeDestino, digite Argentina. É muito importante que você não esqueça o critério, pois caso contrário todos os Pedidos serão excluídos.

• Para excluir os registros você precisa executar a consulta. Dê um clique no botão executar.

• Salve a consulta com o nome de Exclui Pedidos para a Argentina.

• Feche a consulta, vá para a guia Tabelas e abra a tabela Pedidos. Verifique se realmente os Pedidos para Argentina foram excluídos.

Você deve ter bastante cuidado na hora de especificar os critérios em uma consulta de exclusão. Antes de executar a consulta e realmente excluir os registros, você pode ir para o Modo Folha de dados e observar os registros que o Microsoft Access retorna, pois são estes os registros que serão excluídos quando a consulta for executada.

Pode acontecer de você receber uma mensagem de erro na hora de executar uma consulta de exclusão. Normalmente estas mensagens estão ligadas a problemas nos relacionamentos. Por exemplo, se você estiver excluindo clientes do Brasil e o relacionamento entre Clientes e Pedidos estiver configurado para Propagar exclusões em cascata, o Microsoft Access tentará excluir os Pedidos (na tabela Pedidos) dos clientes que estão sendo excluídos. Se a tabela Pedidos estiver em uso por alguma outra consulta ou formulário, o Microsoft Access

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 201 de 201

não conseguirá excluir os pedidos e retornará uma mensagem de erro. Isso aumenta em complexidade, uma vez que a tabela Pedidos se relaciona com Detalhes do Pedido, a qual poderia estar em uso e assim por diante.

Vamos exercitar um pouco para que possamos fixar os conceitos apresentados neste tópico.

EXERCÍCIOS:

01) Criar uma consulta do tipo Criar Tabela, a qual crie um tabela com os campos NúmeroDoPedido, NomeDaEmpresa, DataDoPedido, DataDeEntrega e PaísDeDestino. O Nome da Tabela será "Pedidos Demora Entrega". A consulta deverá selecionar apenas os registros cuja diferença entre a DataDeEntrega e DataDoPedido seja maior do que 25 dias.

02) Criar uma consulta de Atualização que altere o campo PreçoUnitário na tabela Produtos da seguinte maneira: Se o PreçoUnitário for menor do que R$ 20,00, terá uma aumento de 5%, caso contrário o aumento será de 10%.

03) Criar uma consulta de anexação que anexa a tabela Valores de Frete para 1997 (criada anteriormente), os Pedidos de 1996. Lembre que esta tabela possui os campos NúmeroDoPedido, NomeDaEmpresa e Frete.

04) Criar uma consulta de exclusão a qual elimina todos os Pedidos com valor de Frete inferior a R$ 10,00 da tabela Valores de Frete para 1997.

Conclusão:

Com isso encerramos o nosso estudo sobre consultas, onde aprendemos a criar seis diferentes tipos de consultas:

• Consultas de seleção • Consultas Tabela de referência cruzada • Consultas de Criação de tabela • Consultas de Atualização • Consultas de Acréscimo • Consultas de Exclusão

No próximo item aprenderemos a criar formulários básicos com o Microsoft Access.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 202 de 202

10) Criação de Formulários Básicos com o Microsoft Access

Introdução - O que são e para o que são utilizados?

Os formulários são utilizados para que possamos implementar funcionalidades que não seriam possíveis de ser implementadas com o uso de tabelas ou consultas.

A principal aplicação dos formulários é para a criação de telas gráficas, que facilitam a digitação, inserção e alteração de dados.

Ao criarmos um formulário, este deve ser baseado em uma tabela ou consulta. Caso o formulário seja baseado em uma consulta, os dados exibidos no formulário serão acessados diretamente da respectiva tabela. Ao alterarmos um registro no formulário, estas informações estarão sendo alteradas, na prática, diretamente na tabela. O formulário, conforme salientado anteriormente, é apenas uma tela gráfica, que facilita as operações com os dados. Caso o formulário seja baseado em uma consulta, ao abrirmos o formulário a consulta será executada e, os dados obtidos pela consulta, serão exibidos pelo formulário. Se alterarmos dados no formulário, estes serão alterados diretamente nas tabelas que compõem a consulta.

Na figura a seguir temos o exemplo de um formulário criado para facilitar o cadastro de novos clientes.

Formulário "Clientes", do banco de dados ExFormularios.mdb.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 203 de 203

Nota: Este formulário faz parte do banco de dados ExFormularios.mdb. Neste tópico vamos trabalhar com este banco de dados, que está disponível na pasta C:\CursoAccBasico.

Também podemos criar formulários para facilitar a pesquisa de informações. É comum o uso de formulários associados com consultas onde, no próprio formulário podemos definir os critérios de pesquisa para a execução de consultas. A definição deste tipo de formulário está fora do escopo deste curso e será vista no curso de Access - Técnicas Avançadas.

A maior parte das informações de um formulário vêm de uma origem de registros base - uma tabela ou consulta. Outras informações do formulário são armazenadas na estrutura do formulário. Por exemplo:

• Elementos gráficos, como linhas e retângulos, são armazenados na estrutura do formulário.

• O texto Descritivo é armazenado na estrutura do formulário. • Os dados vêm dos campos na origem do registro base. • Um cálculo vem de uma expressão, que é armazenada na

estrutura do formulário.

Você cria o vínculo entre um formulário e sua origem de registros utilizando objetos gráficos denominados controles. O tipo mais comum de controle utilizado para exibir e inserir dados é a caixa de texto. Por exemplo, ao criarmos um formulário baseado na tabela Pedidos; cada campo da tabela Pedidos é exibido em um controle separada no formulário.

A exemplo das tabelas e consultas, o formulário também possui um modo Estrutura. No modo Estrutura definimos os elementos (também chamados de controles) que irão aparecer no formulário. Os formulários também tem um modo chamado "Formulário". Neste modo nos dispomos de todas as funcionalidades do formulário, tais como acessar os diversos registros, alterar registros, inserir novos registros e excluir registros.

Para criar formulários no Microsoft Access nos temos as seguintes opções:

• Criar o formulário manualmente. • Utilização de Auto-Formulários. • Utilização do Assistente de Formulário.

Agora faremos alguns exemplos práticos, onde vou explicar mais alguns detalhes sobre a criação e utilização de formulários.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 204 de 204

Exemplo 01: Criar um formulário para cadastro de clientes. Salvar o formulário com o nome de "Cadastro de Clientes". O formulário será baseado na tabela Clientes. Utilizar o Assistente de formulário para a criação do formulário.

Para criar o formulário proposto faça o seguinte:

• Abra o banco de dados ExFormularios.mdb, que está na pasta C:\CursoAccBasico. • Dê um clique na opção Formulários. • Dê um clique duplo na opção "Criar formulário usando o assistente".

• Surge a tela inicial do assistente. • Nesta etapa temos que definir em qual tabela/consulta o formulário será baseado. • Na lista "Tabelas/Consultas", selecione Clientes, conforme indicado na figura a seguir:

Definindo a tabela na qual será baseado o formulário.

• Ao selecionar uma tabela, os campos da respectiva tabela são exibidos na lista "Campos disponíveis:" • Podemos adicionar todos os campos ou somente alguns campos selecionados. • Para adicionar campos utilizamos os botões descritos a seguir:

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 205 de 205

Para executar esta ação Faça o seguinte Adicionar um campo Clique no campo a ser adicionado e depois

clique no botão > Adicionar todos os campos Clique no botão >> Remover um campo Clique no campo a ser removido, na lista da

direita e depois clique no botão < Remover todos os campos Clique no botão <<

• Clique no botão >> para adicionar todos os campos. • Clique no botão Avançar, para seguir para a próxima etapa do assistente. • Nesta etapa devemos selecionar um dos "layout" predefinidos. Um layout define uma série de formatações para os aspectos visuais do formulário. • O layout também define a maneira como os campos e registros serão exibidos. Se um registro por vez, se um registro abaixo do outro, etc. No nosso exemplo vamos selecionar a opção Coluna. Esta opção faz com que seja exibido um registro por vez, o que é o ideal para formulários de cadastro/alteração de dados. • Selecione a opção Coluna e dê um clique no botão Avançar, para seguir para a próxima etapa do assistente. • Nesta etapa temos uma série de estilos predefinidos. Um estilo defini configurações de cores e outros formatos gráficos para o formulário. Ao clicarmos em um estilo, o Microsoft Access exibe uma prévia das configurações associadas com o estilo. • Selecione o estilo "Expedição" e dê um clique no botão Avançar, para seguir para a próxima etapa do assistente. • Na tela final do assistente definimos o título para o Formulário. • Digite o seguinte título: Cadastro de Clientes. • Nesta tela também podemos escolher se queremos abrir o formulário no modo Formulário e já visualizar os resultados obtidos - opção "Abrir o formulário para visualizar ou inserir informações"; ou se queremos que o formulário seja aberto no modo estrutura, para que possamos alterar o formulário - opção "Modificar a estrutura do formulário". • Certifique-se de que a opção " Abrir o formulário para visualizar ou inserir informações" esteja selecionada, conforme indicado na figura a seguir e dê um clique no botão Concluir.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 206 de 206

Tela final do assistente.

• O formulário é criado e aberto no modo Formulário, conforme indicado na figura a seguir:

Formulário para Cadastro dos Clientes.

• Agora vamos para o modo Estrutura do formulário e vamos aprender a fazer uma série de alterações. • Para ir para o modo Estrutura selecione o seguinte comando: Exibir -> Modo estrutura.

• O modo estrutura do formulário é composto por cinco partes distintas:

Cabeçalho do Formulário: É exibido no início da primeira página do formulário.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 207 de 207

Cabeçalho da página: É exibido no início de cada página, caso o formulário tenha várias páginas. Rodapé do Formulário: É exibido no final da última página. Rodapé da Página: É exibido no final de cada página, caso o formulário tenha várias páginas. Seção Detalhe: Esta é a parte principal (também conhecida como Corpo do Formulário) do formulário. É onde são exibidos os controles associados com os campos de uma tabela ou consulta. É a única parte obrigatória do formulário, ou seja, não existe formulário sem a seção Detalhe.

• Para exibir o Cabeçalho/rodapé da página, utilizamos o seguinte comando: Exibir -> Cabeçalho/rodapé da página.

• Para exibir o Cabeçalho/rodapé do formulário, utilizamos o seguinte comando: Exibir -> Cabeçalho/rodapé do formulário.

• Você pode definir o tamanho que cada parte do formulário terá. Por exemplo, podemos controlar o tamanho do Cabeçalho/rodapé da página. Para alterar o tamanho de um destes elementos, basta colocar o mouse na divisória entre os elementos, conforme destacado na figura a seguir. O mouse transforma-se em uma seta de ponta dupla. Basta clicar e arrastar para definir o tamanho.

Dimensionando os elementos do formulário.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 208 de 208

• Para exibir informações em um formulário o Microsoft Access utiliza elementos conhecidos como Controles. • Existem diversos tipos de controles. • O tipo de controle mais conhecido é o tipo "Caixa de texto", onde são exibidos os campos de cada registro. • No nosso exemplo, temos um controle para o Código do Cliente, um para o Nome da Empresa, um para o Nome do Contato e assim por diante. • O controle Caixa de texto é formado de duas partes, conforme destacado na figura a seguir:

Partes de um controle do tipo Caixa de Texto.

• A parte da esquerda (Rótulo) é simplesmente um texto descritivo do controle. O rótulo pode, inclusive, ser excluído, sem que isso afete a funcionalidade do formulário. • A parte da direita (Valor do campo) é o campo propriamente dito, ou seja, é esta parte que está vinculada a um campo da tabela ou consulta na qual foi baseada o formulário. Nesta parte será exibido o respectivo valor do campo, valor este armazenado na tabela ou consulta. • No exemplo da figura anterior, o controle é vinculado ao campo CódigoDoCliente, da tabela Clientes. • Nota: Sempre que eu me referir, por exemplo, ao campo CódigoDoCliente, de um formulário, estou fazendo referência a parte do Valor do campo, ou seja, a caixinha da direita, do controle. • Podemos mover os controles dentro do formulário. Para mover um controle dê um clique no respectivo controle para seleciona-lo. • Uma vez selecionado o controle a ser movido, aponte o mouse para o controle até que a seta do mouse transforme-se em uma pequena mão. • Quando a seta estiver no formato de uma pequena mão, clique no controle a ser movido, mantenha o botão pressionado e arraste o controle para a nova posição. A medida que você vai movimentando o mouse, o controle acompanha a seta do mouse. Chegando na posição desejada é só liberar o mouse que o controle será movimentado para a nova posição. • Quando movemos um controle, as duas partes que compõem o controle: Rótulo e Valor do campo, são movidas

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 209 de 209

ao mesmo tempo. Em determinadas situações pode ser necessário mover apenas o rótulo ou apenas a parte do Valor do campo. É possível movimentar cada parte, independentemente. • Para movimentar somente uma das partes de um controle, faça o seguinte: Clique no controle para seleciona-lo. Quando um controle está selecionado, surgem pequenos quadrados, no contorno do controle. Observe que existe um quadrado, no canto superior esquerdo, que é maior do que os outros, conforme destacado na figura a seguir:

Quadradinho maior para mover cada parte separadamente.

• Para mover uma das partes do controle, separadamente, aponte o mouse para o quadradinho maior da parte a ser movida. A seta do mouse transforma-se em uma mão fechada, com o dedo indicador apontando para o quadrado maior. Agora é só clicar e arrastar, que a parte clicada será movida, sem que a outra parte do controle seja movida. • Em determinadas situações pode ser necessário selecionar vários controles ao mesmo tempo. Por exemplo, pode ser que queremos formatar o texto de todos os rótulos com uma fonte em negrito e de cor Azul marinho. • Para selecionar vários controles ao mesmo tempo faça o seguinte: Pressione a tecla Shift e mantenha-a pressionada. Com a tecla Shift pressionada vá clicando com o mouse, nos controles a ser selecionados. A medida que você for clicando, cada controle clicado passa a ficar selecionado. • Uma vez selecionados os controles desejados, utilizamos os mesmos botões de formatação do Word, para definir as características da fonte, tais como Negrito, Itálico, Sublinhado, Cor e tamanho da fonte, etc. • Para selecionar o tipo de fonte podemos utilizar a

lista com o nome das fontes ( ) na barra de ferramentas. As fontes mais utilizadas são: Arial, Times New Roman e Courier New. Existem dezenas de fontes disponíveis. Como uma regra geral não devemos utilizar mais do que três fontes diferentes em um mesmo formulário para evitar que o texto fique poluído visualmente.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 210 de 210

• Para formatar em Negrito: Para formatar os controles

selecionadas para Negrito, podemos utilizar o botão ( ) na barra de ferramentas. Você também pode utilizar a combinação de teclas Ctrl+N.

• Para alterar a cor da Fonte: Para alterar a cor da

fonte,utilizamos o botão ( ). Clique na setinha para baixo que será exibida uma matriz com as diversas cores disponíveis, conforme indicado na figura a seguir:

Matriz com as cores disponíveis.

• Agora é só clicar na cor desejada.

• Para definir sublinhado: Para formatar os controles

selecionados com sublinhado, podemos utilizar o botão ( ) na barra de ferramentas. Você também pode utilizar a combinação de teclas Ctrl+S.

• Para definir itálico: Para formatar os controles selecionados com texto em itálico, podemos utilizar o botão

( ) na barra de ferramentas. Você também pode utilizar a combinação de teclas Ctrl+I.

• Para definir o tamanho da fonte: Para alterar o

tamanho da fonte, utilizamos o botão ( ) na barra de ferramentas.

• Em determinadas situações pode acontecer de o conteúdo do campo não caber no tamanho definido para o controle. Nestas situações pode ser necessário aumentar o tamanho do campo.

• Para alterar o tamanho de um controle, faça o seguinte: Clique no controle para seleciona-lo. Aponte o mouse para um dos pequenos quadrados que surgem no contorno do controle selecionado. A sete do mouse se transforma em uma seta de ponta dupla. Quando aparecer a seta de ponta dupla, dê um clique com o botão esquerdo do mouse e mantenha este botão pressionado. A medida que você for movendo o mouse, ainda com o botão esquerdo pressionado, o controle será aumentado ou

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 211 de 211

diminuído, dependendo da direção em que você estiver movimentando o mouse.

• Pode acontece de, após termos movido e redimensionado alguns controles, de os controles estarem desalinhados, tanto na vertical quanto na horizontal.

• Para alinhar controles o procedimento é o seguinte: Selecionar os controles a serem alinhados e, utilizar um dos comandos da tabela a seguir, conforme for o caso:

Para Utilize o comando

Alinhar os controles selecionados à esquerda.

Formatar -> Alinhar -> à esquerda.

Alinha os controles selecionados à direita

Formatar -> Alinhar -> à direita.

Alinhar os controles selecionados no nível do controle mais de cima

Formatar -> Alinhar -> superior

Alinhar os controles selecionados no nível do controle mais de baixo

Formatar -> Alinhar -> inferior

Com a linha de grade mais próxima

Formatar -> Alinhar -> À grade

• Utilizando os detalhes apresentados até agora, mova os controles do formulário Cadastro de clientes mais para o centro do formulário, mantendo o alinhamento entre os controles, conforme indicado na próxima figura.

• Salve o formulário com o nome de "Cadastro de Clientes.

• Vá para o modo Formulário e observe os resultados obtidos.

• No próximo exemplo vamos fazer mais algumas alterações no formulário Cadastro de Clientes.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 212 de 212

Formulário Cadastro de Clientes.

• Observe que movemos os controles mais para o centro, afastamos os rótulos da parte do valor do campo, alteramos a cor de fundo e a cor da fonte dos rótulos e também alteramos o alinhamento dos rótulos, onde definimos alinhamento do texto, dentro do rótulo, à esquerda. • Também observe que adicionamos um título no Cabeçalho do formulário. Vamos aprender como se faz para adicionar este título. • Para adicionar um título faça o seguinte: Aumente o espaço do Cabeçalho do formulário, conforme descrito no início deste exemplo. • Se o cabeçalho não estiver aparecendo, utilize o comando Exibir -> Cabeçalho/rodapé do formulário. • Para adicionar um título, vamos utilizar um controle do tipo rótulo. • Para que possamos adicionar controles ao formulário, precisamos exibir a Caixa de ferramentas. • Selecione o comando Exibir -> Caixa de ferramentas. Se não tiver um sinal de certo, ao lado deste comando, de um clique nele para colocar o sinal de certo.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 213 de 213

• A caixa de ferramentas possui vários botões, para os diversos tipos de controles que podem ser adicionados ao formulário, conforme destacado na figura a seguir:

A Caixa de ferramentas.

• Alguns tipos de controles serão estudados neste curso e os demais no curso de Access Avançado. • O controle do tipo Rótulo é cessado através do botão

( ).

• Para adicionar um controle do tipo Rótulo faça o seguinte:

Clique no botão ( ). Libere o mouse. A seta do mouse se transforma em uma pequena cruz. Aponte o mouse para o Cabeçalho do formulário, no local onde deve iniciar o título. Pressione o botão esquerdo e mantenha-o pressionado. Vá movimentando o mouse para fazer um retângulo. Este retângulo defino o tamanho que terá o título. Ao liberar o mouse, o cursor fica "piscando" dentro do retângulo, agora é só digitar o título desejado. Digite: "CADASTRO DE CLIENTES - EMPRESA ABC LTDA" e pressione Enter.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 214 de 214

• Para alterar a formatação do título, basta clicar no título para selecionar o controle do tipo rótulo e usar os comandos de formatação explicados anteriormente. • Salve novamente o formulário. • Vá para o modo Formulário, para isso utilize o comando Exibir -> Modo formulário.

• Você obtém os resultados indicados na figura a seguir:

Formulário Cadastro de Clientes.

• Feche o formulário Cadastro de Clientes.

Agora veremos mais alguns aspectos teóricos sobre formulários. Em seguida vamos fazer algumas alterações no formulário Cadastro de Clientes. Também faremos alguns exercícios para fixar os conceitos apresentados.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 215 de 215

Modos de Exibição de um Formulário

Os formulários têm três modos: modo Estrutura, modo Formulário e modo Folha de Dados.

Modo Estrutura

Para modificar a estrutura de um formulário, você trabalha no modo Estrutura. A visualização de um formulário no modo Estrutura é onde temos acesso a todas as ferramentas, comandos e controles disponíveis para a criação/alteração de um formulário.

No modo estrutura, a barra de ferramentas é diferente do modo folha de dados e do modo formulário. Além da barra do modo estrutura é mostrada também a Caixa de ferramentas, já descrita anteriormente, onde os controles podem ser personalizados com mais facilidade.

Em geral, o Access mostra a caixa de ferramentas de maneira automática, sempre que você entra no Modo Estrutura do Formulário. Se você tiver fechado manualmente a caixa de ferramentas, o Access não mais irá exibi-la de forma automática na próxima vez que a janela Estrutura do Formulário for aberta. Para exibir de novo a caixa de ferramentas, dê um clique no botão Caixa de Ferramentas

( ) da barra de ferramentas Formulários, ou então selecione o comando: Exibir -> Caixa de Ferramentas.

Alguns controles possuem assistentes que ajudam em sua criação. Esses assistentes podem ser desligados. Para ligar/desligar

ferramenta Assistentes de controle, utilizamos o botão ( ), da Caixa de ferramentas. Esses assistentes se ativam assim que se coloca o controle no formulário. Os Assistentes de Controle auxilia na elaboração de controles complexos, tais como grupos de opções, caixas de listagem e caixas de combinação.

Em seguida vamos descrever os controles básicos disponíveis através da Caixa de ferramentas.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 216 de 216

Controles básicos da Caixa de Ferramentas Selecionar Objetos

Essa é a ferramenta padrão quando você exibe a Caixa de Ferramentas. É com ela que se move, dimensiona e seleciona controles.

Rótulo

Você utiliza rótulos em um formulário ou relatório para exibir textos descritivos, tais como títulos, legendas ou instruções breves. Os rótulos não exibem valores de campos ou expressões; são sempre não acoplados (um controle que não está conectado a um campo de uma tabela ou consulta) e não são alterados conforme você se move de registro em registro.

Um rótulo pode ser anexado a um outro controle. Quando você cria uma caixa de texto, por exemplo, ela possui um rótulo anexado que exibe uma legenda para aquela caixa de texto. Esse rótulo aparece como um título de coluna no modo Folha de Dados de um formulário.

Quando você cria um rótulo utilizando a ferramenta Rótulo, o rótulo fica isolado - ele não fica anexado a nenhum outro controle. Você utiliza rótulos independentes para informações como o título de um formulário ou relatório, ou para outros textos descritivos. Rótulos independentes não aparecem no modo Folha de Dados.

Para criar um rótulo faça o seguinte:

Utilize este procedimento para criar um rótulo autônomo (um rótulo que não esteja anexado a um outro controle). Para criar um rótulo que esteja anexado a um controle, basta criar o controle. O Microsoft Access anexa automaticamente um rótulo ao controle quando você o cria.

1. Abra um formulário no modo Estrutura ou um relatório no modo Estrutura.

2. Clique na ferramenta Rótulo na caixa de ferramentas. 3. No formulário ou no relatório, clique no local onde você

deseja colocar o rótulo e, em seguida, digite o texto do rótulo.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 217 de 217

Observações:

• Se você deseja exibir o texto do rótulo em mais de uma linha, você pode redimensionar o rótulo depois de digitar todo o texto, ou pode pressionar CTRL+ENTER no final da primeira linha de texto para inserir um retorno de carro. Se você inserir um retorno de carro, o Microsoft Access irá quebrar automaticamente as linhas subseqüentes conforme você as digitar. Para inserir manualmente uma quebra de linha em uma linha subseqüente, pressione CTRL+ENTER outra vez. A largura máxima do rótulo é determinada pelo comprimento da primeira linha de texto.

• Se você deseja utilizar um E comercial (&) em um rótulo, deve digitá-lo duas vezes. Isto se deve ao fato de o Microsoft Access utilizar o E comercial em um rótulo ou botão para definir uma tecla de acesso.

Para alterar o texto de um rótulo faça o seguinte:

• Clique no controle Rótulo a ser alterado. • O controle será selecionado. • Estando o controle selecionado, dê um clique no texto do

rótulo. • O cursor irá para dentro do texto do rótulo. • Altere o texto e pressione Enter.

Caixa de Texto

Você utiliza caixas de texto em um formulário ou relatório para exibir dados de uma tabela, de uma consulta ou de uma instrução SQL. Esse tipo de caixa de texto é chamada caixa de texto acoplada porque está acoplada aos dados de um campo. As caixas de texto podem também ser não acopladas. Por exemplo, você pode criar uma caixa de texto não acoplada para exibir os resultados de um cálculo ou para aceitar entrada de um usuário. Os dados em uma caixa de texto não acoplada não são armazenados em um campo de uma tabela e, quando o formulário é fechado, estes valores são descartados.

Para criar uma caixa de texto acoplada faça o seguinte:

1. Abra um formulário no modo Estrutura.

2. Clique no botão Lista de Campos ( ), na barra de ferramentas para exibir a lista de campos da tabela ou consulta associada ao formulário.

3. Selecione um ou mais campos da lista de campos. 4. Arraste o(s) campo(s) da lista de campos e coloque-o(s) no

formulário.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 218 de 218

Observações:

• Você deve arrastar o(s) campo(s) da lista de campos. Se você clicar no(s) campo(s) da lista de campos e, em seguida, clicar no formulário ou relatório, o Microsoft Access não criará o controle.

• O Microsoft Access coloca uma caixa de texto no formulário para cada campo que você selecionar na lista de campos. Cada caixa de texto está acoplada a um campo na fonte de dados base do formulário. Cada caixa de texto também tem por padrão um rótulo acoplado.

5. Dimensione a caixa de texto de forma que ela tenha o tamanho apropriado para os dados que você deseja mostrar.

6. Altere o texto do rótulo, se for necessário. 7. Alterne para modo Formulário ou modo Folha de Dados para testar

o controle.

Para criar uma caixa de texto não acoplada faça o seguinte:

1. Abra um formulário no modo Estrutura. 2. Clique na ferramenta Caixa de Texto na caixa de ferramentas. 3. Clique em qualquer lugar do formulário ou do relatório para

criar uma caixa de texto de tamanho padrão ou arraste para criar uma caixa de texto do tamanho desejado.

Botão de Comando

Você utiliza um botão de comando em um formulário para iniciar uma ação ou um conjunto de ações. Por exemplo, você poderia criar um botão de comando que abrisse um outro formulário ou um botão de comando para ir para o próximo registro.

Observação: Você pode criar mais de 30 tipos diferentes de botões de comando com o Assistente de Botão de Comando.Você pode exibir texto em um botão de comando definindo sua propriedade Legenda ou exibir uma figura definindo sua propriedade Figura.

Para criar um botão de comando com um assistente faça o seguinte:

1. Abra um formulário no modo Estrutura. 2. Na caixa de ferramentas, clique na ferramenta Botão de Comando. 3. No formulário, clique onde você deseja colocar o botão de

comando.

Siga as instruções nas caixas de diálogo do assistente. Na última caixa de diálogo, clique em Concluir para exibir o botão de comando no modo Estrutura do Formulário.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 219 de 219

A folha de Propriedades

No Microsoft Access, você utiliza propriedades para determinar as características das tabelas, consultas, campos, formulários e relatórios. Cada controle em um formulário ou relatório tem propriedades também. As propriedades dos controles determinam a estrutura, aparência e o comportamento de um controle, bem como as características do texto ou dados que ele contém. Para definir propriedades, utilize a folha de propriedades.

Para chamar a folha de propriedades de um determinado objeto, você

precisa selecionar objeto e pressionar o botão Propriedades ( ) na barra de ferramentas. Outra forma de chamá-la é dando um duplo clique no objeto para visualizar as propriedades.

Cada objeto tem suas propriedades particulares, sendo assim, a Folha de Propriedade é diferente para cada tipo de objeto/controle. Por exemplo, a folha de propriedades do formulário é diferente da folha de propriedades de um controle do tipo Rótulo.

O número de propriedades para cada objeto selecionado é muito grande. Vamos apresentar apenas algumas propriedades básicas. As propriedades mais avançadas serão vistas no treinamento: Microsoft Access - Recursos Avançados.

Na figura a seguir vemos a folha de propriedades de um controlo do tipo Caixa de texto. Este controle está associado com o campo NomeDaEmpresa, do formulário Cadastro de Clientes, formulário este que criamos no Exemplo 01.

Folha de propriedades do controle NomeDaEmpresa.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 220 de 220

Origem do Registro

A definição da propriedade OrigemDoRegistro pode ser o nome de uma tabela, de uma consulta ou uma instrução SQL. Ou seja, onde serão lidos os registros para serem visualizados no formulário.

Origem do Controle

Você pode utilizar a propriedade OrigemDoControle para especificar quais dados aparecem em um controle. Ela especifica de onde serão lidos os dados para exibição. Esta origem de dados pode ser nome de um campo, uma expressão (cálculo) ou simplesmente não ter vínculo com nenhum dado.

Modo Padrão

• Você pode utilizar a propriedade ModoPadrão para especificar o modo de abertura de um formulário.

As definições da propriedade Modo Padrão são:

Definição Descrição Formulário Simples

(Padrão) Exibe um registro de cada vez

Formulários Contínuos

Exibe vários registros (tantos quantos couberem na janela atual), cada um em sua própria cópia da seção detalhe do formulário.

Folha de Dados Exibe os campos do formulário organizados em linhas e colunas como uma planilha.

• Você pode utilizar a propriedade ModosPermitidos para especificar se usuários podem alternar entre modo Folha de Dados e modo Formulário clicando no comando Modo Formulário ou Modo Folha de Dados do menu Exibir ou clicando na seta próxima ao botão Exibir e clicando no Modo Formulário ou Modo Folha de Dados.

As definições da propriedade Modos Permitidos são:

Definição Descrição Ambos (Padrão) Os usuários podem alternar entre

modo Formulário e modo Folha de Dados. Formulário Os usuários não podem alternar de modo

Formulário para modo Folha de Dados. Folha de Dados Os usuários não podem alternar de modo

Folha de Dados para modo Formulário.

O modo Estrutura está sempre disponível (a menos que as permissões determinem o contrário).

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 221 de 221

Os usuários poderão exibir os dados no modo Formulário ou no modo Folha de Dados. No modo Formulário, os dados serão exibidos como foram construídos. E no modo Folha de Dados, serão vistos os campos que foram colocados no formulário, só que como se fosse uma planilha, em linhas e colunas.

Barras de Rolagem

Você pode utilizar a propriedade BarrasDeRolagem para especificar se aparecerão barras de rolagem em um formulário ou em um controle caixa de texto.

A propriedade BarrasDeRolagem utiliza as definições a seguir:

Definição Descrição Nenhuma (Formulários) (Padrão para caixas de texto) Nenhum (caixas de texto)

Nenhuma barra de rolagem aparece no formulário ou caixa de texto.

Somente Horizontal (formulários)

(formulários) A barra de rolagem horizontal aparece no formulário. Não aplicável a caixas de texto.

Somente Vertical (formulários) Vertical (caixas de texto)

A barra de rolagem vertical aparece no formulário ou caixa de texto.

Ambas (formulários) (Padrão para formulários) As barras de rolagem vertical e horizontal aparecem no formulário. Não aplicável a caixas de texto.

Seletores de Registros

Você pode utilizar a propriedade SeletoresDeRegistros para especificar se um formulário exibirá seletores de registros no modo Formulário.

A propriedade SeletoresDeRegistros utiliza as definições a seguir:

Definição Descrição Sim (Padrão) Cada registro tem um seletor de

registro. Não Nenhum registro tem um seletor de registro.

Esta propriedade deve ser utilizada para remover a barra à esquerda da seção detalhe do formulário, chamada de Seletor de Registro, caso não se queira que ela apareça. Esse seletor funciona para marcar o registro que está sendo exibido.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 222 de 222

Botões de Navegação

Você pode utilizar a propriedade BotõesDeNavegação para especificar se botões de navegação e uma caixa de número de registro são exibidos em um formulário. Os botões de navegação aparecem na parte de baixo da janela. São pequenos botões que servem para "navegar" entre os registros. O botão ( ) vai para o próximo registro. O botão ( ) volta para o registro anterior. O botão ( ) vai para o último registro. O botão ( ) vai para o primeiro registro.

A propriedade BotõesDeNavegação utiliza as definições a seguir:

Definição Descrição Sim (Padrão) O formulário tem botões de

navegação e uma caixa de número de registro.

Não O formulário não tem botões de navegação nem caixa de número de registro.

Os botões de navegação fornecem um meio eficiente de se mover para o primeiro registro, o anterior, o próximo, o último ou um registro vazio (novo). A caixa de número de registro exibe o número do registro atual. O número total de registros é exibido próximo aos botões de navegação. Você pode inserir um número na caixa de número de registro para ir para um determinado registro.

Se você remover os botões de navegação de um formulário e desejar criar seus próprios meios de navegação para ele, você pode criar botões de navegação personalizados e adicioná-los ao formulário. Faremos este exercício no Exemplo 02, mais adiante.

Caixa de Controle

Você pode utilizar a propriedade CaixaDeControle para especificar se um formulário tem um menu Controle no modo Formulário e modo Folha de Dados.

A propriedade CaixaDeControle utiliza as definições a seguir:

Definição Descrição Sim (Padrão) O formulário tem um menu Controle

no modo Formulário e modo Folha de Dados. Não O formulário não tem um menu Controle no

modo Formulário e modo Folha de Dados.

Para exibir um menu Controle em um formulário, a propriedade CaixaDeControle deve estar definida como Sim e a propriedade EstiloDaBorda do formulário deve estar definida como Fino, Ajustável ou Diálogo.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 223 de 223

Mesmo quando a propriedade CaixaDeControle de um formulário está definida como Não, o formulário tem sempre um menu Controle quando aberto no modo Estrutura.

Os comandos Maximizar e Minimizar não estarão disponíveis no menu Controle se a propriedade do formulário EstiloDaBorda estiver definida como Diálogo ou se sua propriedade Botões Min Max estiver definida como Nenhum.

Botões Min Máx

Você pode utilizar a propriedade BotõesMinMax para especificar se os botões Maximizar e Minimizar estarão visíveis em um formulário. A propriedade BotõesMinMax utiliza as definições a seguir:

Definição Descrição Nenhum Os botões Maximizar e Minimizar não estão

visíveis. Min Ativado Somente o botão Minimizar está visível. Máx Ativado Somente o botão Maximizar está visível. Ambos Ativados (Padrão) Ambos os botões Minimizar e

Maximizar estão visíveis.

Clicar no botão Maximizar de um formulário amplia o formulário para preencher toda a janela do Microsoft Access. Clicar no botão Minimizar reduz o formulário a uma pequena barra de título na parte inferior da janela do Microsoft Access.

Para exibir os botões Maximizar e Minimizar em um formulário, você deve definir a propriedade EstiloDaBorda como Fina ou Ajustável e a propriedade CaixaDeControle como Sim. Se você definir a propriedade EstiloDaBorda como Nenhum ou Diálogo, ou se definir a propriedade CaixaDeControle como Não, o formulário não terá botões Maximizar ou Minimizar, apesar da definição da propriedade BotõesMinMax.

Mesmo quando a propriedade BotõesMinMax está definida com Nenhum, um formulário sempre tem botões Maximizar e Minimizar no modo Estrutura.

Se a propriedade BotõesMinMax de um formulário estiver definida com Nenhum, os comandos Maximizar e Minimizar não estarão disponíveis no menu Controle do formulário.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 224 de 224

Exemplo 02: Abra o formulário "Cadastro de Clientes", criado no Exemplo 01 no modo Estrutura. Adicione quatro controles do tipo botão de Comando, os quais devem executar as seguintes funções:

Botão Função ao clicar no botão Ação a selecionar no assistente Próximo Vai para o próximo registro Navegação de registro->Ir para o próximo registro

Anterior Volta para o registro anterior Navegação de registro->Ir para o próximo anterior

Novo Abre um registro em branco, para que possamos cadastrar um novo cliente.

Operação de registro->Adicionar novo registro

Sair Fecha o formulário Cadastro de Clientes e volta para o Microsoft Access.

Operação de formulário->Fechar formulário

Após criar os quatro botões solicitados, utilize os conhecimentos apresentados para alinhar e dimensionar corretamente os controles, conforme indicado na figura a seguir:

Botões de comando.

Após criar os botões de comando vá para o modo Formulário e teste-os.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 225 de 225

Para fazer as alterações propostas, faça o seguinte:

• Abra o banco de dados ExFormularios.mdb, que está na pasta C:\CursoAccBasico. • Clique na opção Formulários. • Clique no formulário "Cadastro de Clientes" para seleciona-lo. • Dê um clique no botão Estrutura para abrir o formulário Cadastro de clientes, no modo estrutura. • Se a Caixa de ferramentas não estiver sendo exibida, selecione o comando Exibir -> Caixa de ferramentas.

• Agora vamos adicionar o botão de comando Novo.

• Dê um clique no botão ( ) e libere o mouse, da Caixa de ferramentas. Este botão é utilizado para criar um controle do tipo Botão de comando. • A seta do mouse se transforma em uma pequena cruz, com um quadradinho branco ao lado. • Aponte o mouse para o espaço em branco, ao lado do controle NomeDoContato e dê um clique. • O Microsoft Access abre o "Assistente de botão de comando".

• Na primeira etapa do assistente escolhemos a ação que será realizada, quando o usuário clicar no botão de comando. • Na coluna da esquerda estão listadas as categorias de ações disponíveis: Navegação de registro, Operações de registro, Operações de formulário, Operações de relatório, Aplicativo e Miscelânea. • Ao clicar em uma categoria, no painel da direita, são exibidas as ações disponíveis para a respectiva categoria. • Clique na categoria Navegação de registro.

• Na lista de ações disponíveis dê um clique na ação: Ir para o próximo registro. • Dê um clique no botão Avançar para seguir para a próxima etapa do assistente. • Na segunda etapa do assistente podemos definir um Texto ou uma figura para aparecer no botão de comando. É um ou outro, não pode ser definido um texto e também uma figura. • No campo Texto digite somente Próximo. • Dê um clique no botão Avançar para seguir para a etapa final do Assistente. • Nesta etapa damos um nome ao botão de comando. Todo controle de um formulário deve ter um nome. Digite Próximo e clique no botão Concluir.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 226 de 226

• Pronto, o Assistente cria o botão Próximo no formulário. • Agora vamos adicionar os demais botões solicitados no exercício. • Primeiro vamos adicionar todos os botões, depois nos preocuparemos em alinha-los e dimensiona-los corretamente. • Vamos adicionar o botão Anterior.

• Dê um clique no botão ( ) e libere o mouse, da Caixa de ferramentas. • Aponte o mouse para o espaço em branco, abaixo do botão Próximo e dê um clique. • O Microsoft Access abre o "Assistente de botão de comando". • Clique na categoria Navegação de registro.

• Na lista de ações disponíveis dê um clique na ação: Ir para o registro anterior. • Dê um clique no botão Avançar para seguir para a próxima etapa do assistente. • No campo Texto digite somente Anterior. • Dê um clique no botão Avançar para seguir para a etapa final do Assistente. • Digite Anterior e clique no botão Concluir. • Pronto, o Assistente cria o botão Anterior no formulário. • Vamos adicionar o botão Novo.

• Dê um clique no botão ( ) da Caixa de ferramentas e libere o mouse. • Aponte o mouse para o espaço em branco, abaixo do botão Anterior e dê um clique. • O Microsoft Access abre o "Assistente de botão de comando". • Clique na categoria Operações de registro.

• Na lista de ações disponíveis dê um clique na ação: Adicionar novo registro. • Dê um clique no botão Avançar para seguir para a próxima etapa do assistente. • No campo Texto digite somente NOVO. • Dê um clique no botão Avançar para seguir para a etapa final do Assistente. • Digite NOVO e clique no botão Concluir. • Pronto, o Assistente cria o botão NOVO no formulário. • Vamos adicionar o botão Fechar.

• Dê um clique no botão ( ) da Caixa de ferramentas e libere o mouse.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 227 de 227

• Aponte o mouse para o espaço em branco, abaixo do botão NOVO e dê um clique. • O Microsoft Access abre o "Assistente de botão de comando". • Clique na categoria Operações de formulário.

• Na lista de ações disponíveis dê um clique na ação: Fechar formulário. • Dê um clique no botão Avançar para seguir para a próxima etapa do assistente. • No campo Texto digite somente Fechar. • Dê um clique no botão Avançar para seguir para a etapa final do Assistente. • Digite Fechar e clique no botão Concluir. • Pronto, o Assistente cria o botão Fechar no formulário. • Na figura a seguir temos os quatro botões já adicionados, porém desalinhados e com tamanhos diferentes.

Botões de comando adicionados no formulário.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 228 de 228

• Para alinhar e dimensionar os botões corretamente, faça o seguinte:

Em primeiro lugar selecione os quatro botões. Para alinhar os botões utilize as opções do menu Formatar -> Alinhar. Para igualar o tamanho dos botões utilize as opções do menu Formatar -> Dimensionar. Para acertar o espaçamento entre os controles, utilize as opções dos menus Formatar -> Espaçamento vertical e Formatar -> Espaçamento horizontal.

• O seu formulário deve estar conforme indicado na figura a seguir:

Controles devidamente alinhados.

• Vá para o modo Formulário e teste os botões de comando. • Clique no botão Próximo e observe o resultado. • Clique no botão Anterior e observe o resultado. • Clique no botão NOVO e observe o resultado. • Clique no botão Fechar e observe o resultado. • Salve o formulário. • Feche o formulário.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 229 de 229

Exercício:

Com base nos conceitos apresentados neste tópico, crie um formulário para Cadastro de Produtos (baseado na tabela Produtos) e outro para Cadastro de Funcionários (baseado na tabela Funcionários).

Salve o formulário para cadastro de Funcionários com o nome de: Cadastro de funcionários. Adicione o seguinte título no Rodapé do formulário: "CADASTRO DE CLIENTES - EMPRESA ABC LTDA". Adicione os botões de comando Próximo, Anterior, NOVO e Fechar. Alinhe o texto de todos os rótulos à direita.Salve e teste o formulário.

Salve o formulário para cadastro de Produtos com o nome de: Cadastro de Produtos. Adicione o seguinte título no Rodapé do formulário: "CADASTRO DE PRODUTOS - EMPRESA ABC LTDA". Adicione os botões de comando Próximo, Anterior, NOVO e Fechar. Alinhe o texto de todos os rótulos à direita. Salve e teste o formulário.

Conclusão:

Com isso encerramos o nosso estudo dos aspectos básicos dos formulários no Microsoft Access. O próximo passo é o estudo dos Relatórios, o que será feito no próximo item.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 230 de 230

11) Criação de Relatórios Básicos com o Microsoft Access

Introdução - O que são e para o que são utilizados?

Um relatório é a maneira de apresentar seus dados em um formato impresso. Como você tem controle sobre o tamanho e a aparência de todos os elementos de um relatório, é possível exibir as informações da maneira como deseja vê-las.

A maioria das informações de um relatório vêm de uma tabela ou de uma consulta, que é a fonte dos dados do relatório. As outras informações do relatório são armazenadas na estrutura do relatório.

Por exemplo:

• título do relatório e os cabeçalhos estão armazenados na estrutura do relatório.

• A data vem de uma expressão que está armazenada na estrutura do relatório.

• Os dados vêm de campos em uma tabela, consulta ou instrução SQL base.

• Os totais vêm de expressões que estão armazenadas na estrutura do relatório.

Você cria um vínculo entre um relatório e a sua fonte de dados através do uso de objetos gráficos chamados controles. Os controles podem ser caixas de texto que exibem nomes e números, rótulos que exibem títulos, e linhas decorativas que organizam dados graficamente e tornam o relatório mais atraente.

Todos os conceitos que foram vistos sobre controles, quando estudamos formulários, são válidos para relatório. Por exemplo, a maneira de mover, dimensionar, criar, alinhar e formatar controles é exatamente a mesma. Conforme veremos mais adiante, inclusive o Assistente de relatório é muito semelhante ao Assistente de formulário.

A exemplo dos outros elementos do Microsoft Access, um relatório possui um modo Estrutura, onde são definidos os controles e todos os demais elementos do relatório e outros modos, onde são visualizados os resultados obtidos. Para visualizar, na tela, o resultado de um relatório, nos utilizamos o modo Visualizar impressão e, para imprimir um relatório, nos temos o modo Imprimir.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 231 de 231

Modo Estrutura

O modo Estrutura de um relatório é comparável com a uma prancheta de trabalho onde um projeto é organizado e as ferramentas de que você precisa estão disponíveis. Algumas das ferramentas disponíveis neste modo são as barras de ferramentas, as réguas, a caixa de ferramentas e a barra de status.

O desenho de um relatório é quase igual ao de um formulário, sendo que o relatório possui alguns controles diferentes de formulários.

O funcionamento dos relatórios está baseado em duas fontes de informações: tabela ou consulta de origem, como fonte de dados, e a própria estrutura do relatório. O vínculo entre um relatório e sua origem de dados é criado por objetos gráficos chamados controles. Os tipos de controles são:

• Caixas de texto: exibem nomes e números. • Molduras: exibem imagens e gráficos. • Rótulos: exibem títulos e linhas e retângulos gráficos.

O modo Estrutura de um relatório.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 232 de 232

Seções de um relatório

As informações de um relatório podem estar divididas em seções. Cada seção tem uma finalidade específica, sendo impressa em uma ordem previsível na página e no relatório.

No modo Estrutura, as seções são representadas como faixas e cada seção contida no relatório é representada uma vez. No relatório impresso, algumas seções podem ser repetidas várias vezes. Você determina onde as informações aparecem em cada seção posicionando controles, como rótulos e caixas de texto.

• Cabeçalho do relatório: O cabeçalho do relatório aparece uma vez no início de um relatório (no início da primeira página do relatório). Você pode usá-lo para itens como um logotipo, título de relatório ou data de impressão. O cabeçalho do relatório é impresso antes do cabeçalho da página na primeira página do relatório.

• Cabeçalho da página: O cabeçalho da página aparece no topo de cada página do relatório. Você pode utilizá-lo para exibir itens, como títulos de coluna.

• Cabeçalho de grupo: Um cabeçalho de grupo aparece no início de um novo grupo de registros. Você pode utilizá-lo para exibir informações que se aplicam ao grupo como um todo, tal como o nome de um grupo. Por exemplo, podemos criar um relatório para exibir o total de vendas por país. Neste relatório cada país constitui um diferente grupo de vendas.

• Seção detalhe: A seção detalhe contém o corpo principal dos dados de um relatório. Essa seção é repetida para cada registro da origem do registro base do relatório.

• Rodapé do grupo: Aparece no final de um grupo de registros. Utilizado para itens como totais de grupos.

• Rodapé da página: O rodapé da página aparece na parte inferior de cada página do relatório. Você pode utilizá-lo para exibir itens como números de página.

• Rodapé do relatório: O rodapé do relatório aparece uma vez ao final do relatório. Você pode utilizá-lo para exibir itens como totais do relatório. O rodapé do relatório é a última seção na estrutura do relatório, mas aparece antes do rodapé da página na última página do relatório impresso.

O tamanho das seções pode ser ajustado e suas propriedades definidas. Adicionalmente, também é possível acrescentar ou remover cabeçalhos e rodapés sempre que se desejar. Os cabeçalhos e rodapés, com exceção dos cabeçalhos e rodapés de grupo, são adicionados/removidos aos pares. Para adicioná-los, escolha a opção Cabeçalho/Rodapé do Relatório/Rodapé da Página a partir do menu Formatar.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 233 de 233

Controles

Os controles são objetos gráficos, como uma caixa de texto, uma moldura de objeto não acoplado, um retângulo ou um botão de comando, que você posiciona no relatório para exibir dados, executar uma ação ou tornar mais fácil a leitura do relatório.

Os controles podem ser acoplados, não-acoplados ou calculados. Um controle acoplado está ligado a um campo de uma tabela ou consulta base e pode ser utilizado para exibir valores de campos de seu banco de dados. Um controle calculado utiliza uma expressão como sua fonte de dados. Uma expressão pode utilizar dados provenientes de um campo incluído em uma tabela ou consulta base de um formulário ou relatório ou provenientes de um outro controle no formulário ou relatório. Um controle não-acoplado não possui fonte de dados. Você pode utilizar controles não-acoplados para exibir informações, linhas, retângulos e figuras.

Caixa de Ferramentas

A caixa de ferramentas deve ser utilizada para criar controles no relatório. Para adicionar um controle, clique na ferramenta para selecioná-la. Quando você move o ponteiro sobre o relatório, o ponteiro altera para a ferramenta da caixa. Clique no relatório onde deseja localizar o controle.

Nota: Se a Caixa de Ferramentas não estiver sendo exibida, selecione o comando Exibir -> Caixa de ferramentas.

Propriedades do relatório

São utilizadas para definir a aparência geral de um relatório impresso. Você pode, por exemplo, utilizá-las para especificar que um cabeçalho ou rodapé da página seja impresso em todas as páginas ou exceto naquelas em que o cabeçalho e o rodapé do relatório são impressos.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 234 de 234

Propriedades de relatórios também podem ser utilizadas para especificar elementos presentes no modo estrutura do relatório, tais como as que determinam a largura da grade que você pode exibir ao criar um relatório.

As três formas de exibir a folha de propriedades de um relatório são:

• Clicar duas vezes na área cinza fora de qualquer seção do relatório ou na caixa onde as réguas se encontram

• no menu Editar, escolher Selecionar Relatório e, então, escolher Propriedades no menu Exibir ou clicar no botão Propriedades na barra de ferramentas.

• Pressionar o botão da direita e escolher a opção propriedades.

Criar Relatórios

Você pode criar sozinho um relatório ou pode fazer o Microsoft Access criar um relatório para você utilizando um Assistente de Relatório. Um Assistente de Relatório agiliza o processo de criar um relatório porque faz todo o trabalho básico para você. Quando você utiliza um Assistente de Relatório, ele lhe solicita informações e cria um relatório com base em suas respostas. É conveniente utilizar o Assistente de Relatório para organizar rapidamente seu relatório. Então você pode alternar para modo Estrutura, para personalizá-lo.

Vamos criar alguns relatórios, para praticar um pouco.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 235 de 235

Exemplo 01: Criar uma relatório para emitir uma listagem de Produtos, classificada em ordem alfabética, pelo nome do produto. O relatório deve exibir os seguintes campos da tabela Produtos: CódigoDoProduto, NomeDoProduto, UnidadesEmEstoque, NívelDeReposição e Descontinuado.

O relatório deve ser criado no banco de dados ExRelatorios.mdb, que está na pasta C:\CursoAccBasico e salvo com o nome de "Listagem de Produtos".

Para criar o relatório Listagem de Pedidos faça o seguinte:

• Abra o banco de dados ExRelatorios.mdb, que está na pasta C:\CursoAccBasico. • Dê um clique na opção Relatórios. • Dê um clique duplo na opção "Criar relatório usando o assistente". • Será aberta a primeira tela do Assistente do relatório.

• Nesta etapa nos selecionamos em qual Tabela/Consulta, o relatório será baseado e quais os campos da Tabela/Consulta selecionada, serão exibidos no relatório. • Na lista Tabelas/Consultas selecione a tabela Produtos. • Na lista "Campos disponíveis adicione os seguintes campos: CódigoDoProduto, NomeDoProduto, UnidadesEmEstoque, NívelDeReposição e Descontinuado. • Dê um clique no botão Avançar, para seguir para a próxima etapa do assistente. • Nesta etapa definimos se haverá algum tipo de agrupamento no relatório. Falaremos mais sobre Agrupamentos no Exemplo 02. • Não definiremos nenhum tipo de agrupamento para este relatório. • Dê um clique no botão Avançar, para ir para a próxima etapa do assistente. • Na terceira etapa do assistente definimos por qual/quais campos, o relatório será classificado. Podemos classificar por até quatro níveis. • No nosso exemplo, classificaremos apenas pelo NomeDoProduto. • Na lista 1., selecione o campo NomeDoProduto. Observe que, ao lado da lista aparece um botão A/Z. Este botão é utilizado para definir a ordem de classificação. A/Z significa classificação ascendente e Z/A significa classificação descendente. • Dê um clique no botão Avançar, para ir para a próxima etapa do assistente.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 236 de 236

• Nesta etapa definimos os aspectos visuais do relatório. • A opção Layout define a maneira como os controles serão dispostos no relatório. Selecione Tabela para esta opção. • Na opção Orientação definimos se o relatório será impresso no sentido normal da página ou com a página no sentido horizontal. • Dê um clique no botão Avançar, para seguir para a próxima etapa do assistente. • Na próxima etapa definimos o Estilo para o Relatório. Um estilo define um conjunto de cores e formatações. • Selecione o estilo Negrito. • Dê um clique no botão Avançar, para seguir para a próxima etapa do assistente. • Na etapa final vamos digitar um título para o Relatório. • Digite: LISTAGEM DE PRODUTOS - EMPRESA ABC LTDA

• Certifique-se de que a opção Visualizar Relatório esteja selecionada. • Dê um clique no botão Concluir. • O Microsoft Access cria e exibe o relatório, conforme indicado na figura a seguir:

Listagem de Produtos.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 237 de 237

• Vá para o modo Estrutura do formulário. Para isso selecione o comando Exibir -> Modo estrutura. • Salve o relatório com o nome de "Listagem de Produtos".

• Feche o relatório.

Exemplo 02: Agora vamos criar um relatório que utiliza o conceito de Grupos/totais. Neste tipo de relatório as informações são agrupadas de acordo com um ou mais campos. Por exemplo, posso ter um relatório de vendas agrupadas por país. Neste relatório aparece o nome do País e, logo em seguida, a listagem de todos os pedidos para aquele país. No final da listagem aparece a soma dos pedidos para o país. Na seqüência o próximo país, os pedidos para este país e assim por diante. Podemos agrupar por mais do que um campo. Por exemplo, podemos agrupar pelo país e, dentro do país, por cidade. Com isso apareceria o total para cada Cidade, o total para a cidade e no final o total para o país.

Neste exemplo vamos construir o relatório com grupos para o país de destino e, dentro do país para a cidade. Para construir este relatório precisamos, antes, construir uma consulta onde faremos o cálculo do total por pedido. Em seguida criaremos o relatório baseado nesta consulta. Vamos salvar esta consulta com o nome de "Total por pedido - relatório".

Vamos salvar o relatório com o nome de "Totais por País-Cidade".

Para criar o relatório "Totais por País-Cidade", faça o seguinte:

• Se o banco de dados ExRelatorio.mdb não estiver aberto, abra-o. • Vamos criar, em primeiro lugar, a consulta "Total por pedido - relatório". Esta consulta irá calcular o total por pedido. Depois criaremos o relatório baseado nesta consulta. • Utilizando os conceitos apresentados no item sobre consultas, crie uma consulta para obter os resultados indicados na próxima figura. • Salve a consulta com o nome de "Total por pedido - relatório".

• Feche a consulta.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 238 de 238

Consulta Total por pedido - relatório.

• Agora vamos criar o relatório Totais por País-Cidade, que será baseado na consulta criada anteriormente. • Dê um clique na opção Relatórios. • Dê um clique duplo na opção "Criar relatório usando o assistente". • Será aberta a primeira tela do Assistente do relatório.

• Nesta etapa nos selecionamos em qual Tabela/Consulta, o relatório será baseado e quais os campos da Tabela/Consulta selecionada, serão exibidos no relatório. • Na lista Tabelas/Consultas selecione a consulta Total por pedido - relatório.

• Na lista "Campos disponíveis dê um clique no botão

( ), para adicionar todos os campos. • Dê um clique no botão Avançar, para seguir para a próxima etapa do assistente. • Na segunda etapa definimos como os dados serão exibidos. Para o nosso exemplo selecione a opção "por Detalhes do pedido".

• Dê um clique no botão Avançar, para seguir para a próxima etapa do assistente. • Nesta etapa definimos se haverá algum tipo de agrupamento no relatório. • O primeiro nível da agrupamento será por país e, dentro do país, por Cidade. • Na lista de campos marque o campo PaísDeDestino e dê um clique no botão (>), para definir um agrupamento neste campo.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 239 de 239

• Agora vamos definir o segundo nível de agrupamento. • Na lista de campos marque o campo CidadeDeDestino e dê um clique no botão (>), para definir um agrupamento neste campo. • Dê um clique no botão Avançar, para ir para a próxima etapa do assistente. • Na quarta etapa do assistente definimos por qual/quais campos, o relatório será classificado. Podemos classificar por até quatro níveis. • No nosso exemplo, classificaremos primeiro pelo Paísdedestino e, dentro do país, por CidadeDeDestino. A listagem já é classificada, automaticamente, pelos campos nos quais definimos agrupamentos. No nosso exemplo a listagem já é, automaticamente, classificada por PaísDeDestino e, dentro do país, por CidadeDeDestino. • Dentro da CidadeDeDestino, vamos classificar por DataDoPedido. • Na lista 1., selecione o campo DataDoPedido e classificação A/Z. • Nesta etapa também podemos selecionar quais os cálculos desejamos ao final de cada grupo. Por exemplo, se queremos a soma dos pedidos, a média dos pedidos, o percentual em relação ao total e assim por diante. • Para definir estas opções, dê um clique no botão "Opções de resumo...".

• Surge a janela "Opções de resumo". • Nesta janela marque as opções "Soma" e "Média". • Dê um clique no botão OK para fechar a janela "Opções de Resumo". • Você estará de volta ao Assistente de relatório. • Dê um clique no botão Avançar, para ir para a próxima etapa do assistente. • Nesta etapa definimos os aspectos visuais do relatório. • A opção Layout define a maneira como os controles serão dispostos no relatório. • Para Layout selecione a opção Nível. • Na opção Orientação definimos se o relatório será impresso no sentido normal da página ou com a página no sentido horizontal. • Dê um clique no botão Avançar, para seguir para a próxima etapa do assistente. • Na próxima etapa definimos o Estilo para o Relatório. Um estilo define um conjunto de cores e formatações. • Selecione o estilo Cinza claro.

• Dê um clique no botão Avançar, para seguir para a próxima etapa do assistente.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 240 de 240

• Na etapa final vamos digitar um título para o Relatório. • Digite: Totais por País-Cidade

• Certifique-se de que a opção Visualizar Relatório esteja selecionada. • Dê um clique no botão Concluir. • O Microsoft Access cria e exibe o relatório. • Observe que os dados estão agrupados primeiro por PaísDeDestino e dentro do país por CidadeDeDestino. • O relatório está classificado por PaísDeDestino, dentro do PaísDedestino por CidadeDeDestino e, dentro da Cidade pela DataDoPedido. • Observe ao final de cada cidade o valor da Soma e da Média dos pedidos para a cidade. • Observe ao final de cada país o valor da Soma e da Média dos pedidos para o país. • Vá para o modo Estrutura do formulário. Para isso selecione o comando Exibir -> Modo estrutura. • Salve o relatório.

• Feche o relatório.

Agora vamos fazer alguns exercícios para fixar os conceitos apresentados sobre relatórios.

Exercícios:

Exercício 01: Criar um relatório que inclua os seguintes campos:

Campo Tabela

NúmeroDoPedido Pedidos Data Do Envio Pedidos DataDoPedido Pedidos PaísDeDestino Pedidos CidadeDeDestino Pedidos NomeDaEmpresa Clientes NomeDoFuncionário Funcionários

O relatório será uma simples listagem, classificada em ordem Crescente da DataDoPedido e, dentro da data pelo NomeDaEmpresa.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 241 de 241

Exercício 02: Criar um relatório que inclua os seguintes campos:

Campo Tabela

NúmeroDoPedido Pedidos Data Do Envio Pedidos DataDoPedido Pedidos PaísDeDestino Pedidos CidadeDeDestino Pedidos

Exibir apenas os registros para o Brasil, EUA, França e México, em que a diferença entra a DataDeEnvio e a DataDoPedido seja menor do que 15 dias, com exceção dos pedidos para o RJ e São Paulo, os quais devem ser exibidos, indiferentemente da diferença entre estas duas datas.

Exibir a listagem agrupada por País, em ordem crescente, isto é, primeiro todos os pedidos para o Brasil, depois para os EUA e assim por diante. Exibir o Nome do País uma única vez. Dentro dos pedidos do mesmo país, classificar por CidadeDeDestino.

Conclusão:

Neste tópico vimos uma série de detalhes sobre a criação de relatórios com o Microsoft Access. Os relatórios possibilitam a impressão de listagens, a partir dos dados armazenados no banco de dados.

No próximo item, que será o tópico final deste curso, veremos uma breve introdução às Macros. No curso de Access Avançado, as Macros são explicadas em todos os seus detalhes e usos.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 242 de 242

12) Uma introdução a Macros com o Microsoft Access.

Neste tópico iremos aprender a utilizar as Macros. Veremos o que são e quais as possibilidades de utilização das macros, aprenderemos o conceito de evento e os principais eventos disponíveis e também as diversas macros oferecidas pelo Microsoft Access.

Com Macros podemos automatizar uma série de tarefas repetitivas, economizando tempo. Uma macro pode conter uma ou mais ações, tais como: Executar uma consulta, Abrir um Formulário, Aplicar um Filtro, etc.

A correta utilização das Macros nos propicia uma série de facilidades e benefícios as quais somente poderiam ser obtidas com a utilização de programação (Visual Basic for Applications - VBA). Porém, conforme veremos, a utilização de Macros é muito mais simples e intuitiva.

Veremos os seguintes itens:

• Eventos • O que são as Macros e onde utilizá-las • Criando Macros e as Ações de Macro • Associando Macros a Eventos

Eventos:

Abaixo temos um conceito de Evento conforme definido na ajuda do Microsoft Access:

O que é um evento?

Um evento é uma ação específica que ocorre sobre ou com um determinado objeto. O Microsoft Access pode responder a vários eventos: cliques de mouse, alterações em dados, abertura ou fechamento de formulários e muitos outros. Os eventos geralmente são o resultado da ação do usuário . Utilizando um procedimento de evento ou uma macro, você pode adicionar sua própria resposta personalizada a um evento que ocorra em um formulário, relatório ou controle.

Conforme podemos concluir pela definição acima, um evento normalmente é resultante da ação do Usuário, Por exemplo, um clique de Mouse sobre um Botão de comando em um formulário, gera o evento "Ao Clicar", associado com o Botão. Um clique duplo no nome de um formulário para abrir o formulário, gera o evento "Ao Abrir" associado com o formulário. Ao entrar em um campo de dados e alterar o valor do campo, ao sair do campo o usuário terá gerado o evento "Após atualizar" associado com o campo, e assim por diante.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 243 de 243

Além disso podemos associar Macros e Procedimentos a eventos.

Com isso ao ocorrer um determinado evento, podemos fazer com que seja executada uma Macro (ou um Procedimento) em resposta a este evento. Por exemplo, ao selecionar um Fornecedor em um lista de Fornecedores, você pode fazer com que o Microsoft Access exiba somente os produtos do respectivo Fornecedor, em uma lista de produtos. Isto pode ser obtido, associando-se uma Macro ao evento Após Atualizar da lista de fornecedores. Essa Macro atualiza a lista Produtos, de tal maneira que somente sejam exibidos os Produtos do Fornecedor selecionado.

A Utilização de eventos em associação com Macros e Procedimentos, nos oferece inúmeras possibilidades. Muitos dos problemas diários na utilização do Microsoft Access com formulários e relatórios podem ser resolvidos através da associação entre eventos e Macros ou Procedimentos.

Na figura abaixo podemos ver os diversos procedimentos associados com um formulário:

Alguns eventos associados com um Formulário.

Para acessar os eventos de qualquer elemento, basta fazer o seguinte:

• Em um Formulário ou Relatório, no Modo Estrutura, dê um clique com o botão direito do mouse sobre o elemento cujos eventos você quer acessar

• No menu que surge dê um clique em Propriedades • Na janela que surge, dê um clique na Guia Evento

Logo em seguida aprenderemos a Criar Macros e associá-las a eventos de Formulários e Relatórios.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 244 de 244

O que são Macros e como utilizá-las:

As macros são objetos de banco de dados, assim como formulários, tabelas, consultas, etc. As macros fornecem o meio mais fácil de automatizar o seu banco de dados. Quaisquer procedimentos que você tenha que fazer repetidamente, são bons candidatos a serem transformados em macros.

As macros no Microsoft Access são completamente diferentes das macros em outras aplicações. Uma macro no Microsoft Access não é apenas uma série gravada de toques no teclado ou cliques de mouse, para automatizar tarefas repetitivas; ela realiza muitas funções que, de outra forma, exigiriam codificação. As macros economizam tempo por automatizar tarefas comuns, mas elas (quando escritas adequadamente) também ajudam a evitar erros assegurando que cada passo da macro é executado na ordem e exatamente como é necessário que seja feito.

Você pode definir uma macro para executar, praticamente, qualquer tarefa que pode ser iniciada com o teclado ou com o Mouse. Um dos grandes benefícios das Macros é a sua capacidade de automatizar as respostas para muitos tipos de eventos, seja o evento uma modificação nos dados, a abertura ou fechamento de um formulário ou relatório, ou qualquer um dos tantos eventos disponíveis no Microsoft Access.

Uma Macro pode conter uma única ação (como executar uma consulta por exemplo) , ou pode conter diversas ações. As ações podem ser executadas incondicionalmente, ou podemos colocar condições para que as ações sejam executadas. Por exemplo, posso fazer com que uma macro Emitir Pedido, associada ao evento Ao Fechar do formulário pedidos, somente seja executada após as 17:00.

Em que situações Práticas do dia-a-dia devo utilizar macros :

• Podemos utilizar Macros para abrir uma tabela, consulta, formulário ou relatório em qualquer modo disponível (estrutura, folha de dados, visualização de impressão, etc). Também podemos utilizar uma macro para fechar qualquer tabela, consulta, formulário ou relatório que estiver aberto.

• Podemos usar as macros para abrir um relatório em Visualizar Impressão ou para enviar um relatório diretamente para a impressora. Também podemos utilizar as macros para enviar um relatório para um arquivo do Word, uma Planilha do Excel, um arquivo de texto, ou outros formatos.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 245 de 245

• Podemos utilizar macros para abrir uma consulta de seleção no Modo Folha de Dados. Podemos basear os parâmetros da consulta em controles de qualquer formulário que esteja aberto. Por exemplo, podemos escolher Brasil em uma lista de países e dar um clique em um Botão Pesquisar. Uma macro associada ao evento Ao Clicar do botão pode conter uma ação para Abrir uma consulta a qual utiliza PaísDeDestino igual a Brasil como critério.

• É possível utilizar uma Macro para executar outras Macros ou módulos do Microsoft VBA. Também podemos utilizar macros para definir o valor de qualquer controle de um formulário ou relatório. Podemos simular as ações do teclado e fornecer entrada para caixas de diálogo do sistema, através da ação "EnviarSeqüênciaDeCaracteres", que veremos mais adiante.

• Podemos utilizar as macros para aplicar um filtro, ir para qualquer registro ou procurar dados na tabela ou consulta-base de um formulário.

• Podemos utilizar as macros com qualquer formulário para definir uma barra de menus personalizada e substituir a barra de menus padrão oferecida pelo Microsoft Access.

• Macros podem ser utilizadas para executar qualquer um dos comandos em qualquer um dos menus do Access.

• As macros podem ser utilizadas para dimensionar, minimizar, maximizar ou restaurar qualquer janela dentro da área de trabalho do Microsoft Access. Podemos mudar o foco para uma janela ou qualquer controle dentro de uma janela.

• Podemos exibir mensagens informativas e som a fim de chamar a atenção para as mensagens. Também podemos desativar os avisos do sistema quando tivermos macros que executam diversas consultas de ação (Atualização, Anexação, Criação de Tabela ou Exclusão), para que não tenhamos que responder Sim para uma série de perguntas.

• Podemos utilizar as macros para renomear qualquer objeto do nosso Banco de Dados. Podemos fazer uma cópia de qualquer objeto (Tabela, Consulta, etc) selecionado ou copiar um objeto para outro Banco de Dados do Microsoft Access. Podemos excluir objetos do Banco de Dados. Também é possível importar, exportar ou anexar tabelas de outros bancos de dados, ou importar ou exportar planilhas ou arquivos de texto.

• Podemos iniciar outros aplicativos através de uma macro, tanto no DOS quanto aplicativos do próprio Windows, e trocar dados com o aplicativo usando Dynamic Data Exchange (DDE) ou a Área de Transferência.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 246 de 246

• Podemos enviar dados de uma tabela, consulta, formulário ou relatório para um arquivo de saída, e depois abrir esses arquivos no aplicativo adequado. Também é possível enviar seqüências de teclas para o aplicativo de destino.

Podemos fazer muito através das macros. Agora aprenderemos como construir macros, e quais as principais ações de macro disponíveis no Microsoft Access. Será fornecido uma lista com todas as ações disponíveis, os parâmetros de cada ação e a forma de utilização. Você pode utilizar essa informação como referência quando estiver trabalhando com as macros.

Criando a Primeira Macro e a Janela de Macros:

Agora aprenderemos a criar macros, bem como os detalhes sobre a janela de criação de Macros. Na seqüência será apresentada uma descrição completa de todas as ações de Macro disponíveis no Microsoft Access.

Para criar uma macro faça o seguinte:

• Abra o banco de dados ExMacros.mdb, que está na pasta C:\CursoAccBasico.

• Dê um clique na Guia Macros. • Para criar uma nova macro dê um clique no botão "Novo",

você verá a janela indicada na figura abaixo:

Janela para definição de Macros no Microsoft Access.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 247 de 247

Uma macro é constituída de uma ou mais ações. Cada ação é

definida em uma linha separada. As diversas ações disponíveis podem ser selecionadas a partir da coluna ação, na qual existe uma listagem com todas as ações de macro do Microsoft Access.

Após escolher uma ação, caso esta necessite de parâmetros adicionais para a sua definição, estes surgem na parte de baixo, conforme indicado na figura a seguir. A medida que você seleciona um dos parâmetros, no espaço ao lado, aparece uma explicação sobre o parâmetro. Na próxima figura, temos um exemplo da ação "Abrir Consulta" selecionada e dos seus parâmetros indicados na parte de baixo.

Ação "Abrir Consulta", a qual apresenta três parâmetros.

Para selecionar uma ação, basta abrir a lista de ações e selecionar a ação desejada. Esta lista esta classificada em ordem alfabética.

Dica -> Ao invés de percorrer toda a lista em busca de uma ação, você pode rapidamente se deslocar para perto da ação desejada. Para isso digite a primeira letra do nome da ação. Por exemplo, ao invés de percorrer a lista em busca da opção "Salvar", basta digitar a letra S que o Microsoft Access ira posicionar na primeira ação que começa com a letra S.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 248 de 248

Na linha comentário você pode digitar uma descrição para a

Ação que está sendo adicionada. Embora não seja obrigatória a colocação de um comentário, é aconselhável que você coloque comentários, pois isto facilita a documentação das Macros. Além disso daqui a algum tempo, se você tiver que alterar as macros, fica muito mais fácil se estas possuírem comentários descritivos das ações.

Na seqüência temos a descrição dos botões da Barra de Ferramentas da janela de macros:

Barra de Ferramentas da janela de criação de Macros.

Alguns botões são os mesmos encontrados em diversas janelas (Salvar, Imprimir, Visualizar Impressão, Recortar, Copiar, Colar, Pincel e Desfazer), os 8 primeiros botões, da esquerda para a direita. A partir do nono botão temos a seguinte funcionalidade:

Ao ser clicado, exibe um coluna com o nome da Macro.

Exibe uma coluna de Condições, para que possamos executar as ações de acordo com uma ou mais condições.

Insere uma linha em branco, acima da linha atual.

Exclui a linha atual.

Executa a macro e todas as suas ações

Executa uma única ação por vez, caso a macro possua várias ações.

Aciona o Construtor de Expressões

Exibe a Janela Banco de Dados.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 249 de 249

Permite a criação de novos objetos: Tabelas, Consultas,

Formulários, etc

Assistente com ajuda

Cada ação é definida em uma linha. Uma macro pode conter uma ou mais ações. Podemos também ter condições em uma macro. Por exemplo, somente executar se o NúmeroDoPedido estiver entre 10500 e 11000. Tudo o que aprendemos sobre critérios em consultas, também é válido para condições de execução em macros.

Antes de apresentarmos uma descrição detalhada de todas as ações de macros disponíveis, vamos a um rápido exemplo, apenas para ver como funcionam as macros e criarmos a nossa primeira macro.

Crie uma macro que exiba uma mensagem "PRIMEIRO TESTE DE MACRO" e depois abra a consulta "Pedidos Trimestrais".

Para criar essa macro faça o seguinte:

• Abra o banco de dados ExMacros.mdb. • Se não estiver na janela de criação de macros vá para esta

janela clicando na guia Macros. • Dê um clique no botão "Novo"

• Na primeira linha escolha a Ação CaixaDeMensagem. Conforme veremos adiante, esta ação é utilizada para abrir uma janela e exibir uma mensagem.

• Na coluna comentário da primeira linha coloque: "Exibe uma mensagem de aviso"

• Observe os parâmetros para a ação Caixa de Mensagem, os quais aparecem na parte de baixo da janela. No parâmetro "Mensagem:", digite o seguinte: "PRIMEIRO TESTE DE MACRO". Deixe os outros parâmetros inalterados, veremos a descrição de cada um mais adiante.

• Na segunda linha, selecione a ação "AbrirConsulta"

• Na coluna comentário da segunda linha coloque: "Abre a consulta Pedidos Trimestrais"

• Observe os parâmetros para a ação "Abrir Consulta", os quais aparecem na parte de baixo da janela. No parâmetro "Nome da consulta", abra a lista e escolha "Pedidos Trimestrais".

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 250 de 250

• Dê um clique no botão com o disquete para salvar a macro. O Microsoft Access solicita o nome da macro, digite "Macro 01". Sua macro deve estar conforme indicado na janela abaixo:

Macro com duas ações já definidas: CaixaDeMensagem e AbrirConsulta.

• Para executar a macro, dê um clique no botão com o ponto

de exclamação vermelho (!) . Ao ser executada, a primeira ação "CaixaDeMensagem" exibe uma mensagem, conforme indicado na figura abaixo:

Janela com a mensagem gerada pela ação "CaixaDeMensagem."

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 251 de 251

• Dê um clique no botão OK para fechar a mensagem. Será aberta a consulta "Pedidos Trimestrais.

• Para fechar a consulta basta clicar no "x" mais interno, pois se você clicar no x mais de fora, você fechará o Microsoft Access.

Agora vamos a uma descrição completa de todas as Ações de Macro disponíveis, bem como os parâmetros de cada uma das ações.

A Tabela apresentada a seguir pode ser utilizada como fonte de referência, quando você estiver criando macros no Microsoft Access.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 252 de 252

AÇÕES DE MACRO E OS PARÂMETROS DE CADA UMA :

Ação Descrição Parâmetros AbrirConsulta É possível utilizar a ação AbrirConsulta

para abrir uma consulta seleção ou de tabela de referência cruzada no modo Folha de Dados, modo Estrutura ou Visualizar Impressão. Essa ação executa uma consulta ação. Você pode também selecionar um modo de entrada de dados para a consulta.

Dica -> Você pode selecionar uma consulta na janela Banco de Dados e arrastá-la para a linha de ação de uma macro. Isso cria automaticamente uma ação AbrirConsulta que abre a consulta no modo Folha de Dados.

Nome da Consulta ->O nome da consulta a ser aberta. A caixa Nome da Consulta na seção Argumentos da Ação da janela Macro exibe todas as consultas no banco de dados atual. Esse é um argumento requerido. Se você executar uma macro contendo a ação AbrirConsulta em um banco de dados biblioteca, o Microsoft Access procurará a consulta com esse nome primeiro no banco de dados biblioteca e depois no banco de dados atual. Exibir ->O modo no qual a consulta será aberta. Clique em Folha de Dados, Estrutura ou Visualizar Impressão na caixa Exibir. O padrão é Folha de Dados. Modo de Dados ->O modo de entrada de dados para a consulta. Aplica-se somente a consultas abertas no modo Folha de Dados. Clique em Adicionar (o usuário pode adicionar novos registros, mas não pode editar os registros existentes), Editar (o usuário pode editar os registros existentes e adicionar novos registros) ou Somente Leitura (o usuário somente pode ver os registros). O padrão é Editar.

AbrirFormulário É possível utilizar a ação AbrirFormulário para abrir um formulário no modo Formulário, modo Estrutura do formulário, Visualizar Impressão ou modo Folha de Dados. Você pode selecionar entradas de dados e modos de janela para o formulário e restringir os registros exibidos pelo formulário.

OBS -> Banco de dados biblioteca é uma coleção de procedimentos e objetos de banco de dados que você pode chamar a partir de qualquer aplicativo. Para utilizar os itens da biblioteca, primeiro é necessário estabelecer uma referência partindo do banco de dados atual para o banco de dados biblioteca.

Essa ação é semelhante a clicar no botão Abrir ou no botão Estrutura na janela Banco de Dados depois de selecionar um formulário na guia Formulários. Um formulário pode ser de janela restrita (ele deve ser fechado ou mantido oculto para que o usuário possa realizar qualquer outra ação) ou de janela não-restrita (o usuário pode mover para outras janelas enquanto o formulário está aberto). Ele pode também ser um formulário pop-up (um formulário

Nome do Formulário ->O nome de o formulário a ser aberto. A caixa Nome do Formulário na seção Argumentos da Ação da janela Macro mostra todos os formulários no banco de dados atual. Esse é um argumento requerido. Se você executar uma macro contendo a ação AbrirFormulário em um banco de dados biblioteca, o Microsoft Access procurará o formulário com esse nome primeiro no banco de dados biblioteca e depois no banco de dados atual. Exibir -> O modo em que o formulário será aberto. Clique em Formulário, Estrutura, Visualizar Impressão ou Folha de Dados na caixa Exibir. O padrão é Formulário. Observação A definição do argumento Exibir anula as definições das propriedades ModoPadrão e ModosPermitidos do formulário. Por exemplo, se a propriedade ModosPermitidos de um formulário for definida como Folha de Dados, você ainda poderá utilizar a ação AbrirFormulário para abrir o formulário no modo Formulário.

Nome do Filtro -> Um filtro que restringe ou classifica os registros do formulário. É possível digitar o nome tanto de uma consulta existente quanto de um filtro que tenha sido salvo como uma consulta. Entretanto, a consulta deve incluir todos os campos no formulário que você esteja abrindo ou que tenha sua propriedade ResultadoDeTodosOsCampos definida como Sim. Condição Onde -> Uma cláusula SQL WHERE válida (sem a palavra WHERE) ou expressão que o Microsoft Access utiliza para selecionar registros a partir da tabela

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 253 de 253

Continuação da Ação AbrirFormulário

utilizado para reunir ou exibir informações que permanecem no topo de todas as outras janelas do Microsoft Access).

Você define as propriedades JanelaRestrita e PopUp quando cria a estrutura do formulário. Caso utilize Normal para o argumento Modo Janela, o formulário será aberto no modo especificado pelas definições dessa propriedade. Se você utilizar Diálogo para o argumento Modo Janela, essas duas propriedades serão definidas como Sim. Um formulário aberto como oculto ou como um ícone retorna ao modo especificado pelas definições de suas propriedades quando você o exibe ou restaura.

Quando você abre um formulário com o argumento Modo Janela definido como Diálogo, o Microsoft Access suspende a macro até que o formulário seja fechado ou ocultado. É possível ocultar um formulário definindo sua propriedade Visível como Não ao utilizar a ação DefinirValor.

Dica -> Você pode selecionar um formulário na janela Banco de Dados e arrastá-lo para a linha de ação de uma macro. Isso cria automaticamente uma ação AbrirFormulário que abre o formulário no modo Formulário.

Alternar para o modo Estrutura enquanto o formulário está aberto remove a definição da maior parte dos argumentos para o formulário, como as definições dos argumentos Modo de Dados e Modo Janela. Elas não terão efeito mesmo que o usuário retorne ao modo Formulário ou ao modo Folha de Dados.

O filtro e a condição WHERE que você aplicar se tornam a definição da propriedade Filtro do formulário.

ou consulta base do formulário. Se você selecionar um filtro sem o argumento Nome do Filtro, o Microsoft Access aplicará essa cláusula WHERE aos resultados do filtro. Para abrir um formulário e restringir seus registros àqueles especificados pelo valor de um controle em outro formulário, utilize a expressão a seguir:

[nomedocampo]=Forms![nomedoformulário]! [nomedocontrole em outro formulário]

O argumento nomedocampo é o nome de um campo na tabela ou consulta base do formulário que você deseja abrir. O argumento nomedocontrole em outro formulário é o nome do controle no outro formulário que contém o valor ao qual você deseja que os registros no primeiro formulário correspondam. Observação: O comprimento máximo do argumento Condição Onde é de 256 caracteres. Se você precisar inserir uma cláusula SQL WHERE mais complexa, maior que o comprimento máximo, utilize, em vez dela, o método OpenForm do objeto DoCmd no Visual Basic. Você pode digitar instruções da cláusula SQL WHERE com até 32.768 caracteres no Visual Basic. Modo de Dados -> O modo de entrada de dados para o formulário. Isso se aplica somente aos formulários abertos no modo Formulário ou no modo Folha de Dados. Clique em Adicionar (o usuário pode adicionar novos registros, mas não pode editar os registros existentes), Editar (o usuário pode editar os registros existentes e adicionar novos registros) ou Somente Leitura (o usuário somente pode ver os registros). O padrão é Editar. Observações: • A definição do argumento Modo de Dados anula as

definições das propriedades PermitirEdições, PermitirExclusões, PermitirAdições e EntradaDeDados do formulário. Por exemplo, se a propriedade PermitirAdições de um formulário for definida como Não, você ainda poderá utilizar a ação AbrirFormulário para abrir o formulário no modo Editar.

• Se você deixar esse argumento em branco, o Microsoft Access abrirá o formulário no modo de entrada de dados definido pelas propriedades PermitirEdições, PermitirExclusões, PermitirAdições e EntradaDeDados do formulário.

Modo Janela -> O modo da janela em que o formulário é aberto. Clique em Normal para que o formulário fique no modo definido por suas propriedades, Oculto (o formulário é oculto), Ícone (o formulário é aberto minimizado como uma pequena barra de título na parte inferior da tela) ou Diálogo (as propriedades JanelaRestrita e PopUp do formulário são definidas como Sim). O padrão é Normal.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 254 de 254

AbrirMódulo Você pode utilizar a ação AbrirMódulo para abrir um módulo especificado do Visual Basic em um procedimento especificado. Este pode ser um procedimento Sub, um procedimento Function ou um procedimento de evento. Comentários: Você pode utilizar essa ação para abrir um procedimento de evento especificando o argumento Nome do Módulo e o argumento Nome do Procedimento. Por exemplo, para abrir o procedimento de evento Click (Ao Clicar) do botão ImprimirFatura do formulário Pedidos, defina o argumento Nome do Módulo como Form.Pedidos e defina o argumento Nome do Procedimento como ImprimirFatura_Click. Para visualizar o procedimento de evento de um formulário ou relatório, o formulário ou relatório precisa estar aberto. Esta ação tem o mesmo efeito que selecionar um módulo na janela Banco de Dados e em seguida, pressionar o botão Estrutura. Esta ação também permite que você especifique um nome de procedimento e procure pelos procedimentos nos módulos padrão de um banco de dados. Dica Você pode selecionar um módulo na janela Banco de Dados e arrastá-lo até a linha de ação de uma macro. Isto cria automaticamente uma ação AbrirMódulo que abre o módulo para a seção Declarações.

Para executar a ação AbrirMódulo no Visual Basic, utilize o método OpenModule do objeto DoCmd.

Nome do Módulo -> O nome do módulo que você deseja abrir. Você pode deixar este argumento em branco se quiser procurar um procedimento em todos os módulos padrão do banco de dados, e abrir o módulo apropriado nesse procedimento. Se você executar uma macro contendo a ação AbrirMódulo em um banco de dados biblioteca, o Microsoft Access procurará primeiro o módulo com esse nome no banco de dados biblioteca e, em seguida, no banco de dados atual.

Nome do Procedimento -> O nome do procedimento para o qual você deseja abrir o módulo. Se você deixar este argumento em branco, o módulo abrirá para a seção Declarações.

Observação: Você precisa inserir um nome válido no argumento Nome do Módulo ou Nome do Procedimento.

AbrirRelatório É possível utilizar a ação AbrirRelatório para abrir um relatório no modo Estrutura ou Visualizar Impressão ou para imprimir o relatório imediatamente.

Você pode também restringir os registros que serão impressos no relatório. A definição Imprimir para o argumento Exibir imprime o relatório imediatamente utilizando as definições de impressora atuais, sem abrir a caixa de diálogo Imprimir. Você pode também utilizar a ação AbrirRelatório para abrir e configurar um relatório e, em seguida, utilizar a ação Imprimir para imprimi-lo. Por exemplo, convém alterar o relatório ou utilizar a ação Imprimir para alterar as configurações da impressora antes de imprimir. O filtro e a condição WHERE que você aplicar se tornam a definição da propriedade Filtro do relatório.

Nome do Relatório -> O nome do relatório a ser aberto. A caixa Nome do Relatório na seção Argumentos da Ação da janela Macro exibe todos os relatórios no banco de dados atual. Esse é um argumento requerido. Se você executar uma macro contendo a ação AbrirRelatório em um banco de dados biblioteca, o Microsoft Access procurará pelo relatório com esse nome primeiro no banco de dados biblioteca e depois no banco de dados atual. Exibir -> O modo no qual o relatório será aberto. Clique em Imprimir (imprime o relatório imediatamente), Estrutura ou Visualizar Impressão na caixa Exibir. O padrão é Imprimir. Nome do Filtro -> Um filtro que restringe os registros do relatório. Você pode digitar o nome de uma consulta existente ou de um filtro que tenha sido salvo como uma consulta. Entretanto, a consulta precisa incluir todos os campos no relatório que você está abrindo ou ter sua propriedade ResultadoDeTodosOsCampos definida como Sim. Condição Onde -> Uma cláusula SQL WHERE válida (sem a palavra WHERE) ou expressão que o Microsoft Access utiliza para selecionar registros a partir da tabela

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 255 de 255

Continuação da Ação AbrirRelatório

A ação AbrirRelatório é semelhante a clicar no botão Estrutura, no botão Visualizar ou no comando Imprimir no menu Arquivo da janela Banco de Dados depois de selecionar um relatório. Dicas

• Para imprimir relatórios semelhantes para conjuntos de dados diferentes, utilize um filtro ou uma cláusula WHERE para restringir os registros impressos no relatório. Em seguida, edite uma macro para aplicar um filtro diferente ou alterar o argumento Condição Onde.

• É possível selecionar um relatório na janela Banco de Dados e arrastá-lo para a linha de ação de uma macro. Isso cria automaticamente uma ação AbrirRelatório que abre o relatório no modo Visualizar Impressão.

ou consulta base do relatório. Caso selecione um filtro com o argumento Nome do Filtro, o Microsoft Access aplicará essa cláusula WHERE aos resultados do filtro. Para abrir um relatório e restringir seus registros àqueles especificados pelo valor de um controle em um formulário, utilize a expressão a seguir:

[nomedocampo]=Forms![nomedoformulário]! [nomedocontrole no formulário]

O argumento nomedocampo é o nome de um campo na tabela ou consulta base do relatório que você deseja abrir. O argumento nomedocontrole no formulário é o nome do controle no formulário que contém o valor ao qual você deseja que os registros no relatório correspondam. Observação: O comprimento máximo do argumento Condição Onde é de 256 caracteres. Caso precise inserir uma cláusula SQL WHERE mais complexa e maior do que esse comprimento máximo, utilize, em vez disso, o método OpenReport do objeto DoCmd no Visual Basic. Você pode inserir instruções da cláusula SQL WHERE com até 32.768 caracteres no Visual Basic.

AbrirTabela É possível utilizar a ação AbrirTabela para abrir uma tabela no modo Folha de Dados, modo Estrutura ou Visualizar Impressão. Você pode também selecionar um modo de entrada de dados para a tabela. Essa ação é semelhante a clicar no botão Abrir ou no botão Estrutura na janela Banco de Dados depois de selecionar uma tabela na guia Tabelas. Dica: • Você pode selecionar uma tabela

na janela Banco de Dados e arrastá-la para a linha de ação de uma macro. Isso cria automaticamente uma ação AbrirTabela que abre a tabela no modo Folha de Dados.

• Alternar para o modo Estrutura enquanto a tabela está aberta remove a definição do argumento Modo de Dados da tabela. Essa definição não tem efeito mesmo que o usuário retorne ao modo Folha de Dados.

Nome da Tabela -> O nome da tabela a ser aberta. A caixa Nome da Tabela na seção Argumentos da Ação da janela Macro exibe todas as tabelas no banco de dados atual. Esse é um argumento requerido. Se você executar uma macro contendo a ação AbrirTabela em um banco de dados biblioteca, o Microsoft Access procurará pela tabela com esse nome primeiro no banco de dados biblioteca e depois no banco de dados atual.

Exibir -> O modo no qual a tabela é aberta. Clique em Folha de Dados, Estrutura ou Visualizar Impressão na caixa Exibir. O padrão é Folha de Dados. Modo de Dados -> O modo de entrada de dados para a tabela. Aplica-se somente a tabelas abertas no modo Folha de Dados. Clique em Adicionar (o usuário pode adicionar novos registros, mas não pode editar os registros existentes), Editar (o usuário pode editar os registros existentes e adicionar novos registros) ou Somente Leitura (o usuário somente pode ver os registros). O padrão é Editar.

AdicionarMenu É possível utilizar a ação AdicionarMenu para criar:

• Uma barra de menu personalizada para um formulário ou relatório. A

Nome do Menu -> O nome do menu suspenso a ser adicionado à barra de menu personalizada ou global. Digite o nome do menu na caixa Nome do Menu, na seção Argumentos da Ação da janela Macro. Esse é um argumento requerido para barras de menu personalizadas

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 256 de 256

barra de menu personalizada substitui a barra de menu interna para o formulário ou relatório.

• Um menu de atalho personalizado para um formulário, controle de formulário ou relatório. O menu de atalho personalizado substitui o menu de atalho interno para o formulário, controle de formulário ou relatório.

• Uma barra de menu global. A barra de menu global substitui a barra de menu interna para todas as janelas do Microsoft Access, exceto naquelas em que você tiver adicionado uma barra de menu personalizada para um formulário ou relatório.

• Um menu de atalho global. O menu de atalho global substitui o menu de atalho interno para campos em folhas de dados da tabela e consulta, formulários no modo Formulário, modo Folha de Dados e Visualizar Impressão e relatórios em Visualizar Impressão, exceto naquelas em que você tiver adicionado um menu de atalho personalizado para um formulário, controle de formulário ou relatório.

e globais. Esse argumento é ignorado para menus de atalho personalizados e globais. Para criar uma tecla de acesso de forma que você possa utilizar o teclado para escolher o menu, digite um "e" comercial (&) antes da letra que você deseja ser a tecla de acesso. Essa letra será sublinhada no nome do menu na barra de menu. Nome da Macro do Menu -> O nome do grupo de macros que contém as macros para os comandos do menu. Esse é um argumento requerido. Se você executar uma macro que contém a ação AdicionarMenu em um banco de dados Biblioteca, o Microsoft Access procurará um grupo de macros com esse nome somente no banco de dados atual. Texto da Barra de Status -> O texto a ser exibido na barra de status quando o menu é selecionado. Esse argumento é ignorado para menus de atalho personalizados e menus de atalho globais.

Observação : Embora no Microsoft Access você ainda possa criar todos esses tipos de menus personalizados utilizando macros que contêm ações AdicionarMenu (e todos os menus personalizados existentes que você tenha criado utilizando macros ainda funcionem), é recomendável criá-los utilizando a caixa de diálogo Personalizar, disponível apontando para Barras de Ferramentas no menu Exibir e clicando em Personalizar. Enquanto a caixa de diálogo Personalizar está sendo exibida, você pode facilmente criar um novo menu ou personalizar um menu interno.

AlarmeSonoro É possível utilizar a ação AlarmeSonoro para emitir um alarme sonoro pelo alto-falante do computador. É possível utilizar a ação AlarmeSonoro para sinalizar as ocorrências a seguir: • Ocorreram alterações importantes

na tela. • Foi digitado um tipo incorreto de

dados em um controle. Por exemplo, o usuário inseriu dados numéricos em um controle caixa de texto.

• Uma macro atingiu um ponto específico ou completou suas ações.

A freqüência e duração do sinal sonoro dependem do hardware, que pode variar de um computador para outro

Não Possui Argumentos

Ampulheta É possível utilizar a ação Ampulheta para alterar o ponteiro do mouse para uma imagem de uma ampulheta (ou outro ícone que você escolha) enquanto uma macro está sendo executada. Essa

Ampulheta Ativa -> Clique em Sim (exibe o ícone) ou em Não (exibe o ponteiro normal do mouse) na caixa Ampulheta Ativa na seção Argumentos da Ação da janela Macro. O padrão é Sim.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 257 de 257

ação pode fornecer uma indicação visual de que a macro está sendo executada. Isso é especialmente útil quando uma ação de macro ou a própria macro demorar muito para ser executada. • No Microsoft Windows 95, o ícone

mostrado por essa ação é aquele que você definiu para Ocupado na guia Ponteiros da caixa de diálogo Propriedades de Mouse do Painel de Controle do Windows (O padrão é um ícone de ampulheta animado).

• No Windows NT, esse é o ícone que você definiu para Aguardar na caixa de diálogo Cursores do Painel de Controle do Windows (O padrão também é um ícone de ampulheta).

• Em ambos os casos, você pode escolher outro ícone se desejar.

Você utilizará essa ação com freqüência se tiver desativado o eco utilizando a ação Eco. Quando o eco está desativado, o Microsoft Access suspende as atualizações da tela até que a execução da macro seja concluída. O Microsoft Access redefine automaticamente o argumento Ampulheta Ativa como Não quando a execução da macro é concluída.

AplicarFiltro É possível utilizar a ação AplicarFiltro para aplicar um filtro, uma consulta ou uma cláusula SQL WHERE a uma tabela, formulário ou relatório para restringir ou classificar os registros na tabela ou os registros da tabela ou consulta base ou consulta do formulário ou relatório.

Para relatórios, é possível utilizar essa ação somente em uma macro especificada pela propriedade de evento AoAbrir do relatório É possível aplicar um filtro ou consulta a um formulário no modo Formulário ou no modo Folha de Dados. O filtro e a condição WHERE que você aplicar se tornam a definição da propriedade Filtro do formulário ou relatório. Para tabelas e formulários, essa ação é semelhante a clicar em Aplicar Filtro/Classificação no menu Registros ou clicar em Aplicar Filtro na barra de ferramentas. O comando de menu ou botão se aplicam ao filtro criado mais recentemente na tabela ou formulário, enquanto que a ação AplicarFiltro se aplica ao filtro ou consulta especificada.

Se você apontar para Filtrar no menu Registros e, em seguida, clicar em Filtrar/Classificar Avançado depois de executar a ação AplicarFiltro, a janela Filtrar/Classificar Avançado mostrará os critérios de filtragem que você havia

Nome do Filtro -> O nome de um filtro ou consulta que restringe ou classifica os registros da tabela, formulário ou relatório. Digite o nome de uma consulta existente ou um filtro que tenha sido salvo como uma consulta na caixa Nome do Filtro na seção Argumentos da Ação da janela Macro.

Condição Onde Uma -> Cláusula SQL WHERE válida (sem a palavra WHERE) ou uma expressão que restringe os registros da tabela, formulário ou relatório. Observação: Em uma expressão de argumento Condição Onde, o lado esquerdo da expressão normalmente contém um nome de campo da tabela ou consulta base para o formulário ou relatório. O lado direito da expressão geralmente contém os critérios que você deseja aplicar a esse campo, de forma a restringir ou classificar os registros. Por exemplo, os critérios podem ser o nome de um controle em outro formulário que contém o valor ao qual você deseja que os registros do primeiro formulário correspondam. O nome do controle deve ser totalmente qualificado, por exemplo: Forms!nomedoformulário!nomedocontrole O comprimento máximo do argumento Condição Onde é de 256 caracteres. Se você precisar inserir uma cláusula SQL WHERE maior, utilize o método ApplyFilter do objeto DoCmd no Visual Basic. Você pode inserir instruções de cláusula SQL WHERE com até 32.768 caracteres no Visual Basic

Observação: É necessário utilizar um ou os dois argumentos. Você pode utilizar o argumento Nome do Filtro se já tiver definido um filtro que forneça os dados apropriados. É possível utilizar o argumento Condição Onde para inserir diretamente os critérios de restrição. Se você utilizar ambos os

argumentos, o Microsoft Access

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 258 de 258

Continuação da Ação AplicarFiltro

selecionado com essa ação. Para remover um filtro e exibir todos os registros de uma tabela ou formulário, é possível utilizar a ação MostrarTodosRegistros, o comando Remover Filtro/Classificação no menu Registros ou Remover Filtro na barra de ferramentas. Quando você salva uma tabela ou formulário, o Microsoft Access salva qualquer filtro definido atualmente naquele objeto, mas não aplica automaticamente o filtro da próxima vez em que o objeto for aberto (embora aplique automaticamente qualquer classificação que você tenha aplicado ao objeto antes de salvá-lo). Se você desejar aplicar um filtro automaticamente quando um formulário é aberto pela primeira vez, especifique uma macro contendo a ação AplicarFiltro ou um procedimento de evento contendo o método ApplyFilter do objeto DoCmd como a definição da propriedade de evento AoAbrir do formulário. Você pode também aplicar um filtro utilizando a ação AbrirFormulário ou AbrirRelatório ou seus métodos correspondentes. Para aplicar automaticamente um filtro quando uma tabela é aberta pela primeira vez, é possível abrir a tabela utilizando uma macro contendo a ação AbrirTabela, imediatamente seguida pela ação AplicarFiltro.

aplicará a cláusula WHERE aos resultados do filtro.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 259 de 259

CaixaDeMensagem É possível utilizar a ação CaixaDeMensagem para exibir uma caixa de mensagem contendo uma mensagem de aviso ou de informação. Por exemplo, é possível utilizar a ação CaixaDeMensagem com macros de validação. Quando um controle ou registro não passa por uma condição de validação na macro, uma caixa de mensagem pode exibir uma mensagem de erro e fornecer instruções sobre o tipo de dados que deve ser inserido.

Mensagem -> O texto na caixa de mensagem. Digite o texto da mensagem na caixa Mensagem da seção Argumentos da Ação da janela Macro. É possível digitar até 255 caracteres ou inserir uma expressão (precedida por um sinal de igual). AlarmeSonoro -> Especifica se o alto-falante do seu computador emitirá um aviso sonoro uma vez quando a mensagem for exibida. Clique em Sim (soa o aviso sonoro) ou Não (não soa o aviso sonoro). O padrão é Sim. Tipo -> O tipo da caixa de mensagem. Cada tipo tem um ícone diferente. Clique em Nenhum, Crítico, Aviso?, Aviso! ou Informação. O padrão é Nenhum. Título -> O texto exibido na barra de título da caixa de mensagem. Por exemplo, é possível fazer com que a barra de título exiba "Validação do Código do Cliente ". Se você deixar esse argumento em branco, será exibido o texto "Microsoft Access".

CancelarEvento É possível utilizar a ação CancelarEvento para cancelar o evento que fez com que o Microsoft Access executasse a macro contendo essa ação. O nome da macro é a definição de uma propriedade de evento como AntesDeAtualizar, AoAbrir, AoDescarregar ou AoImprimir. Observação É possível utilizar a ação CancelarEvento com o evento MouseDown somente para cancelar o evento que ocorre quando você clica com o botão direito do mouse em um objeto. Se a configuração da propriedade de evento AoClicarDuasVezes de um controle especificar uma macro que contém a ação CancelarEvento, a ação cancelará o evento DblClick. Para eventos que podem ser cancelados, o comportamento padrão para o evento (isto é, o que o Microsoft Access normalmente faz quando o evento ocorre) ocorre depois que a macro para o evento é executada. Isso permite cancelar o comportamento padrão. Por exemplo, quando você clica duas vezes em uma palavra onde está o ponto de inserção em uma caixa de texto, o Microsoft Access normalmente seleciona a palavra. É possível cancelar esse comportamento padrão na macro para o evento DblClick e executar alguma outra ação, como abrir um formulário que contém informações sobre os dados na caixa de texto. Para eventos que não podem ser cancelados, o comportamento padrão ocorre antes que a macro seja executada.

Não Possui parâmetros

Em um formulário, geralmente você utiliza a ação CancelarEvento em uma macro de validação com a propriedade de evento AntesDeAtualizar. Quando um usuário insere dados em um controle ou registro, o Microsoft Access executa a macro antes de adicionar os dados ao banco de dados. Se os dados não satisfizerem as condições de validação na macro, a ação CancelarEvento cancelará o processo de atualização antes que ele seja iniciado. Freqüentemente você utiliza essa ação com a ação CaixaDeMensagem para indicar que os dados não satisfizeram as condições da validação e fornecer informações úteis sobre o tipo de dados que deveria ser inserido.

CopiarObjeto É possível utilizar a ação CopiarObjeto para copiar o objeto de banco de dados especificado para outro banco de dados do Microsoft Access ou para o mesmo banco de dados com um novo nome. Por exemplo, é possível copiar ou efetuar

Destino -> Um caminho e um nome de arquivo válidos para o banco de dados de destino. Digite o caminho e o nome do arquivo na caixa Banco de Dados de Destino na seção Argumentos da Ação da janela Macro. Deixe esse argumento em branco se desejar selecionar o banco de dados atual. Se você executar uma macro contendo a ação

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 260 de 260

Continuação da Ação CopiarObjeto

backup de um objeto existente em um outro banco de dados ou criar rapidamente um objeto semelhante com algumas alterações.

A ação CopiarObjeto é semelhante a selecionar um objeto na janela Banco de Dados, clicar em Copiar no menu Editar e, então, clicar em Colar, no menu Editar. A caixa de diálogo Colar Como é exibida para que você possa dar um novo nome ao objeto. A ação CopiarObjeto executa todas essas etapas automaticamente. Você pode também copiar um objeto selecionado na janela Banco de Dados ou um objeto aberto na janela Tabela, janela Consulta, janela Formulário, janela Relatório, janela Macro ou janela Módulo clicando em Salvar Como/Exportar, no menu Arquivo. A caixa de dialogo Salvar Como oferece a opção de salvar uma cópia do objeto no banco de dados atual com um novo nome ou salvar o objeto em outro banco de dados. Caso esse objeto já tiver sido salvo e você salvá-lo no banco de dados atual com um novo nome, a versão original ainda existirá com o seu nome anterior. O caminho e o nome de arquivo do banco de dados de destino devem existir antes de a macro executar a ação CopiarObjeto. Se eles não existirem, o Microsoft Access exibirá uma mensagem de erro.

CopiarObjeto em um banco de dados Biblioteca e deixar esse argumento em branco, o Microsoft Access copiará o objeto para o banco de dados Biblioteca. Novo Nome -> Um novo nome para o objeto. Quando copiar para um banco de dados diferente, deixe esse argumento em branco para manter o nome atual. Tipo do Objeto de Origem -> O tipo do objeto que você deseja copiar. Clique em Tabela, Consulta, Formulário, Relatório, Macro ou Módulo. Para copiar o objeto selecionado na janela Banco de Dados, deixe esse argumento em branco. Nome do Objeto de Origem -> O nome do objeto a ser copiado. A caixa Nome do Objeto de Origem mostra todos os objetos no banco de dados do tipo selecionado pelo argumento Tipo do Objeto de Origem. Na caixa Nome do Objeto de Origem, clique no objeto a ser copiado. Se você deixar o argumento Tipo do Objeto de Origem em branco, deixe também esse argumento em branco. Se você executar uma macro que contém a ação CopiarObjeto em um banco de dados biblioteca, o Microsoft Access irá procurar o objeto com esse nome primeiro no banco de dados biblioteca e depois no banco de dados atual.

É necessário digitar um valor tanto para um quanto para ambos os argumentos Banco de Dados de Destino e Novo Nome para essa ação.

Se você deixar os argumentos Tipo do Objeto de Origem e Nome do Objeto de Origem em branco, o Microsoft Access copiará o objeto selecionado na janela Banco de Dados. Para selecionar um objeto na janela Banco de Dados, é possível utilizar a ação SelecionarObjeto com o argumento Na Janela Banco de Dados definido como Sim.

DefinirAvisos Você pode utilizar a ação DefinirAvisos para ativar ou desativar as mensagens do sistema. Executar esta ação com o argumento Avisos Ativos definido como Não tem o mesmo efeito que pressionar ENTER sempre que um aviso ou caixa de mensagem for exibido. Tipicamente, um botão OK ou Sim é escolhido em resposta ao aviso ou mensagem. Quando a macro termina, o Microsoft Access ativa automaticamente a exibição das mensagens do sistema. Freqüentemente, você utilizará esta ação com a ação Eco, que oculta os resultados de uma macro até ela terminar. Você pode utilizar a ação DefinirAvisos para ocultar os avisos e também as caixas de mensagem.

Avisos Ativos -> Especifica se as mensagens do sistema são exibidas. Clique em Sim (para ativar as mensagens do sistema) ou Não (para não desativar as mensagens do sistema) na caixa Avisos Ativos na seção Argumentos da Ação da janela Macro. O padrão é Não.

Você pode utilizar esta ação para evitar que avisos modais e caixas de mensagem interrompam a macro. Entretanto, as mensagens de erro são sempre exibidas. Além disso, o Microsoft Access exibe qualquer caixa de diálogo que exija entrada que não seja apenas a escolha de um botão ( como OK, Cancelar, Sim ou Não) — por exemplo, qualquer caixa de diálogo que exija que você digite texto ou selecione uma dentre várias opções.

Cuidado : Embora a ação DefinirAvisos possa simplificar as interações com macros, você precisa ser cuidadoso ao desativar as mensagens do sistema. Em algumas situações, você não desejará continuar uma

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 261 de 261

macro se uma determinada mensagem de aviso for exibida. A menos que você esteja seguro das conseqüências de todas as ações de macro, você deve evitar usar esta ação.

DefinirItemDoMenu Você pode utilizar a ação DefinirItemDoMenu para definir o estado dos itens de menu (ativado ou desativado, com ou sem marca de verificação) na barra de menu personalizada ou barra de menu global da janela ativa.

Observação -> A ação DefinirItemDoMenu só funciona com barras de menu personalizadas e barras de menu globais criadas através da utilização de macros de barra de menu. A ação DefinirItemDoMenu foi incluída nesta versão do Microsoft Access somente por questões de compatibilidade com as versões anteriores. Ela não funciona com a nova funcionalidade das barras de comando. Entretanto, você pode utilizar as propriedades Enable e State no Visual Basic para desativar ou ativar e para marcar ou desmarcar os itens nas novas barras de menu, barras de ferramentas e menus de atalho.

A ação DefinirItemDoMenu só funciona em uma barra de menu personalizada ou barra de menu global para a janela ativa. Ela não funciona nas barras de menu internas do Microsoft Access, e se a janela ativa não tiver uma barra de menu personalizada ou uma barra de menu global, a execução de uma macro contendo a ação DefinirItemDoMenu causará um erro em tempo de execução. Observe que uma barra de menu global, se você tiver definido uma, substitui a barra de menu interna para todas as janelas do Microsoft Access, exceto onde você tiver adicionado uma barra de menu personalizada para um formulário ou relatório. Você pode utilizar esta ação para definir o estado dos comandos e subcomandos de menu, mas não subcomandos de subcomandos. Para executar a ação DefinirItemDoMenu no Visual Basic, utilize o método SetMenuItem do objeto DoCmd.

Índice de Menu -> O índice do menu que contém o comando cujo estado você deseja definir. Digite um valor Inteiro, começando a partir de 0, para o índice do menu desejado na barra de menu personalizada ou barra de menu global para a janela ativa. Digite o valor do índice na caixa Índice de Menu na seção Argumentos da Ação da janela Macro. O índice é relativo à posição do menu na macro de barra de menu para a barra de menu personalizada ou para a barra de menu global (a posição da ação AdicionarMenu deste menu na macro da barra de menu, contando a partir de 0). A exibição da barra de menu poderá ser um tanto diferente, uma vez que você pode utilizar expressões condicionais na macro de barra de menu para ocultar ou exibir itens de menu personalizados. Este é um argumento requerido. Se você selecionar um menu com esse argumento e deixar vazios os argumentos Índice de Comando e Índice de Subcomando, você poderá ativar ou desativar o próprio nome do menu. Você não poderá, contudo, ativar ou desativar um nome de menu (o Microsoft Access ignora as definições Ativar e Desativar do argumento Sinalizador para nomes de menu). Índice de Comando -> O índice do comando cujo estado você deseja definir. Digite um valor Inteiro, começando a partir de 0, para o índice do comando desejado no menu selecionado pelo argumento Índice de Menu. O índice é relativo à posição do comando no grupo de macro que define o menu selecionado para a barra de menu personalizada ou barra de menu global (a posição da macro deste comando no grupo de macro, contanto a partir de 0). A exibição do menu pode ser um tanto diferente, uma vez que você pode utilizar expressões condicionais no grupo de macro do menu para ocultar ou exibir comandos de menu personalizados. Índice de Subcomando ->O índice do subcomando cujo estado você deseja definir. Isto só se aplica se o comando desejado tem um submenu. Digite um valor Inteiro, começando a partir de 0, para o índice do subcomando desejado no submenu selecionado pelo argumento Índice de Comando. O índice é relativo à posição do subcomando no grupo de menu que define o submenu selecionado para a barra de menu personalizada ou barra de menu global (a posição da macro deste subcomando no grupo de macro, começando a partir de 0). Sinalizador -> O estado para o qual você deseja definir o comando ou subcomando. Clique em Cinza (para desativar o comando — ele aparece esmaecido), Anular Cinza (para ativá-lo), Ativar (para colocar uma marca de verificação ao lado do comando — normalmente indicando que foi selecionado ou alternado) ou Desativar (para remover a marca). O padrão é Anular Cinza.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 262 de 262

DefinirValor Você pode utilizar a ação DefinirValor para definir o valor de um campo, controle ou propriedade do Microsoft Access em um formulário, na folha de dados de um formulário, ou em um relatório.

Observação: Você não pode utilizar a ação DefinirValor para definir o valor dos controles a seguir:

• Controles acoplados e controles calculados em relatórios.

• Controles calculados em formulários.

Dica: Você pode utilizar a ação DefinirValor para ocultar ou exibir um formulário no modo Formulário. Insira Forms!nomedoformulário.Visível na caixa Item e Não ou Sim na caixa Expressão.

A definição da propriedade Visível de um formulário modal como Não oculta o formulário e o torna não modal. A definição da propriedade como Sim exibe o formulário e o torna modal novamente.

A alteração do valor ou o acréscimo de novos dados em um controle pelo uso da ação DefinirValor em uma macro não aciona eventos tais como BeforeUpdate, BeforeInsert ou Change que ocorrem quando você altera ou insere dados nesses controles através da interface do usuário. Esses eventos também não ocorrem se você definir o valor do controle utilizando o Visual Basic.

Item -> O nome do campo, controle ou propriedade cujo valor você deseja definir. Digite o nome do campo, do controle ou da propriedade na caixa Item na seção Argumentos da Ação da janela Macro. Você precisa utilizar a sintaxe completa para se referir a este item, como em nomedocontrole (para um controle no formulário ou relatório a partir do qual a macro foi chamada) ou Forms!nomedoformulário!nomedocontrole. Este é um argumento requerido. Expressão -> A expressão que o Microsoft Access utiliza para definir o valor deste item. Você precisa sempre utilizar a sintaxe completa para se referir a qualquer um dos objetos na expressão. Por exemplo, para aumentar em 10 por cento o valor em um controle Salário de um formulário Funcionários, utilize Forms!Funcionários!Salário*1.1. Este é um argumento requerido. Observação: Você não deve utilizar um sinal de igualdade (=) antes da expressão desse argumento. Se você o fizer, o Microsoft Access avaliará a expressão e, em seguida, usará este valor como expressão nesse argumento. Isto pode produzir resultados inesperados se a expressão for uma seqüência. Por exemplo, se você digitar ="Seqüência1" para este argumento, o Microsoft Access primeiro avaliará a expressão como Seqüência1. Ele então usará Seqüência1 como expressão nesse argumento, esperando encontrar um controle ou propriedade chamada Seqüência1 no formulário ou relatório que chamou a macro.

Você pode utilizar esta ação para definir um valor para um campo ou controle de um formulário, uma folha de dados de formulário ou um relatório. Você também pode definir o valor para quase todas as propriedades de controle, formulário ou relatório em qualquer modo. Para descobrir se uma determinada propriedade pode ser definida pela utilização de uma macro e em quais modos ela pode ser definida, consulte o tópico sobre essa propriedade. Você pode também definir o valor de um campo na tabela base de um formulário mesmo que o formulário não contenha um controle acoplado ao campo. Utilize a sintaxe Forms!nomedoformulário!nomedocampo na caixa Item para definir o valor de tal campo. Você também pode se referir a um campo na tabela base de um relatório utilizando a sintaxe Reports!nomedorelatório!nomedocampo , mas precisa haver um controle no relatório acoplado a esse campo ou o campo precisa estar referido em um controle calculado no relatório.

Quando você define o valor de um controle em um formulário, a ação DefinirValor não aciona as regras de validação do controle no nível do formulário, mas aciona as regras de validação do campo base no nível de tabela se o controle for um controle acoplado. A ação DefinirValor também aciona o recálculo, mas este pode não acontecer imediatamente. Para acionar um redesenho imediato e forçar a conclusão do recálculo, utilize a ação RedesenharObjeto. O valor que você define em um controle utilizando a ação DefinirValor também não é afetado por uma máscara de entrada definida na propriedade MáscaraDeEntrada do controle ou do campo base.

Para alterar o valor de um controle, você pode utilizar a ação DefinirValor em uma macro especificada pela propriedade de evento ApósAtualizar do controle. Entretanto, você não pode utilizar a ação DefinirValor em uma macro especificada pela

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 263 de 263

propriedade de evento AntesDeAtualizar de um controle para alterar o valor do controle (embora você possa utilizar DefinirValor para alterar o valor de outros controles). Você também pode utilizar a ação DefinirValor em uma macro especificada pela propriedade AntesDeAtualizar ou ApósAtualizar de um formulário para alterar o valor de qualquer um dos controles do registro atual.

Eco É possível utilizar a ação Eco para especificar se o eco está ativo. Por exemplo, você pode utilizar essa ação para ocultar ou exibir os resultados de uma macro enquanto ela está sendo executada.

É possível executar a ação Eco mais de uma vez em uma macro. Isso permite que você altere o texto da barra de status durante a execução de uma macro.

Se você desativar o eco, poderá utilizar a ação Ampulheta para alterar o ponteiro do mouse para um ícone de ampulheta (ou qualquer ícone de ponteiro do mouse que você tenha definido para "Ocupado" no Microsoft Windows 95 ou "Aguardar" no Windows NT) para fornecer uma indicação visual de que a macro está sendo executada.

Eco Ativo -> Clique em Sim (ativar o eco) ou em Não (desativar o eco) na caixa Eco Ativo na seção Argumentos da Ação da janela Macro. O padrão é Sim. Texto da Barra de Status -> O texto a ser exibido na barra de status quando o eco está ativo. Por exemplo, quando o eco está desativado, a barra de status pode exibir "A macro está sendo executada."

Quando o Microsoft Access executa uma macro, as atualizações da tela freqüentemente mostram informações que não são essenciais ao funcionamento da macro. Ao definir o argumento Eco Ativo como Não, a macro será executada sem atualizar a tela. Quando a macro é concluída, o Microsoft Access automaticamente reativa o eco e redesenha a janela. A definição Não para o argumento Eco Ativo não afeta a macro ou seus resultados. A ação Eco não suprime a exibição de caixas de diálogo de janelas restritas, como as mensagens de erro, ou formulários pop-up, como folhas de propriedades. Você pode utilizá-las para reunir ou exibir informações quando o eco está desativado. Utilize a ação DefinirAvisos para desativar todas as mensagens ou caixas de diálogo, exceto as caixas de mensagens de erro e as caixas de diálogo que requerem que o usuário insira informações.

EncontrarPróximo LocalizarPróximo

É possível utilizar a ação LocalizarPróximo para localizar o próximo registro que satisfaz os critérios especificados pela ação LocalizarRegistro anterior ou a caixa de diálogo Localizar no Campo, disponível clicando em Localizar no menu Editar. Você pode utilizar a ação LocalizarPróximo para pesquisar registros repetidamente. Por exemplo, é possível mover sucessivamente por todos os registros para um cliente específico. Essa ação tem o mesmo efeito de utilizar o botão Localizar Próximo na caixa de diálogo Localizar no Campo.

Observação: Embora a ação LocalizarRegistro corresponda ao comando Localizar do menu Editar para tabelas, consultas e formulários, ela não corresponde ao comando Localizar do menu Editar da janela Módulo. Não é possível utilizar a ação

Esta Ação não possui Parâmetros.

A ação LocalizarPróximo não tem argumentos. A ação LocalizarPróximo encontra o próximo registro que satisfaz os critérios definidos pela ação LocalizarRegistro ou na caixa de diálogo Localizar no Campo. Os argumentos para a ação LocalizarRegistro são compartilhados com as opções da caixa de diálogo Localizar no Campo. Para definir os critérios de localização, utilize a ação LocalizarRegistro. Normalmente, você insere uma ação LocalizarRegistro em uma macro e, depois, utiliza a ação LocalizarPróximo para localizar registros subseqüentes que satisfazem os mesmos critérios. Para localizar registros somente quando uma determinada condição for satisfeita, você pode inserir uma expressão condicional na coluna Condição da linha de ação para a ação LocalizarPróximo.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 264 de 264

LocalizarRegistro ou a ação LocalizarPróximo para localizar textos em módulos.

Dica : Se você tiver definido o argumento Somente Campo Atual da ação LocalizarRegistro como Sim, talvez precise utilizar a ação IrParaControle para mover o foco para o controle contendo os dados que você está localizando antes de utilizar a ação LocalizarPróximo.

EncontrarRegistro LocalizarRegistro

É possível utilizar a ação LocalizarRegistro para localizar a primeira instância de dados que satisfazem os critérios especificados pelos argumentos LocalizarRegistro. Ela pode estar no registro atual, em um registro subseqüente ou anterior ou no primeiro registro. Você pode localizar registros na folha de dados da tabela, na folha de dados da consulta, na folha de dados do formulário ou no formulário ativos.

Quando uma macro executa uma ação LocalizarRegistro, o Microsoft Access procura os dados especificados nos registros (a ordem da localização é determinada pela definição do argumento Localizar). Quando o Microsoft Access encontra os dados especificados, esses dados são selecionados no registro. A ação LocalizarRegistro é equivalente a clicar em Localizar, no menu Editar, e seus argumentos são os mesmos das opções na caixa de diálogo Localizar no Campo, disponível clicando em Localizar no menu Editar. Se você definir os argumentos LocalizarRegistro na janela Macro e, depois, executar a macro, verá as opções correspondentes selecionadas na caixa de diálogo Localizar no Campo quando clicar em Localizar.

O Microsoft Access retém os argumentos LocalizarRegistro mais recentes durante uma sessão de banco de dados, de maneira que você não precisa inserir os mesmos critérios repetidamente à medida que executa operações LocalizarRegistro subseqüentes. Se você deixar um argumento em branco, o Microsoft Access utilizará a configuração mais recente para o argumento, como definida por uma ação LocalizarRegistro anterior ou na caixa de diálogo Localizar no Campo. Quando você desejar localizar um registro utilizando uma macro, utilize a ação LocalizarRegistro, não a ação ExecutarComando com seus argumentos definidos para executar o comando

Localizar -> Especifica os dados que você deseja localizar no registro. Insira o texto, número ou data que deseja localizar ou digite uma expressão, que é precedida por um sinal de igual (=), na caixa Localizar na seção Argumentos da Ação da janela Macro. Você pode utilizar caracteres curinga. Esse é um argumento requerido. Coincidir -> Especifica onde os dados estão localizados no campo. Você pode especificar uma localização de dados em qualquer parte do campo (Qualquer Parte do Campo), de dados que preenchem todo o campo (Campo Inteiro) ou de dados localizados no início do campo (Início do Campo). O padrão é Campo Inteiro. Maiúscula/minúscula -> Especifica se a localização coincide maiúsculas e minúsculas (letras maiúsculas e minúsculas devem ter correspondência exata). Clique em Sim (realizar uma localização que coincide maiúsculas de minúsculas) ou Não (localização sem correspondência exata de letras maiúsculas e minúsculas). O padrão é Não. Localizar -> Especifica se a localização é realizada a partir do registro atual até o início dos registros (Acima), até o final dos registros (Abaixo) ou até o final dos registros e depois a partir do início dos registros até o registro atual, de maneira que todos os registros são localizados (Tudo). O padrão é Tudo. Localizar Como Formatado -> Especifica se a localização inclui dados formatados. Clique em Sim (o Microsoft Access localiza os dados da maneira como eles estão formatados e exibidos no campo) ou Não (o Microsoft Access localiza os dados da maneira como eles estão armazenados no banco de dados, o que nem sempre é igual a forma como eles são exibidos). O padrão é Não. Você pode utilizar esse recurso para restringir a localização aos dados em um determinado formato. Por exemplo, clique em Sim e digite 1.234 no argumento Localizar para localizar um valor 1.234 em um campo formatado para incluir ponto. Clique em Não se desejar inserir 1234 para a localização dos dados nesse campo. Para localizar datas, clique em Sim para localizar uma data exatamente como ela está formatada, como 03-Março-1991. Se você clicar em Não, insira a data no argumento Localizar no formato definido na caixa de diálogo Propriedades de Configurações Regionais no Painel de Controle do Windows. (Essa é a caixa Estilo de Data Abreviada encontrada na guia Data da caixa de diálogo Propriedades de Configurações Regionais.) Por exemplo, se a caixa Estilo de Data Abreviada estiver definida como M/d/aa, você poderá digitar 3/9/91, e o Microsoft Access irá localizar todas as entradas em um campo Data que correspondam a 9 de março de 1991, sem considerar a formatação do campo. Observação Esse argumento tem efeito somente se o campo atual for um controle acoplado, o argumento Coincidir estiver

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 265 de 265

Localizar.

Observação: Embora a ação LocalizarRegistro corresponda ao comando Localizar, no menu Editar, para tabelas, consultas e formulários, ela não corresponde ao comando Localizar, no menu Editar, da janela Módulo. Não é possível utilizar a ação LocalizarRegistro para localizar textos em módulos.

definido como Campo Inteiro, o argumento Somente Campo Atual estiver definido como Sim e o argumento Maiúscula/minúscula estiver definido como Não. Se você definir Maiúscula/minúscula como Sim, ou Somente Campo Atual como Não, também terá que definir Localizar Como Formatado como Sim. Somente Campo Atual -> Especifica se a localização é restrita ao campo atual em cada registro ou se inclui todos os campos em cada registro. A localização no campo atual é mais rápida. Clique em Sim (restringir a localização ao campo atual) ou Não (localizar em todos os campos em cada registro). O padrão é Sim. Localizar Primeira -> Especifica se a localização deve ser iniciada no primeiro registro ou no registro atual. Clique em Sim (inicia no primeiro registro) ou Não (inicia no registro atual). O padrão é Sim.

EnviarObjeto Você pode utilizar uma ação EnviarObjeto para incluir a folha de dados, o formulário, relatório ou módulo especificado do Microsoft Access em uma mensagem de correio eletrônico, onde ela pode ser visualizada e passada adiante. Você pode incluir objetos em formato Microsoft Excel 97 (*.xls), Texto do MS-DOS (*.txt), rich-text (*.rtf), ou HTML (*.html) em mensagens para o Microsoft Exchange, Microsoft Mail, o correio do Microsoft Windows para Workgroups ou um outro aplicativo de correio eletrônico que utilize a Interface de Programação de Aplicativos Microsoft Mail (MAPI).

Se você tem um aplicativo de correio eletrônico que utiliza o protocolo Vendor Independent Mail (VIM) e se você instalou e configurou a biblioteca de vínculo dinâmico (Mapivim.dll) que converte mensagens de correio em protocolo VIM, você poderá enviar objetos do Microsoft Access ao aplicativo de correio VIM.

A ação EnviarObjeto só estará disponível se você tiver instalado em seu computador um aplicativo de correio eletrônico concordante com MAPI ou se tiver um aplicativo de correio eletrônico concordante com VIM e tiver instalado e configurado o Mapivim.dll. Para obter informações sobre como instalar e configurar o suporte do Microsoft Access para aplicativos de correio VIM, consulte o Microsoft Office 97 Resource Kit.

O objeto na mensagem de correio está no formato de saída selecionado. Quando você clica duas vezes no objeto, o aplicativo apropriado é iniciado com o objeto aberto. O aplicativo para cada tipo de formato de saída é o Microsoft Excel (para arquivos .xls), o Bloco de Notas do Microsoft Windows (para arquivos .txt) e o Microsoft Word (para arquivos .rtf). Para arquivos .html, o seu

Tipo de Objeto -> O tipo de objeto a incluir na mensagem de correio. Clique em Tabela (para uma folha de dados de tabela), Consulta (para uma folha de dados de consulta), Formulário (para um formulário ou folha de dados de formulário), Relatório ou Módulo na caixa Tipo de Objeto na seção Argumentos da Ação da janela Macro. Você não pode enviar uma macro. Se você desejar incluir o objeto ativo, selecione seu tipo com este argumento, mas deixe o argumento Nome do Objeto em branco.

Nome do Objeto -> O nome do objeto a incluir na mensagem de correio. A caixa Nome do Objeto mostra todos os objetos de banco de dados do tipo selecionado pelo argumento Tipo de Objeto. Se você deixar os argumentos Tipo de Objeto e Nome do Objeto em branco, o Microsoft Access enviará uma mensagem ao aplicativo de correio sem nenhum objeto do banco de dados. Se você executar uma macro contendo a ação EnviarObjeto em um banco de dados biblioteca, o Microsoft Access procurará primeiro o objeto com esse nome no banco de dados biblioteca e, em seguida, no banco de dados atual. Formato de Saída -> O tipo de formato a ser usado para o objeto incluído. Você pode clicar em HTML (*.html), Microsoft Excel (*.xls), Texto do MS-DOS (*.txt) ou Formato Rich Text (*.rtf) na caixa Formato de Saída. Os módulos podem ser enviados somente no formato Texto do MS-DOS. Se você deixar este argumento em branco, o Microsoft Access pedirá a você o formato de saída. Observação Você não pode incluir objetos no formato Microsoft Active Server Pages (*.asp) ou Microsoft IIS (*.htx, *.idc), embora essas seleções estejam incluídas na lista Para -> Os destinatários da mensagem cujos nomes você queira colocar na linha Para da mensagem de correio. Se você deixar este argumento em branco, o Microsoft Access pedirá a você os nomes dos destinatários. Separe os nomes dos destinatários que você especificar nesse argumento e nos argumentos Cc e Cco com um ponto-e-vírgula (;) ou com o separador de lista definido na guia Número da caixa de diálogo Propriedades das Configurações Regionais do Painel de Controle do Windows. Se o aplicativo de correio não puder identificar os nomes dos destinatários, a mensagem não será enviada. Cc -> Os destinatários da mensagem cujos nomes você deseja colocar na linha Cc ("cópia carbono") na mensagem de correio. Se você deixar este argumento em branco, a linha Cc da mensagem de correio ficará em branco. Cco ->Os destinatários da mensagem cujos nomes você deseja

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 266 de 266

Continuação da Ação EnviarObjeto

navegador padrão para Internet (como o Microsoft Internet Explorer) é iniciado.

colocar na linha Cco ("com cópia oculta") na mensagem de correio. Se você deixar este argumento em branco, a linha Cco na mensagem de correio ficará em branco. Assunto -> O assunto da mensagem. Este texto aparece na linha Assunto da mensagem de correio. Se você deixar este argumento em branco, a linha Assunto da mensagem de correio ficará em branco. Texto da Mensagem -> Qualquer texto que você queira incluir na mensagem, além do objeto do banco de dados. Esse texto aparece no corpo principal da mensagem de correio, após o objeto. Se você deixar este argumento em branco, nenhum texto adicional será incluído na mensagem de correio. Se deixar os argumentos Tipo de Objeto e Nome do Objeto em branco, você poderá utilizar esse argumento para enviar uma mensagem de correio sem um objeto do banco de dados. Editar Mensagem -> Especifica se a mensagem pode ser editada antes de ser enviada. Se você selecionar Sim, o aplicativo de correio eletrônico será iniciado automaticamente e a mensagem poderá ser editada. Se você selecionar Não, a mensagem será enviada sem lhe oferecer uma oportunidade de editar a mensagem. O padrão é Não. Arquivo Modelo -> O caminho e nome de um arquivo que você queira utilizar como modelo para um arquivo .html. O arquivo modelo é um arquivo contendo marcas HTML.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 267 de 267

Comentários sobre a Ação Enviar Objeto

Comentários

A ação EnviarObjeto só estará disponível se você tiver instalado em seu computador um aplicativo de correio eletrônico concordante com MAPI ou se tiver um aplicativo de correio eletrônico concordante com VIM e tiver instalado e configurado o Mapivim.dll. Para obter informações sobre como instalar e configurar o suporte do Microsoft Access para aplicativos de correio VIM, consulte o Microsoft Office 97 Resource Kit. O objeto na mensagem de correio está no formato de saída selecionado. Quando você clica duas vezes no objeto, o aplicativo apropriado é iniciado com o objeto aberto. O aplicativo para cada tipo de formato de saída é o Microsoft Excel (para arquivos .xls), o Bloco de Notas do Microsoft Windows (para arquivos .txt) e o Microsoft Word (para arquivos .rtf). Para arquivos .html, o seu navegador padrão para Internet (como o Microsoft Internet Explorer) é iniciado.

As regras a seguir se aplicam quando você utiliza a ação EnviarObjeto para incluir um objeto do banco de dados em uma mensagem de correio:

• Você pode enviar folhas de dados de tabela, consulta e formulário. No objeto incluído, todos os campos da folha de dados conservam a aparência que tinham no Microsoft Access, exceto os campos contendo os objetos OLE. As colunas para esses campos são incluídas no objeto, mas os campos ficam em branco.

• Para um controle acoplado a um campo Sim/Não (um botão alternar, botão de opção ou caixa de seleção), o arquivo de saída exibe o valor –1 (Sim) ou 0 (Não).

• Para uma caixa de texto acoplada a um campo Hyperlink, o arquivo de saída exibe o hyperlink para todos os formatos de saída, exceto o Texto do MS-DOS (neste caso, o hyperlink é simplesmente exibido como texto normal).

• Se você enviar um formulário no modo Formulário, o objeto incluído sempre conterá o modo Folha de Dados do formulário.

• Se você enviar um relatório, somente os controles incluídos no objeto serão caixas de texto (para arquivos .xls), ou caixas de texto e rótulos (para arquivos .rtf, .txt e .html). Todos os outros controles serão ignorados. As informações de cabeçalho e rodapé também não serão incluídas. A única exceção é que, quando você envia um relatório no formato do Microsoft Excel, uma caixa de texto em um rodapé de grupo contendo uma expressão com a função Soma é incluída no objeto. Nenhum outro controle em um cabeçalho ou rodapé (e nenhuma função agregada além de Soma) é incluído no objeto.

• Os sub-relatórios são incluídos no objeto, mas os subformulários não são. • Quando você envia uma folha de dados ou um formulário no formato HTML, um único arquivo .html é

criado. Quando você envia um relatório no formato HTML, um único arquivo .html é criado para cada página do relatório.

Para obter maiores informações sobre regras e restrições durante a inclusão de objetos no formato HTML, consulte Exportar uma folha de dados para um formato HTML estático e Exportar um relatório para um formato HTML estático. Dica: Se você enviar os dados de um relatório e se as colunas e linhas de dados do objeto incluído não se alinharem como no relatório, as dicas a seguir poderão ser úteis:

• Você pode apontar para Dimensionar no menu Formatar e clicar então em Para Caber para dimensionar os controles.

• Você deve evitar sobrepor os controles ou colocar os controle muitos próximos entre si. • Você pode apontar para Alinhar no menu Formatar e em seguida clicar no comando apropriado para

alinhar os controles no relatório. Os controles que não estiverem alinhados na mesma linha poderão ser colocados em linhas diferentes no objeto incluído, causando espaçamento adicional.

• A ação EnviarObjeto tem o mesmo efeito que clicar em Enviar no menu Arquivo, e os argumentos de ação correspondem às definições das caixas de diálogo Enviar. O comando Enviar, contudo, aplica-se somente ao objeto ativo. Se utilizar a ação EnviarObjeto, você poderá especificar o objeto que deseja enviar.

Observação: Você pode enviar os dados selecionados com o comando Enviar. Entretanto, essa funcionalidade não está disponível com a ação EnviarObjeto.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 268 de 268

EnviarSqüênciaDeCaracteres

Você pode utilizar a ação EnviarSeqüênciaDeCaracteres para enviar pressionamentos de teclas diretamente para o Microsoft Access ou para um aplicativo ativo baseado no Windows.

Observações

• Como a caixa de diálogo suspende a macro, você precisa colocar a ação EnviarSeqüênciaDeCaracteres antes da ação que faz com que a caixa de diálogo seja aberta e definir o argumento Aguardar como Não.

• A temporização dos pressionamentos de teclas que chegam ao Microsoft Access ou a um outro aplicativo pode ser complicada. Como resultado, é recomendável que, se houver algum outro método (como a ação LocalizarRegistro) que você possa usar para efetuar uma tarefa desejada, você utilize esse método em vez de usar a ação EnviarSeqüênciaDeCaracteres para preencher as opções em uma caixa de diálogo.

Se você quiser enviar mais de 255 caracteres para o Microsoft Access ou um outro aplicativo baseado em Windows, você pode usar várias ações EnviarSeqüênciaDeCaracteres em sucessão numa macro.

Pressionamento de Teclas -> Os pressionamentos de teclas que você deseja que o Microsoft Access ou o aplicativo processe. Digite os pressionamentos de tecla na caixa Pressionamento de Teclas na seção Argumentos da Ação da janela Macro. Você pode digitar até 255 caracteres. Este é um argumento requerido. Aguardar -> Especifica se a macro deve fazer uma pausa até que os pressionamentos de tecla tenham sido processados. Clique em Sim (para fazer uma pausa) ou Não (para não fazer uma pausa). O padrão é Não.

O Microsoft Access processa os pressionamentos de teclas que recebe através da ação EnviarSeqüênciaDeCaracteres exatamente como se você os tivesse digitado diretamente em uma janela do Microsoft Access. Para especificar os pressionamentos de teclas, utilize a mesma sintaxe que a instrução SendKeys.

Observação: Poderá ocorrer um erro se o argumento Pressionamento de Teclas contiver sintaxe incorreta, texto incorretamente grafado ou outros valores que não forem apropriados para a janela para a qual os pressionamentos de tecla são enviados.

Você pode utilizar esta ação para inserir informações em uma caixa de diálogo, particularmente se você não quiser interromper a macro para responder manualmente à caixa de diálogo. Algumas ações do Microsoft Access, como Imprimir e LocalizarRegistro, selecionam automaticamente as opções de certas caixas de diálogo freqüentemente utilizadas. Você pode utilizar a ação EnviarSeqüênciaDeCaracteres para selecionar as opções em caixas de diálogo menos freqüentemente utilizadas.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 269 de 269

ATENÇÃO Para especificar caracteres que não são exibidos quando você pressiona uma tecla, como ENTER ou TAB, e teclas que representam ações em vez de caracteres, utilize os códigos a seguir.

Para especificar teclas combinadas com qualquer combinação das teclas SHIFT, CTRL e ALT, preceda o código de teclas de um ou mais dos códigos a seguir:

Tecla Código SHIFT + CTRL ^ ALT %

BACKSPACE {BACKSPACE}, {BS} ou {BKSP}

BREAK {BREAK} CAPS LOCK {CAPSLOCK} DEL ou DELETE {DELETE} ou {DEL} SETA ABAIXO {DOWN} END {END} ENTER {ENTER}ou ~ ESC {ESC} HELP {HELP} HOME {HOME} INS ou INSERT {INSERT} ou {INS} SETA À ESQUERDA {LEFT} NUM LOCK {NUMLOCK} PAGE DOWN {PGDN} PAGE UP {PGUP} PRINT SCREEN {PRTSC} SETA À DIREITA {RIGHT} SCROLL LOCK {SCROLLLOCK} TAB {TAB} SETA ACIMA {UP} F1 {F1} F2 {F2} F3 {F3} F4 {F4} F5 {F5} F6 {F6} F7 {F7} F8 {F8} F9 {F9} F10 {F10} F11 {F11} F12 {F12} F13 {F13} F14 {F14} F15 {F15} F16 {F16}

ExcluirObjeto Você pode utilizar a ação ExcluirObjeto para excluir um objeto de banco de dados especificado.

Você pode utilizar a ação ExcluirObjeto para excluir objetos temporários que você tenha criado durante a execução da macro. Por exemplo, você poderia utilizar a ação AbrirConsulta para executar uma consulta criar-tabela que crie uma tabela temporária. Ao terminar de usar a tabela temporária, você poderá utilizar a ação ExcluirObjeto para excluí-la. Esta ação tem o mesmo efeito que selecionar um objeto na janela Banco de Dados e, em seguida, pressionar a tecla DEL ou clicar em Excluir no menu Editar.

Tipo de Objeto -> O tipo de objeto a excluir. Clique em Tabela, Consulta, Formulário, Relatório, Macro ou Módulo na caixa Tipo de Objeto na seção Argumentos da Ação da janela Macro. Para excluir o objeto selecionado na janela Banco de Dados, deixe este argumento em branco. Nome do Objeto -> O nome do objeto a excluir. A caixa Nome do Objeto mostra todos os objetos do banco de dados que sejam do tipo selecionado pelo argumento Tipo de Objeto. Se você deixar o argumento Tipo de Objeto em branco, deixe esse argumento em branco também. Se você executar uma macro contendo a ação ExcluirObjeto em um banco de dados biblioteca, o Microsoft Access procurará o objeto com esse nome primeiro no banco de dados biblioteca, e então no banco de dados atual. Aviso : Se você deixar os argumentos Tipo de Objeto e Nome do Objeto em branco, o Microsoft Access excluirá o objeto selecionado na janela Banco de Dados sem exibir uma mensagem de aviso quando encontrar a ação ExcluirObjeto. Para selecionar um objeto na janela Banco de Dados, você pode utilizar a ação SelecionarObjeto com o argumento Na Janela Banco de Dados definido como Sim.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 270 de 270

ExecutarAplicativo Você pode utilizar a ação ExecutarAplicativo para executar um aplicativo baseado no Windows ou no MS-DOS, tal como o Microsoft Excel, Microsoft Word ou Microsoft PowerPoint, de dentro do Microsoft Access. Por exemplo, você pode querer colar dados de uma planilha Microsoft Excel no seu banco de dados do Microsoft Access.

Os aplicativos baseados no MS-DOS são executados numa janela MS-DOS dentro do ambiente Windows. No Windows 3.1, esta ação tem o mesmo efeito que um clique duplo no ícone de um programa do grupo de programas Windows ou que executar um programa a partir da caixa de diálogo Executar no Gerenciador de Programas do Windows. No Windows 95, existem várias maneiras de iniciar um aplicativo, incluindo iniciar o programa a partir do Windows Explorer, utilizar o comando Executar no menu Iniciar e dar um clique duplo no ícone de um programa na Área de Trabalho do Windows.

Linha de Comando : A linha de comando utilizada para iniciar o aplicativo (incluindo o caminho e qualquer outro tipo de parâmetro necessário, como chaves que executem o aplicativo em um determinado modo). Insira a linha de comando na caixa Linha de Comando na seção Argumentos da Ação da janela Macro. Este é um argumento requerido. O aplicativo selecionado com esta ação é carregado e executado em primeiro plano. A macro contendo esta ação continua a ser executada. Você pode transferir dados entre outros aplicativos e o Microsoft Access utilizando o recurso de intercâmbio dinâmico de dados (DDE, Dynamic Data Exchange) ou a Área de Transferência do Windows. Você pode utilizar a ação EnviarSeqüênciaDeCaracteres para enviar pressionamentos de teclas para o outro aplicativo (embora o DDE seja um método mais eficiente de transferência de dados). Você também pode compartilhar dados entre aplicativos utilizando a Automação.

ExecutarCódigo Você pode utilizar a ação ExecutarCódigo para chamar um procedimento Function do Visual Basic. Se você utilizar a ação ExecutarCódigo para chamar uma função, o Microsoft Access procurará pela função com o nome especificado pelo argumento Nome da Função nos módulos padrões do banco de dados. Entretanto, quando esta ação é executada em resposta à escolha de um comando de menu em um formulário ou relatório ou em resposta a um evento em um formulário ou relatório, o Microsoft Access procurará pela função primeiro no módulo classe do formulário ou dos relatórios e depois nos módulos padrões. O Microsoft Access não procurará os módulos classe que aparecem na guia Módulos da janela Banco de Dados da função especificada pelo argumento Nome da Função.

Nome da Função ->O nome do procedimento Function do Visual Basic a chamar. Coloque qualquer dos argumentos da função entre parênteses. Digite o nome da função na caixa Nome da Função na seção Argumentos da Ação da janela Macro. Este é um argumento requerido.

Os procedimentos Function definidos pelo usuário são armazenados nos módulos do Microsoft Access. Você precisa incluir parênteses, mesmo que o procedimento Function não utilize argumento algum, como no exemplo a seguir:

FunçãoDeTeste()

Ao contrário de nomes das funções definidas pelo usuário utilizadas para definições de propriedade de evento, o nome da função no argumento Nome da função não começa com um sinal de igualdade (=).

O Microsoft Access ignora o valor de retorno da função.

Dica: Para executar um procedimento Sub ou procedimento de evento escrito em Visual Basic, crie um procedimento Function que chame o procedimento Sub ou procedimento de evento. Utilize então a ação ExecutarCódigo para executar o procedimento Function.

ExecutarComando Você pode utilizar a ação ExecutarComando para executar um comando interno do Microsoft Access. O comando pode aparecer em uma barra de menu, barra de ferramentas ou menu de atalho do Microsoft Access.

Comando -> O nome do comando que você deseja executar. A caixa Comando mostra os comandos internos disponíveis no Microsoft Access, em ordem alfabética. Este é um argumento requerido. No Microsoft Access, a ação ExecutarComando substitui a ação ExecutarItemDoMenu. Quando você abre e salva uma macro de uma versão anterior do Microsoft Access

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 271 de 271

Observação: O menu Arquivo do Microsoft Access mostra os bancos de dados mais utilizados recentemente. Você pode clicar em um desses bancos de dados em vez de clicar em Abrir Banco de Dados. Esses itens de banco de dados não aparecem na caixa de listagem suspensa do argumento Comando e não estão disponíveis pela utilização da ação ExecutarComando em uma macro.

uma macro de uma versão anterior do Microsoft Access que contém uma ação ExecutarItemDoMenu, a ação e seus argumentos de ação serão automaticamente convertidos na ação ExecutarComando equivalente. A ação ExecutarItemDoMenu não aparece mais na lista de ações da janela Macro do Microsoft Access. Você pode utilizar a ação ExecutarComando para executar um comando do Microsoft Access a partir de uma barra de menu personalizada, barra de menu global, menu de atalho personalizado ou menu de atalho global. Entretanto, é normalmente mais fácil utilizar a caixa de diálogo Personalizar, disponível apontando-se para Barras de Ferramentas do menu Exibir e clicando-se em Personalizar, para adicionar comandos do Microsoft Access para menus personalizados e menus de atalho. A guia Comandos, na caixa de diálogo Personalizar, lista os comandos internos do Microsoft Access que aparecem nas barras de ferramentas e menus do Microsoft Access.

Você pode utilizar a ação ExecutarComando em uma macro com expressões condicionais para executar um comando, dependendo de determinadas condições.

ExecutarMacro Você pode utilizar a ação ExecutarMacro para executar uma macro. A macro pode estar em um grupo de macro. Você pode utilizar esta ação:

• Para executar uma macro de dentro de outra macro.

• Para executar uma macro com base em uma determinada condição.

• Para anexar uma macro a um comando de menu personalizado.

Dica : Você pode utilizar a ação ExecutarMacro em grupo de macro que defina comandos personalizados para uma barra de menu personalizada para executar uma macro a partir do menu personalizado. Contudo, é mais fácil utilizar a nova funcionalidade das barras de comando para executar uma macro a partir de uma barra de menu, barra de ferramentas ou menu de atalho. No menu Exibir, aponte para Barras de Ferramentas e clique em Personalizar para exibir a caixa de diálogo Personalizar. Na guia Barras de Ferramentas, selecione a barra de menu, barra de ferramentas ou menu de atalho a partir do qual você deseja executar a macro. Na guia Comandos, clique em Todas as Macros na caixa Categorias e, em seguida, na caixa Comandos,

Nome da Macro -> O nome da macro a executar. A caixa Nome da Macro na seção Argumentos da Ação da janela Macro mostra todas macros (e grupos de macro) do banco de dados atual. Se a macro estiver em um grupo de macro, ela estará listada sob o nome do grupo de macro como nomedogrupodemacro.nomedamacro. Este é um argumento requerido. Se você executar uma macro contendo a ação ExecutarMacro de um banco de dados biblioteca, o Microsoft Access procurará pela macro com esse nome no banco de dados biblioteca e não procurará por ela no banco de dados atual. Contagem de Repetição ->O número máximo de vezes que a macro será executada. Se você deixar este argumento vazio (e o argumento Expressão de Repetição também estiver em branco), a macro só será executada uma vez. Expressão de Repetição -> Uma expressão a ser avaliada como True (–1) ou False (0). A execução da macro é suspensa quando a expressão é avaliada como False. A expressão é avaliada cada vez que a macro é executada.

Se você inserir um nome de grupo de macro no argumento Nome da Macro, o Microsoft Access executará a primeira macro do grupo de macro.

Esta ação é semelhante a clicar em Macro no menu Ferramentas, que você pode utilizar para selecionar e executar uma macro especificada. Entretanto, o comando só executa a macro uma vez, enquanto a ação ExecutarMacro pode executar uma macro tantas vezes quantas você quiser.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 272 de 272

selecione e arraste a macro que você deseja executar até a barra de menu, barra de ferramentas ou menu de atalho. Quando você clicar no ícone desta macro na barra de menu, barra de ferramentas ou menu de atalho, o Microsoft Access executará a macro. Você também pode arrastar uma macro desde a janela Banco de Dados até uma barra de menu ou barra de ferramentas e o Microsoft Access criará um ícone que executará a macro.

Dica: Você pode utilizar os argumentos Contagem de Repetição e Expressão de Repetição para determinar quantas vezes uma macro é executada:

• Se você deixar ambos os argumentos em branco, a macro só será executada uma vez.

• Se você digitar um nome para Contagem de Repetição, mas deixar Repetir Expressão em branco, a macro será executada o número especificado de vezes.

• Se você deixar Contagem de Repetição em branco, mas digitar uma expressão para Repetir Expressão, a macro será executada até a expressão ser avaliada como False.

• Se você digitar valores para ambos os argumentos, a macro será executada o número de vezes especificado em Contagem de Repetição ou até a Expressão de Repetição ser avaliada como False, o que ocorrer primeiro.

Quando você executa uma macro contendo a ação ExecutarMacro, e ela chega à esta ação, o Microsoft Access executa a macro chamada. Quando a macro chamada tiver terminado, o Microsoft Access retornará à macro original e executará a próxima ação.

Observações

• Você pode chamar uma macro do mesmo grupo ou de outro.

• Você pode aninhar macros. Ou seja, você pode executar a macro A, que por sua vez chama a macro B, e assim por diante. Em cada caso, quando a macro chamada termina, o Microsoft Access volta para a macro que a chamou e executa a próxima ação dessa macro.

ExecutarSQL Você pode utilizar a ação ExecutarSQL para executar uma consulta ação do Microsoft Access utilizando a instrução SQL correspondente. Você pode também executar uma consulta de definição de dados. Você pode utilizar consultas ação para acrescentar, excluir e atualizar registros e para salvar o conjunto de resultados de uma consulta como uma nova tabela. Você pode utilizar consultas de definição de dados para criar, alterar e excluir tabelas, e para criar e excluir índices. Com a ação ExecutarSQL, você pode efetuar essas operações diretamente de uma macro, sem ter de utilizar consultas armazenadas.

Instrução SQL -> A instrução SQL da consulta ação ou de definição de dados que você deseja executar. O comprimento máximo desta instrução é de 256 caracteres. Este é um argumento requerido. Usar Transação -> Selecione Sim para incluir esta consulta em uma transação. Selecione Não se você não desejar utilizar uma transação. O padrão é Sim. As versões anteriores do Microsoft Access sempre incluíam a consulta em uma transação quando você executava esta ação. Se você selecionar Não para este argumento, a consulta poderá ser executada com maior rapidez.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 273 de 273

Fechar É possível utilizar a ação Fechar para fechar tanto uma janela do Microsoft Access especificada quanto a janela ativa se nenhuma for especificada.

Se o argumento Salvar for definido como Aviso e o objeto ainda não tiver sido salvo antes de a ação Fechar ser executada, uma caixa de diálogo solicitará que o usuário salve o objeto antes que a macro o feche. Se você tiver definido o argumento Avisos Ativos da ação DefinirAvisos como Não, a caixa de diálogo não será exibida e o objeto será salvo automaticamente

Tipo de Objeto -> O tipo do objeto cuja janela você deseja fechar. Clique em Tabela, Consulta, Formulário, Relatório, Macro ou Módulo na caixa Tipo de Objeto na seção Argumentos da Ação da janela Macro. Para selecionar a janela ativa, deixe esse argumento em branco.

Nome do Objeto -> O nome do objeto a ser fechado. A caixa Nome do Objeto mostra todos os objetos no banco de dados do tipo selecionado pelo argumento Tipo de Objeto. Clique no objeto a ser fechado. Se você deixar o argumento Tipo de Objeto em branco, deixe também esse argumento em branco. Salvar -> Determina se as alterações feitas no objeto serão salvas quando ele for fechado. Clique em Sim (salva o objeto), Não (fecha o objeto sem salvá-lo) ou Aviso (pergunta ao usuário se o objeto deve ou não ser salvo). O padrão é Aviso.

Imprimir É possível utilizar a ação Imprimir para imprimir o objeto ativo no banco de dados aberto. Você pode imprimir folhas de dados, relatórios, formulários e módulos.

Dica Caso tenha definições de impressão específicas que você utiliza com freqüência, crie uma macro contendo a ação Imprimir com essas definições em seus argumentos.

Os argumentos para essa ação correspondem às opções na caixa de diálogo Imprimir. Entretanto, diferentemente da ação LocalizarRegistro e da caixa de diálogo Localizar no Campo, as definições do argumento não são compartilhadas com as opções da caixa de diálogo Imprimir.

Intervalo de Impressão -> O intervalo para imprimir. Clique em Tudo (o usuário pode imprimir o objeto inteiro), Seleção (o usuário pode imprimir a parte do objeto que está selecionada) ou Páginas (o usuário pode especificar um intervalo de páginas nos argumentos Da Página e À Página) na caixa Intervalo de Impressão na seção Argumentos da Ação da janela Macro. O padrão é Tudo. Da Página -> A primeira página a ser impressa. A impressão inicia no topo dessa página. Esse argumento será requerido se você selecionar Páginas na caixa Intervalo de Impressão. À Página -> A última página a ser impressa. A impressão é interrompida na parte inferior dessa página. Esse argumento será requerido se você selecionar Páginas na caixa Intervalo de Impressão. Qualidade de Impressão -> A qualidade da impressão. Clique em Alta, Média, Baixa ou Rascunho. Quanto mais baixa a qualidade, mais rápida a impressão do objeto. O padrão é Alta. Cópias O número de cópias a serem impressas. O padrão é 1. Agrupar Cópias -> Clique em Sim (agrupa as cópias impressas) ou Não (não agrupa as cópias). A impressão do objeto pode ser mais rápida se esse argumento for definido como Não. O padrão é Sim.

IrParaControle É possível utilizar a ação IrParaControle para mover o foco para o campo ou controle especificado no registro atual do formulário aberto, na folha de dados do formulário, na folha de dados da tabela ou na folha de dados da consulta. Você pode utilizar essa ação quando desejar que um determinado campo ou controle tenha o foco. Esse campo ou controle pode, então, ser utilizado para comparações ou ações LocalizarRegistro. Você pode também utilizar essa ação para navegar em um

Nome do Controle ->O nome do campo ou controle onde você deseja colocar o foco. Digite o nome do campo ou controle na caixa Nome do Controle na seção Argumentos da Ação da janela Macro. Esse é um argumento requerido. Observação: Digite somente o nome do campo ou controle no argumento Nome do Controle, e não o identificador totalmente qualificado, como Forms!Products![Product ID].

Não é possível utilizar a ação IrParaControle para mover o foco para um controle em um formulário oculto.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 274 de 274

formulário de acordo com certas condições. Por exemplo, se o usuário digitar Não em um controle Casado em um formulário de seguro saúde, o foco pode automaticamente pular o controle Nome do Cônjuge e mover para o controle seguinte.

Dica Você pode utilizar a ação IrParaControle para mover para um subformulário, que é um tipo de controle. Você poderá, então, utilizar a ação IrParaRegistro para mover para um determinado registro no subformulário. Você pode também mover para um controle em um subformulário utilizando a ação IrParaControle para mover primeiro para o subformulário e, depois, para o controle no subformulário.

IrParaPágina É possível utilizar a ação IrParaPágina para mover o foco no formulário ativo para o primeiro controle em uma página especificada. Você poderá utilizar essa ação se tiver criado um formulário com quebras de página que contenha grupos de informações relacionadas. Por exemplo, você pode ter um formulário Funcionários com informações pessoais em uma página, informações comerciais em outra página e informações sobre vendas em uma terceira página. É possível utilizar a ação IrParaPágina para mover para a página desejada. Também é possível apresentar várias páginas de informações em um único formulário utilizando controles guia.

Número da Página -> O número da página para a qual você deseja mover o foco. Digite o número da página na caixa Número da Página na seção Argumentos da Ação da janela Macro. Caso deixe esse argumento em branco, o foco permanecerá na página atual. É possível utilizar os argumentos Direita e Abaixo para exibir a parte da página que você deseja examinar. Direita -> A posição horizontal daquele ponto na página, medido a partir da borda esquerda da janela que a contém, a qual deve aparecer na borda esquerda da janela. Isso é exigido se você especificar um argumento Abaixo. Abaixo -> A posição vertical daquele ponto na página, medido a partir da borda superior da janela que a contém, a qual deve aparecer na borda superior da janela. Isso é exigido se você especificar um argumento Direita.

Observação : Os argumentos Direita e Abaixo são medidos em polegadas ou centímetros, dependendo das unidades definidas para Sistema de Medidas na guia Número da caixa de diálogo Propriedades de Configurações Regionais no Painel de Controle do Windows.

IrParaRegistro É possível utilizar a ação IrParaRegistro para tornar o registro especificado o registro atual em uma tabela, formulário ou conjunto de resultados de consulta abertos.

Se o foco estiver em um determinado controle de um registro, essa ação o deixará no mesmo controle para o novo registro. É possível utilizar a definição Novo para o argumento Registro para mover para o registro em branco na parte final de um formulário ou tabela para que você possa inserir novos dados. Essa ação é semelhante a clicar em Ir Para no menu Editar. Os subcomandos Primeiro, Último, Próximo, Anterior e Novo Registro do comando Ir Para têm o mesmo efeito que as definições Primeiro, Último, Próximo, Anterior e Novo para o argumento Registro sobre o objeto selecionado. Também é possível mover para registros utilizando os

Tipo de Objeto -> O tipo do objeto contendo o registro que você deseja tornar o registro atual. Clique em Tabela, Consulta ou Formulário na caixa Tipo de Objeto na seção Argumentos da Ação da janela Macro. Deixe esse argumento em branco para selecionar o objeto ativo. Nome do Objeto -> O nome do objeto contendo o registro que você deseja tornar o registro atual. A caixa Nome do Objeto mostra todos os objetos no banco de dados atual do tipo selecionado pelo argumento Tipo de Objeto. Se você deixar em branco o argumento Tipo de Objeto, deixe também esse argumento em branco.

Registro -> O registro a ser tornado registro atual. Clique em Anterior, Próximo, Primeiro, Último, Ir Para ou Novo na caixa Registro. O padrão é Próximo. Deslocamento -> Um inteiro ou expressão que é avaliada como um inteiro. Uma expressão deve ser precedida por um sinal de igual (=). Esse argumento especifica o registro a ser tornado registro atual. Você pode utilizar o argumento Deslocamento de duas maneiras :

• Quando o argumento Registro é Próximo ou Anterior, o Microsoft Access move para adiante ou

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 275 de 275

botões de navegação na parte inferior da janela.

Você pode utilizar a ação IrParaRegistro para fazer de um registro contido em um formulário oculto o registro atual caso especifique o formulário oculto nos argumentos Tipo de Objeto e Nome do Objeto.

para trás o número de registros especificado no argumento Deslocamento.

• Quando o argumento Registro é Ir Para, o Microsoft Access move para o registro com o número igual ao argumento Deslocamento. O número do registro é mostrado na caixa número do registro na parte inferior da janela.

Observação: Se você utilizar a definição Primeiro, Último ou Novo para o argumento Registro, o Microsoft Access irá ignorar o argumento Deslocamento. Se você inserir um argumento Deslocamento muito grande, o Microsoft Access exibirá uma mensagem de erro. Não é possível informar números negativos para o argumento Deslocamento.

Maximizar É possível utilizar a ação Maximizar para aumentar a janela ativa de maneira que ela preencha a janela do Microsoft Access. Essa ação permitirá que você veja tanto quanto possível do objeto na janela ativa.

Não Possui Argumentos

Essa ação tem o mesmo efeito de clicar no botão Maximizar no canto superior direito da janela ou clicar em Maximizar no menu Controle. É possível utilizar a ação Restaurar para restaurar uma janela maximizada ao seu tamanho anterior.

Talvez você precise utilizar a ação SelecionarObjeto se a janela que você deseja maximizar não for a janela ativa.

Ao maximizar uma janela no Microsoft Access, todas as outras janelas também são maximizadas quando você as abre ou alterna para elas.

Minimizar É possível utilizar a ação Minimizar para reduzir a janela ativa a uma barra de título pequena na parte inferior da janela do Microsoft Access.

Não Possui Argumentos

É possível utilizar essa ação para remover uma janela da tela deixando o objeto aberto. Você pode também utilizar essa ação para abrir um objeto sem exibir sua janela. Para exibir o objeto, utilize a ação SelecionarObjeto tanto com a ação Maximizar como com a ação Restaurar. A ação Restaurar restaura uma janela minimizada ao seu tamanho anterior. A ação Minimizar tem o mesmo efeito de clicar no botão Minimizar no canto superior direito da janela ou de clicar em Minimizar no menu Controle.

Talvez você precise primeiro utilizar a ação SelecionarObjeto se a janela que deseja minimizar não for a janela ativa. Para minimizar a janela Banco de Dados, utilize a ação SelecionarObjeto com o argumento Na Janela Banco de Dados definido como Sim e, em seguida, utilize a ação Minimizar. É possível utilizar o comando Ocultar, no menu Janela, para ocultar a janela ativa. Ao invés de ser reduzida a um ícone, a janela se torna invisível. O comando Reexibir, no menu Janela, fará a janela reaparecer. Você pode utilizar a ação ExecutarComando para executar qualquer um desses comandos a partir de uma macro.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 276 de 276

Você pode também utilizar a ação DefinirValor para definir a propriedade Visível de um formulário para ocultar ou exibir a janela do formulário.

MostrarBarraDeFerramentas

Você pode utilizar a ação MostrarBarraDeFerramentas para exibir ou ocultar uma barra de ferramentas interna ou personalizada. Você pode exibir uma barra de ferramentas interna em todas as janelas do Microsoft Access ou somente no modo no qual a barra de ferramentas é normalmente exibida (por exemplo, a barra de ferramentas Modo Formulário no modo Formulário).

Observação: A ação MostrarBarraDeFerramentas afeta somente as barras de ferramentas, não as barras de menu ou os menus de atalho. Se desejar exibir uma determinada barra de ferramentas em apenas um formulário ou relatório, você poderá definir a propriedade Ao Ativar do formulário ou relatório como o nome de uma macro que contenha uma ação MostrarBarraDeFerramentas para exibir a barra de ferramentas. Defina então a propriedade Ao Desativar do formulário ou relatório com o nome de uma macro que contenha uma ação MostrarBarraDeFerramentas para ocultá-la.

A ação MostrarBarraDeFerramentas tem o mesmo efeito que apontar para Barras de Ferramentas no menu Exibir, clicar em Personalizar e, então, selecionar ou limpar uma barra de ferramentas específica na guia Barras de Ferramentas da caixa de diálogo Personalizar. A ação MostrarBarraDeFerramentas permite que você especifique se uma barra de ferramentas interna será exibida em todas as janelas do Microsoft Access ou apenas no modo no qual ela é normalmente exibida.

Nome da Barra de Ferramentas -> O nome da barra de ferramentas que você deseja exibir ou ocultar. A caixa Nome da Barra de Ferramentas na seção Argumentos da Ação da janela Macro mostra todas as barras de ferramentas internas do Microsoft Access, seguidas por quaisquer barras de ferramentas personalizadas que você tenha definido no banco de dados atual. Este é um argumento requerido. Se a caixa de seleção Permitir Barras de Ferramentas Internas da caixa de diálogo Inicializar (disponível clicando-se em Inicializar no menu Ferramentas) estiver desmarcada, você só poderá utilizar esta ação para exibir e ocultar barras de ferramentas personalizadas. Se você executar uma macro contendo a ação MostrarBarraDeFerramentas em um banco de dados biblioteca, o Microsoft Access procurará primeiro a barra de ferramentas com esse nome no banco de dados biblioteca, e em seguida, no banco de dados atual. Mostrar -> Especifica se a barra de ferramentas será exibida ou ocultada e em quais modos. O padrão é Não (ocultar a barra de ferramentas). Para barras de ferramentas internas, você pode selecionar Sim para exibir a barra de ferramentas em todas janelas do Microsoft Access que ficarem ativas, Quando Adequado para exibir a barra de ferramentas apenas no modo no qual ela é normalmente exibida (como o Microsoft Access faz por padrão), ou Não para ocultar a barra de ferramentas em todas as janelas do Microsoft Access. Para barras de ferramentas personalizadas, você pode selecionar Sim ou Quando Adequado para exibir a barra de ferramentas personalizada em todas as janelas do Microsoft Access que ficarem ativas ou Não para ocultar a barra de ferramentas em todas as janelas do Microsoft Access.

MostrarTodos Registros

Você pode utilizar a ação MostrarTodosRegistros para remover qualquer filtro aplicado da tabela, do conjunto de resultados da consulta ou do formulário ativos e exibir todos os registros da

tabela ou conjunto de registros ou todos os registros na tabela base ou consulta base do formulário.

Não Possui Argumentos

Você pode utilizar esta ação para assegurar que todos os registros (incluindo qualquer registro alterado ou novo) sejam exibidos para uma tabela, um conjunto de resultados de consulta ou formulário. Esta ação causa uma reconsulta dos registros de um formulário ou subformulário. Você também pode utilizar esta ação para remover qualquer filtro que tenha sido aplicado com a ação AplicarFiltro, com o comando Aplicar Filtro/Classificação no menu Registros, ou com o argumento Nome do Filtro ou Condição Onde da ação AbrirFormulário.

MoverDimensionar É possível utilizar a ação MoverDimensionar para mover ou

Direita -> A nova posição horizontal do canto superior esquerdo da janela, medido a partir da borda esquerda da

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 277 de 277

redimensionar a janela ativa.

Essa ação é semelhante a clicar em Mover ou Dimensionar no menu Controle da janela. Com os comandos de menu, você utiliza as teclas de direção do teclado para mover ou redimensionar a janela. Utilizando a ação MoverDimensionar, você insere diretamente a posição e as medidas de dimensionamento. Você pode também utilizar o mouse para mover e dimensionar janelas. É possível utilizar essa ação em qualquer janela e em qualquer modo. Para mover uma janela sem redimensioná-la, insira valores para os argumentos Direita e Abaixo, mas deixe em branco os argumentos Largura e Altura. Para redimensionar uma janela sem movê-la, insira valores para os argumentos Largura e Altura, mas deixe em branco os argumentos Direita e Abaixo.

janela que a contém. Digite a posição na caixa Direita, na seção Argumentos da Ação da janela Macro. Abaixo -> A nova posição vertical do canto superior esquerdo da janela, medido a partir da borda superior da janela que a contém. Largura -> A nova largura da janela. Altura -> A nova altura da janela.

Se você deixar um argumento em branco, o Microsoft Access utilizará a definição atual da janela. É necessário inserir um valor para pelo menos um argumento.

Observação: Cada medida está em polegadas ou centímetros, dependendo da definição das unidades em Sistema de Medidas na guia Número da caixa de diálogo Propriedades de Configurações Regionais no Painel de Controle do Windows.

PararMacro Você pode utilizar a ação PararMacro para parar a macro atualmente em execução.

Não Possui Argumentos Tipicamente, você utiliza esta ação quando uma condição torna necessário parar a macro. Você pode utilizar uma expressão condicional na linha de ação da macro que contém essa ação. Quando a expressão é avaliada como True (–1), o Microsoft Access pára a macro. Por exemplo, você poderia criar uma macro que abrisse um formulário mostrando os totais de pedidos diários da data inserida em uma caixa de diálogo personalizada. Você poderia utilizar uma expressão condicional para se certificar de que o controle Data do Pedido da caixa de diálogo contém uma data válida. Se não contiver, a ação CaixaDeMensagem poderia exibir uma mensagem de erro e a ação PararMacro poderia parar a macro. Se a macro tiver utilizado as ações Eco ou DefinirAvisos para desativar o eco ou a exibição de mensagens do sistema, a ação PararMacro as reativará automaticamente

PararTodas Macros

Você pode utilizar a ação PararTodasMacros para parar todas as macros atualmente em execução.

Não Possui Argumentos Tipicamente, você utiliza esta ação quando uma condição de erro torna necessário parar todas as macros. Você pode utilizar uma expressão condicional na linha de ação da macro que contenha essa ação.

Quando a expressão for avaliada como True (–1), o Microsoft Access irá parar todas as macros. Por exemplo, você pode ter uma macro que exiba uma caixa de mensagem como uma dentre várias ações complexas, incluindo a execução de outras macros. Se o usuário clicar em Cancelar nessa caixa de mensagem, a ação PararTodasMacros pode parar todas as macros que estejam em execução.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 278 de 278

Se uma macro tiver utilizado as ações Eco ou DefinirAvisos para desativar o eco ou a exibição das mensagens do sistema, a ação PararTodasMacros as reativará automaticamente.

Redesenhar Objeto

Você pode utilizar a ação RedesenharObjeto para completar qualquer tipo de atualizações de tela pendentes para um objeto de banco de dados especificado ou o objeto de banco de dados ativo, se nenhum tiver sido especificado. Tais atualizações incluem qualquer um dos recálculos pendentes para os controles do objeto.

Esta ação não causa uma reconsulta do banco de dados, portanto ela não mostra registros novos e alterados, nem remove registros excluídos da tabela ou consulta base do objeto. Utilize a ação RepetirConsulta para reconsultar a origem do objeto de um de seus controle Utilize a ação MostrarTodosRegistros para exibir os registros mais recentes e remover qualquer tipo de filtros aplicados. A ação RedesenharObjeto não tem o mesmo efeito que escolher o comando Atualizar a partir do menu Registros, que mostra qualquer alteração que você ou outros usuários tenham feito nos registros atualmente exibidos em formulários e folhas de dados.

Tipo de Objeto -> O tipo de objeto a redesenhar. Clique em Tabela, Consulta, Formulário, Relatório, Macro ou Módulo na caixa Tipo de Objeto na seção Argumentos da Ação da janela Macro. Deixe este argumento em branco para selecionar o objeto ativo. Nome do Objeto -> O nome do objeto a redesenhar. A caixa Nome do Objeto mostra todos os objetos do banco de dados do tipo selecionado pelo argumento Tipo de Objeto. Se você deixar o argumento Tipo de Objeto em branco, deixe este argumento em branco também.

O Microsoft Access espera para completar as atualizações de tela pendentes até terminar outras tarefas pendentes. Com essa ação, você pode forçar o redesenho imediato dos controles no objeto especificado. Você pode utilizar esta ação:

• Quando você utiliza a ação DefinirValor para alterar valores em vários controles. O Microsoft Access pode não mostrar as alterações imediatamente, especialmente se outros controles (como controles calculados) dependerem dos valores dos controles alterados.

• Quando você quiser se certificar de que o formulário sendo visualizado exibe dados em todos os seus controle. Por exemplo, controles contendo objetos OLE não exibem seus dados imediatamente após você abrir um formulário.

Renomear Você pode utilizar a ação Renomear para renomear um objeto de banco de dados especificado.

Você também pode renomear um objeto clicando nele na janela Banco de Dados, clicando nele novamente para poder editar o nome dele, e digitando um novo nome. Com a ação Renomear, você não precisa primeiro selecionar um objeto na janela Banco de dados nem interromper a macro para digitar o novo nome. Esta ação difere da ação CopiarObjeto, que cria uma cópia do objeto sob um novo nome.

Novo Nome -> Um novo nome para o objeto de banco de dados. Digite o nome do objeto na caixa Novo Nome da seção Argumentos da Ação da janela Macro. Este é um argumento requerido. Tipo de Objeto -> O tipo de objeto que você deseja renomear. Clique em Tabela, Consulta, Formulário, Relatório, Macro ou Módulo. Para renomear o objeto selecionado na janela Banco de dados, deixe este argumento em branco. Nome Antigo -> O nome do objeto a ser renomeado. A caixa Nome Antigo mostra todos os objetos do banco de dados do tipo selecionado pelo argumento Tipo de Objeto. Se você deixar o argumento Tipo de Objeto em branco, deixe este argumento em branco também. Observação Se você executar uma macro contendo a ação Renomear em um banco de dados biblioteca, o Microsoft Access procurará pelo objeto com esse nome primeiro no banco de dados biblioteca, e depois do banco de dados atual.

O novo nome do objeto de banco de dados precisa seguir

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 279 de 279

as convenções de denominação padrões para objetos do Microsoft Access. Você não pode renomear um objeto aberto. Se você deixar vazios os argumentos Tipo de Objeto e Nome Antigo, o Microsoft Access renomeará o objeto selecionado na janela Banco de dados. Para selecionar um objeto na janela Banco de dados, você pode utilizar a ação SelecionarObjeto com o argumento Na Janela Banco de Dados definido como Sim.

RepetirConsulta Você pode utilizar a ação RepetirConsulta para atualizar os dados em um controle especificado no objeto ativo reconsultando a origem do controle. Se nenhum controle for especificado, essa ação reconsultará a origem do próprio objeto. Utilize esta ação para garantir que o objeto ativo ou um de seus controles exiba os dados mais atuais. Se o controle especificado não estiver baseado em uma consulta ou tabela, esta ação força um recálculo do controle. Se você deixar o argumento Nome do Controle em branco, a ação RepetirConsulta terá o mesmo efeito que pressionar SHIFT+F9 quando o objeto tiver o foco. Se um controle subformulário tiver o foco, essa ação reconsultará somente a origem do subformulário (como faz o pressionamento de SHIFT+F9).

Nome do Controle ->O nome do controle que você deseja atualizar. Digite o nome do controle na caixa Nome do Controle na seção Argumentos da Ação da janela Macro. Você deve utilizar somente o nome do controle e não o identificador completamente qualificado (como Formulários!nomedoformulário!nomedocontrole). Deixe argumento em branco para reconsultar a origem do objeto ativo. Se o objeto ativo for uma folha de dados ou o conjunto de resultados de uma consulta, você precisa deixar este argumento em branco. Comentários

A ação RepetirConsulta faz uma das coisas a seguir:

• Reexecuta a consulta na qual o controle ou objeto se baseia.

• Exibe qualquer um dos registros novos ou alterados e remove qualquer registro excluído da tabela na qual o controle ou objeto se baseia.

Os controles baseados em uma consulta ou tabela incluem:

• Caixas de listagem e caixas de combinação. • Controles de subformulário. • Objetos OLE, como gráficos. • Controles contendo funções agregadas de domínio,

como DSoma. Restaurar Você pode utilizar a ação Restaurar para

restaurar uma janela maximizada ou minimizada a seu tamanho anterior.

Não Possui Argumentos

Esta ação atua sob o objeto selecionado. Se um objeto tiver sido minimizado, você pode primeiro selecioná-lo usando a ação SelecionarObjeto e, em seguida, restaurá-lo a seu tamanho anterior utilizando a ação Restaurar. Você pode utilizar a ação MoverDimensionar para mover ou dimensionar uma janela que você tenha restaurado. A ação Restaurar tem o mesmo efeito que clicar no botão Restaurar no canto superior direito da janela ou clicar no comando Restaurar no menu Controle da janela.

SaídaPara Você pode utilizar a ação SaídaPara para dar saída aos dados do objeto do banco de dados do Microsoft Access especificado (uma folha de dados, formulário, relatório ou módulo) para um arquivo em formato do

Tipo de Objeto -> O tipo de objeto contendo os dados a dar saída. Clique em Tabela (para uma folha de dados de tabela), Consulta (para uma folha de dados de consulta), Formulário (para um formulário ou folha de dados de formulário), Relatório ou Módulo na caixa Tipo de Objeto na seção Argumentos da

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 280 de 280

Continuação da Ação SaídaPara

Microsoft Excel 97 (*.xls), texto do MS-DOS (*.txt) ou rich-text (*.rtf). Você também pode dar saída a um arquivo no formato HTML (*.html), a arquivos no formato Microsoft Internet Information Server (*.htx, *.idc) ou no formato Microsoft Active Server Pages (*.asp). Os arquivos no formato Microsoft Internet Information Server também podem ser utilizados com o Microsoft Personal Web Server.

Ação da janela Macro. Você não pode dar saída a uma macro. Se você desejar dar saída ao objeto ativo, selecione seu tipo com este argumento, mas deixe o argumento Nome do Objeto em branco. Este é um argumento requerido. O padrão é Tabela. Nome do Objeto -> O nome do objeto contendo os dados a dar saída. A caixa Nome do Objeto mostra todos os objetos de banco de dados do tipo selecionado pelo argumento Tipo de Objeto. Se você executar uma macro contendo a ação SaídaPara em um banco de dados biblioteca, o Microsoft Access procurará pelo objeto com esse nome, primeiro no banco de dados biblioteca, depois no banco de dados atual. Formato de Saída -> O tipo de formato a ser utilizado para dar saída aos dados. Você pode clicar em HTML (*.html), Microsoft Active Server Pages (*.asp), Microsoft Excel (*.xls), Microsoft IIS (*.htx, *.idc), Texto do MS-DOS (*.txt) ou Formato Rich Text (*.rtf) na caixa. Os módulos só podem sair em formato de texto do MS-DOS. Os formatos Microsoft Internet Information Server e Microsoft Active Server Page estão disponíveis somente para tabelas, consultas e formulários. Se você deixar este argumento em branco, o Microsoft Access pedirá a você o formato de saída. Arquivo de Saída -> O arquivo para o qual você deseja dar saída aos dados, incluindo o caminho completo. Pode-se incluir a extensão padrão de nome de arquivo (.asp, .htm ou .html, .htx, .xls, .txt ou .rtf) para o formato de saída que você seleciona com o argumento Formato de Saída, mas ela não é requerida. Se você der saída para os arquivos do Microsoft Internet Information Server ou Microsoft Active Server Pages, o Microsoft Access sempre criará arquivos com as extensões padrão de nome de arquivo .htx e .idc ou .asp. Se deixar o argumento Arquivo de Saída em branco, o Microsoft Access pedirá a você um nome de arquivo de saída. AutoIniciar -> Especifica se você deseja que o aplicativo apropriado seja iniciado imediatamente após a execução da ação SaídaPara, com o arquivo especificado pelo argumento Arquivo de Saída já aberto. Se selecionar Sim, um dos aplicativos a seguir será iniciado com o arquivo de saída do objeto do Microsoft Access já aberto: Microsoft Excel (para arquivos .xls), Bloco de Notas do Microsoft Windows (para arquivos .txt) ou Microsoft Word (para arquivos .rtf). Para arquivos .html, o seu navegador padrão para Internet (como o Microsoft Internet Explorer) é iniciado. Este argumento será ignorado para arquivos do Microsoft Internet Information Server e Microsoft Active Server Pages. Se você selecionar Não, o aplicativo não será iniciado. O padrão é Não. Arquivo Modelo O caminho de um arquivo e o nome que você deseja utilizar como modelo para um arquivo .html, .htx ou .asp. O arquivo modelo é um arquivo contendo marcas HTML.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 281 de 281

Alguns Comentários sobre a Ação SaídaPara:

Os dados do Microsoft Access saem no formato selecionado e podem ser lidos por qualquer aplicativo que utilize o mesmo formato. Por exemplo, você pode dar saída a um relatório do Microsoft Access e sua formatação para um documento em formato rich-text e, em seguida, abrir o documento no Microsoft Word. Se você der saída ao objeto do banco de dados para o formato HTML, o Microsoft Access criará um arquivo no formato HTML contendo os dados do objeto. Você pode utilizar o argumento Arquivo Modelo para especificar um arquivo a ser utilizado como modelo para o arquivo .html.

Se você der saída ao objeto para o formato Microsoft Internet Information Server, o Microsoft Access criará dois arquivos:

• Um arquivo .idc, que contém informações sobre como conectar-se a uma fonte de dados ODBC, e uma instrução SQL para ser executada contra esta fonte de dados. Neste caso, o objeto do Microsoft Access ao qual você está dando saída conterá os dados definidos pela instrução SQL e o banco de dados atual do Microsoft Access será a fonte de dados ODBC.

• Um arquivo .htx, que especifica como formatar dados retornados da instrução SQL especificados no arquivo .idc como um documento HTML. Você pode utilizar o argumento Arquivo Modelo para especificar um arquivo .html a ser utilizado como modelo.

O Microsoft Internet Information Server utiliza os arquivos .htx e .idc para criar um arquivo .html com os dados do objeto do Microsoft Access ao qual você dá saída.

Se você der saída ao objeto do banco de dados para o formato Microsoft Active Server Page, o Microsoft Access criará um arquivo no formato .asp que conterá informações sobre como acessar e formatar os dados do objeto. O Microsoft Internet Information Server utiliza o arquivo .asp para criar um arquivo .html com os dados do objeto do Microsoft Access ao qual você dá saída. Você pode utilizar o argumento Arquivo Modelo para especificar um arquivo .html a ser utilizado como modelo para o arquivo .asp. As regras a seguir aplicam-se quando você utiliza a ação SaídaPara a fim de dar saída a um objeto do banco de dados para qualquer um dos formatos de saída, exceto Microsoft Active Server Pages (algumas destas regras também se aplicam ao formato do Microsoft Active Server Page):

• Você pode dar saída aos dados da folha de dados de tabela, consulta e formulário. No arquivo de saída, todos os campos da folha de dados mantêm o aspecto que tinham no Microsoft Access, exceto os campos contendo objetos OLE. As colunas desses campos são incluídas no arquivo de saída, mas os campos ficam em branco.

• Para um controle acoplado a um campo Sim/Não (um botão alternar, botão de opção ou caixa de seleção), o arquivo de saída exibe o valor –1 (Sim) ou 0 (Não).

• Para uma caixa de texto acoplada a um campo Hyperlink, o arquivo de saída exibe o hyperlink para todos os formatos de saída, exceto texto do MS-DOS (neste caso, o hyperlink é exibido apenas como texto normal).

• Se você der saída aos dados de um formulário no modo Formulário, o arquivo de saída sempre conterá o modo Folha de Dados do formulário. • Se você der saída aos dados de um relatório, os únicos controles incluídos no arquivo de saída serão caixas de texto (para arquivos de saída .xls), ou

caixas de texto e rótulos (para arquivos de saída .rtf, .txt e .html). Todos os outros controles serão ignorados. As informações de cabeçalho e rodapé não são incluídas no arquivo de saída. A única exceção é que, ao dar saída aos dados de um relatório para um arquivo do Microsoft Excel, uma caixa de texto em um rodapé de grupo contendo a expressão com a função Soma será incluída no arquivo de saída. Nenhum outro controle em um cabeçalho ou rodapé (e nenhuma outra função agregada além de Soma) será incluído no arquivo de saída.

• Os sub-relatórios são incluídos no arquivo de saída, mas os subformulários não. • Quando você dá saída a uma folha de dados ou formulário no formato HTML, um único arquivo .html é criado. Quando você dá saída a um relatório

no formato HTML, um único arquivo .html é criado para cada página do relatório. Para obter maiores informações sobre regras e restrições durante saída para arquivos .html, consulte Exportar uma folha de dados para um formato HTML estático e Exportar um relatório para um formato HTML estático. Para obter maiores informações sobre regras e restrições durante saída para arquivos do Microsoft Internet Information Server, consulte Exportar uma folha de dados para um formato HTML dinâmico e Exportar um formulário para um formato HTML dinâmico. Para obter maiores informações sobre regras e restrições durante saída para arquivos do Microsoft Active Server Pages, consulte Exportar uma folha de dados para um formato HTML dinâmico, Exportar um formulário para um formato HTML dinâmico e Controles de formulário suportados e não suportados para um formato ASP dinâmico. Dica Se você der saída aos dados de um relatório para um arquivo de saída, e se as colunas e linhas do arquivo de saída não estiverem alinhadas como no relatório, as seguintes dicas poderão ser úteis: • Você pode apontar para Dimensionar no menu Formatar e clicar em Para Caber para dimensionar os controles. • Você deve evitar sobrepor os controles ou colocar os controles muito próximos entre si. • Você pode apontar para Alinhar no menu Formatar e em seguida clicar no comando apropriado para alinhar os controles no relatório. Os controles

que não estiverem alinhados na mesma linha poderão ser colocados em linhas diferentes do arquivo de saída, causando espaçamento adicional. A ação SaídaPara é semelhante a clicar em Salvar Como/Exportar no menu Arquivo, selecionando a opção Para um Arquivo ou Banco de Dados Externo e selecionando a caixa de seleção Salvar com Formatação na caixa de diálogo que é exibida. Os argumentos da ação correspondem às definições nas caixas de diálogo Salvar Como/Exportar. O comando Salvar Como/Exportar, contudo, aplica-se somente ao objeto selecionado na janela Banco de Dados. Utilizando a ação SaídaPara, você pode especificar o objeto ao qual se deseja dar saída. Observação Você pode dar saída aos dados selecionados com o comando Salvar Como/Exportar. Entretanto, essa funcionalidade não está disponível com a ação SaídaPara. Você também pode apontar para VínculosDoOffice no menu Ferramentas, depois clicar em Analisar com o MS Excel ou Publicar com o MS Word para dar saída a um objeto do banco de dados, e abrir o arquivo de saída imediatamente no Microsoft Excel ou no Microsoft Word. Você também pode clicar em Salvar Como HTML no menu Arquivo, que executa o Assistente de Criação para a Web, o qual você pode utilizar para dar saída a um objeto do banco de dados para arquivos .html,.htx/.idc ou .asp.

Sair Você pode utilizar a ação Sair para sair do Microsoft Access. A ação Sair pode

Opções -> Especifica o que acontece com objetos não salvos quando você sai do Microsoft Access. Clique em

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 282 de 282

também especificar uma dentre várias opções para salvar objetos de banco de dados antes de sair do Microsoft Access.

Esta ação tem o mesmo efeito que clicar em Sair a partir do menu Arquivo. Se você tiver algum objeto não salvo quando clicar neste comando, as caixas de diálogo que aparecerão serão as mesmas exibidas quando você utiliza Aviso para o argumento Opções da ação Sair. Você pode utilizar a ação Salvar em uma macro para salvar um objeto especificado sem ter de sair do Microsoft Access ou fechar o objeto.

Aviso (para exibir caixas e diálogos que perguntam se deve salvar cada objeto), Salvar Tudo (para salvar todos os objetos sem avisos de caixas de diálogo) ou Sair (para sair sem salvar os objetos) da caixa Opções da seção Argumentos da Ação da janela Macro. O padrão é Salvar Tudo.

O Microsoft Access não executa nenhuma ação após a ação Sair em uma macro. Você pode utilizar esta ação para sair do Microsoft Access sem avisos de caixas de diálogo Salvar utilizando um comando de menu personalizado ou um botão em um formulário. Por exemplo, você pode ter um formulário mestre utilizado para exibir os objetos do seu espaço de trabalho personalizado. Esse formulário pode ter um botão Sair que execute uma macro contendo a ação Sair com o argumento Opções definido como Salvar Tudo.

Salvar Você pode utilizar a ação Salvar para salvar um objeto do Microsoft Access especificado ou o objeto ativo se nenhum for especificado. Você também pode salvar o objeto ativo com um novo nome em alguns casos (funciona como o comando Salvar como/Exportar do menu Arquivo).

Observação: Você não pode utilizar a ação Salvar para salvar qualquer um dos seguintes itens com um novo nome:

• Um formulário no modo Formulário ou modo Folha de Dados.

• Um relatório em Visualizar Impressão.

• Um módulo.

A ação Salvar, seja ela realizada em uma macro executada no banco de dados atual ou em um banco de dados biblioteca, sempre grava o objeto especificado ou o objeto ativo no banco de dados no qual o objeto foi criado.

Se você salvar o objeto ativo com um novo nome, mas o nome for igual ao de um objeto existente desse tipo, uma caixa de diálogo perguntará se você deseja sobrescrever o objeto existente. Se você definiu o argumento Avisos Ativos da ação DefinirAvisos como Não, a caixa de diálogo não será exibida e o objeto antigo será automaticamente sobrescrito.

Tipo de Objeto -> O tipo de objeto que você deseja salvar. Clique em Tabela, Consulta, Formulário, Relatório, Macro ou Módulo na caixa Tipo de Objeto na seção Argumentos da Ação da janela Macro. Para selecionar o objeto ativo, deixe este argumento em branco. Se você selecionar um tipo de objeto neste argumento, você precisará selecionar um nome de um objeto existente no argumento Nome do Objeto. Nome do Objeto -> O nome do objeto a ser salvo. A caixa Nome do Objeto mostra todos os objetos do banco de dados do tipo selecionado pelo argumento Tipo de Objeto. Se você deixar o argumento Tipo de Objeto vazio, você poderá deixar este argumento em branco para salvar o objeto ativo ou, em alguns casos, para salvar o objeto ativo, digitar um novo nome neste argumento. Se você digitar um novo nome, este deverá seguir as convenções de denominação padrões para objetos do Microsoft Access.

A ação Salvar funciona com todos os objetos do banco de dados que o usuário possa abrir e salvar explicitamente. O objeto especificado precisa estar aberto para que a ação Salvar tenha algum efeito sobre o objeto. Esta ação tem o mesmo efeito que selecionar um objeto e então salvá-lo clicando em Salvar no menu Arquivo ou clicando em Salvar na barra de ferramentas. Deixar o argumento Tipo de Objeto em branco e inserir um novo nome no argumento Nome do Objeto tem o mesmo efeito que clicar em Salvar Como/Exportar no menu Arquivo e digitar um novo nome para o objeto ativo. A utilização da ação Salvar permite que você especifique um objeto a ser salvo e que efetue um comando Salvar como/Exportar a partir de uma macro.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 283 de 283

SelecionarObjeto Você pode utilizar a ação SelecionarObjeto para selecionar um objeto de banco de dados especificado.

Freqüentemente, você pode usar essa ação para selecionar um objeto sobre o qual você queira efetuar ações adicionais. Por exemplo, você poderia querer restaurar um objeto que tivesse sido minimizado (utilizando a ação Restaurar) ou maximizar uma janela que contenha um objeto com o qual você queira trabalhar (utilizando a ação Maximizar).

Ao selecionar um formulário, você poderá utilizar as ações IrParaControle, IrParaRegistro e IrParaPágina para mover até áreas específicas do formulário. A ação IrParaRegistro também funciona com folhas de dados.

Tipo de Objeto -> O tipo do objeto de banco de dados a selecionar. Clique em Tabela, Consulta, Formulário, Relatório, Macro ou Módulo na caixa Tipo de Objeto na seção Argumentos da Ação da janela Macro. Este é um argumento requerido. Nome do Objeto -> O nome do objeto a selecionar. A caixa Nome do Objeto mostra todos os objetos no banco de dados do tipo selecionado pelo argumento Tipo de objeto. Este é um argumento requerido, a não ser que você defina o argumento Na janela banco de dados como Sim. Se você definir o argumento na janela Banco de dados como Sim e deixar o argumento Nome do Objeto em branco, o Microsoft Access selecionará a guia na janela Banco de Dados que corresponda ao objeto do banco de dados que você especificar no argumento Tipo de Objeto. Na Janela Banco de Dados -> Especifica se o Microsoft Access seleciona o objeto na janela Banco de dados. Clique em Sim (para selecionar o objeto na janela Banco de dados) ou em Não (para não selecionar o objeto na janela Banco de dados). O padrão é Não.

A ação SelecionarObjeto funciona com qualquer objeto do Microsoft Access que possa receber o foco. Esta ação dá o foco ao objeto especificado e mostra o objeto se ele estiver oculto. Se o objeto é um formulário, a ação SelecionarObjeto define a propriedade Visível do formulário como Sim e devolve o formulário ao modo definido por suas propriedades de formulário (por exemplo, como um formulário modal ou pop-up).

Se o objeto não estiver aberto em uma das outras janelas do Microsoft Access, você pode selecioná-lo na janela Banco de dados definindo o argumento Na Janela Banco de Dados como Sim. Se você definir o argumento Na Janela Banco de Dados como Não, uma mensagem de erro aparecerá quando você tentar selecionar um objeto que não esteja aberto.

TransferirBancoDeDados

Você pode utilizar a ação TransferirBancoDeDados para importar ou exportar dados entre o banco de dados atual do Microsoft Access e um outro banco de dados. Você também pode vincular uma tabela ao banco de dados atual do Microsoft Access a partir de um outro banco de dados. Com uma tabela vinculada, você tem acesso aos dados da tabela enquanto a própria tabela permanece no outro banco de dados.

Você pode importar e exportar tabelas entre o Microsoft Access e outros tipos de bancos de dados. Você também pode exportar consultas seleção do Microsoft

Tipo de Transferência -> O tipo de transferência que você deseja fazer. Selecione Importar, Exportar ou Vincular na caixa Tipo de Transferência da seção Argumentos da Ação da janela Macro. O padrão é Importar. Tipo de Banco de Dados -> O tipo de banco de dados do qual importar, para o qual exportar ou ao qual vincular. Você pode selecionar Microsoft Access ou um dos outros tipos de banco de dados na caixa Tipo de Banco de Dados. O padrão é Microsoft Access. Os tipos de bancos de dados mostrados no argumento Tipo de Banco de Dados dependem de como você configurou o Microsoft Access. Nem todos os tipos de bancos de dados são instalados por padrão. Se o tipo de banco de dados que você deseja utilizar para importação, exportação ou vinculação não estiver disponível, execute o Programa de Instalação do Microsoft Access, clique na

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 284 de 284

Continuação da Ação TransferirBancoDeDados

Access para outros tipos de bancos de dados. O Microsoft Access exporta o conjunto de resultados da consulta na forma de uma tabela. Você pode importar e exportar qualquer objeto de banco de dados do Microsoft Access se ambos os bancos de dados forem do Microsoft Access. No Microsoft Access, se você importar uma tabela de um outro banco de dados do Microsoft Access que seja uma tabela vinculada àquele banco de dados, ela ainda estará vinculada depois de você importá-la. Ou seja, o vínculo é importado, não a tabela em si.

Se o banco de dados que você estiver acessando exigir uma senha, uma caixa de diálogo é exibida quando você executa a macro. Digite a senha nessa caixa de diálogo.

Observação : Você só pode importar e exportar dados entre bancos de dados do Microsoft Access e do FoxPro versão 3.0. Você não pode vincular às tabelas nesses bancos de dados do FoxPro.

A ação TransferirBancoDeDados é semelhante a apontar para Obter Dados Externos ou Salvar Como/Exportar no menu Arquivo da janela Banco de Dados e clicar em Importar ou Vincular Tabelas. Você pode utilizar esses comandos para selecionar uma fonte de dados, como Microsoft Access ou um tipo de banco de dados, planilha ou arquivo de texto. Se você selecionar um banco de dados, uma ou mais caixas de diálogo serão exibidas para que nelas você selecione o tipo de objeto a ser importado ou exportado (para bancos de dados Microsoft Access), o nome do objeto e outras opções, dependendo do banco de dados do qual você está importando ou ao qual está exportando ou vinculando. Esses argumentos da ação TransferirBancoDeDados refletem as opções dessas caixas de diálogo.

Se você deseja fornecer informações de índice para uma tabela vinculada FoxPro ou dBASE, primeiro vincule a tabela FoxPro ou dBASE, apontando para Obter Dados Externos no menu

opção Adicionar/Remover, selecione a opção Acesso a Dados na caixa de diálogo e clique no botão Alterar Opção e selecione então o tipo de banco de dados que você deseja instalar a partir da caixa Drivers para Bancos de Dados e clique novamente no botão Alterar Opção. Alguns drivers para banco de dados são incluídos apenas no Office 97 ValuPack (além disso, o ValuPack inclui todos os drivers para bancos de dados disponíveis a partir do Programa de Instalação do Microsoft Access). Para obter informações sobre a instalação de drivers para banco de dados a partir do ValuPack, consulte Sobre o Office 97 ValuPack. Nome do Banco de Dados -> O nome do banco de dados do qual importar, para o qual exportar ou ao qual vincular. Inclua o nome completo do caminho. Este é um argumento requerido. Para tipos de bancos de dados que utilizam arquivos separados para cada tabela, como o FoxPro, Paradox e dBASE, digite a pasta que contém o arquivo. Digite o nome do arquivo no argumento Origem (para importar ou vincular) ou o argumento Destino (para exportar). Para bancos de dados ODBC, digite a seqüência de conexão Open Database Connectivity (ODBC) completa. Para visualizar um exemplo de seqüência de conexão, vincule uma tabela externa ao Microsoft Access apontando para Obter Dados Externos no menu Arquivo e clicando em Vincular Tabelas. Abra a tabela no modo Estrutura e visualize as propriedades da tabela. O texto na definição da propriedade Descrição é a seqüência de conexão para esta tabela. Para obter maiores informações sobre seqüências de conexão ODBC, consulte o arquivo Ajuda ou alguma outra documentação sobre o driver ODBC deste tipo de banco de dados ODBC. Tipo de Objeto -> O tipo de objeto a importar ou exportar. Se você selecionar Microsoft Access para o argumento Tipo de Banco de Dados, você poderá selecionar Tabela, Consulta, Formulário, Relatório, Macro ou Módulo na caixa Tipo de Objeto. Se você selecionar qualquer outro tipo de banco de dados ou se selecionar Vincular na caixa Tipo de Transferência, este argumento será ignorado. O padrão é Tabela. Se você estiver exportando uma consulta seleção para um banco de dados do Microsoft Access, selecione Tabela neste argumento para exportar o conjunto de resultados da consulta, e selecione Consulta para exportar a própria consulta. Se você estiver exportando uma consulta seleção para um outro tipo de banco de dados, este argumento será ignorado e o conjunto de resultados da consulta será exportado. Origem -> O nome da tabela, consulta seleção ou objeto do Microsoft Access que você deseja importar, exportar ou vincular. Para alguns tipos de banco de dados, como o FoxPro, Paradox ou dBASE, é um nome de arquivo. Inclua a extensão de nome de arquivo (como .dbf) no

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 285 de 285

Arquivo e clicando em Vincular Tabelas, e especifique então os índices nas caixas de diálogos desse comando. O Microsoft Access armazena as informações de índice em um arquivo de informações (.inf) especial, localizado na pasta Office (o caminho é C:\Arquivos de Programas\Microsoft Office\Office). Você pode então excluir o vínculo à tabela. Na próxima vez que utilizar a ação TransferirBancoDeDados para vincular esta tabela FoxPro ou dBASE, o Microsoft Access utilizará as informações de índice que você tiver especificado.

Observação : Se você consultar ou filtrar uma tabela vinculada, a consulta ou o filtro coincidirá maiúsculas e minúsculas.

nome. Este é um argumento requerido. Destino -> O nome da tabela, consulta seleção ou objeto do Microsoft Access importado, exportado ou vinculado, no banco de dados de destino. Para alguns tipos de bancos de dados, como FoxPro, Paradox ou dBASE, é um nome de arquivo. Inclua a extensão de nome de arquivo (como .dbf) no nome. Este é um argumento requerido. Se você selecionar Importar no argumento Tipo de Transferência e Tabela no argumento Tipo de Objeto, o Microsoft Access criará uma nova tabela contendo os dados da tabela importada. Se você importar uma tabela ou outro objeto, o Microsoft Access adicionará um número ao nome se este conflitar com um nome existente. Por exemplo, se você importar Funcionários e esse nome já existir, o Microsoft Access renomeará a tabela ou outro objeto importado para Funcionários1. Se você exportar para um banco de dados do Microsoft Access ou algum outro, o Microsoft Access substituirá automaticamente qualquer tabela ou outro objeto existente de mesmo nome. Somente Estrutura -> Especifica se vai importar ou exportar somente a estrutura de uma tabela de banco de dados, sem nenhum dos dados. Selecione Sim ou Não. O padrão é Não.

TransferirPlanilha Você pode utilizar a ação TransferirPlanilha para importar ou exportar dados entre o banco de dados atual do Microsoft Access e um arquivo de planilha. Você também pode vincular os dados de uma planilha do Microsoft Excel ao banco de dados atual do Microsoft Access. Com uma planilha vinculada, você pode visualizar e editar os dados da planilha com o Microsoft Access ainda permitindo acesso completo aos dados a partir do seu programa de planilha eletrônica Microsoft Excel. Você também pode vincular aos dados em um arquivo de planilha do Lotus 1-2-3, mas estes dados serão somente para leitura no Microsoft Access.

Você pode exportar os dados nas consultas seleção do Microsoft Access para planilhas. O Microsoft Access exporta o conjunto de resultados da consulta, tratando-o como uma tabela. Os dados de planilha que você acrescenta a uma tabela existente do Microsoft Access precisam ser compatíveis com a estrutura da tabela. Cada campo na planilha precisa ser do mesmo tipo de dados que o campo

Tipo de Transferência -> O tipo de transferência que você deseja fazer. Selecione Importar, Exportar ou Vincular na caixa Tipo de Transferência da seção Argumentos da Ação da janela Macro. O padrão é Importar. Tipo de Planilha Eletrônica -> O tipo de planilha do qual importar, para o qual exportar ou ao qual vincular. Você pode selecionar um dos tipos de planilha da caixa. O padrão é Microsoft Excel 3. Observações : Caso queira importar, exportar ou vincular dados de planilha eletrônica de ou para arquivos Lotus 1-2-3, você precisa instalar o driver para o Lotus 1-2-3 a partir do Office 97 ValuPack. Para obter informações sobre a instalação desse driver a partir do ValuPack, consulte Sobre o Office 97 ValuPack.

Você pode importar dos arquivos .WK4 do Lotus e vincular a eles (somente leitura), mas não pode exportar dados do Microsoft Access a esse formato de planilha. O Microsoft Access não suporta mais importação, exportação ou vinculação de dados de planilhas do Lotus .WKS ou do Microsoft Excel versão 2.0 com esta ação. Se você desejar importar a partir de ou vincular aos dados de planilha no Microsoft Excel versão 2.0 ou no formato .WKS do Lotus, converta os dados da planilha em uma versão posterior do Microsoft Excel ou Lotus 1-2-3 antes de importar ou vincular os dados ao Microsoft Access. Nome da Tabela -> O nome da tabela do Microsoft Access para a qual importar, da qual exportar ou à qual

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 286 de 286

Continuação da Ação TransferirPlanilha

correspondente na tabela, e os campos precisam estar na mesma ordem (a menos que você defina o argumento Contém Nomes de Campos como Sim, situação na qual os nomes de campos da planilha precisam coincidir com os nomes de campos da tabela).

Esta ação é semelhante a apontar para Obter Dados Externos ou Salvar Como/Exportar no menu Arquivo da janela Banco de Dados e clicar em Importar ou Vincular Tabelas. Você pode utilizar esses comandos para selecionar uma fonte de dados, como o Microsoft Access ou um tipo de banco de dados, planilha ou arquivo de texto. Se você selecionar uma planilha, aparecerá uma série de caixas de diálogo ou será executado um assistente do Microsoft Access, no qual você selecionará o nome da planilha e outras opções. Os argumentos da ação TransferirPlanilha refletem as opções dessas caixas de diálogos ou dos assistentes.

Observação : Se você consultar ou filtrar uma planilha vinculada, a consulta ou o filtro coincidirá maiúsculas e minúsculas.

Se você vincular a uma planilha do Excel aberta no modo Editar, o Access aguardará até que a planilha saia do modo Editar antes de completar o vínculo; não há tempo limite.

vincular dados de planilha. Você também pode digitar o nome da consulta seleção do Microsoft Access a partir da qual você deseja exportar os dados. Este é um argumento requerido. Se você selecionar Importar no argumento Tipo de Transferência, o Microsoft Access acrescentará os dados de planilha a essa tabela, se a tabela já existir. Caso contrário, o Microsoft Access criará uma nova tabela contendo os dados de planilha. No Microsoft Access, você não pode utilizar uma instrução SQL para especificar os dados a exportar quando estiver utilizando a ação TransferirPlanilha. Em vez de utilizar uma instrução SQL, é preciso antes criar uma consulta e, em seguida, especificar o nome da consulta no argumento Nome da Tabela. Nome do Arquivo ->O nome do arquivo de planilha do qual importar, para o qual exportar ou ao qual vincular. Inclua o caminho completo. Este é um argumento requerido. O Microsoft Access cria uma nova planilha quando você exporta dados a partir dele. Se o nome do arquivo for igual ao nome de uma planilha existente, o Microsoft Access substituirá a planilha existente, a menos que você esteja exportando para uma planilha do Microsoft Excel versão 5.0, 7.0, ou um workbook do Excel 97. Neste caso, o Microsoft Access copiará os dados exportados no próximo worksheet novo do workbook. Se você estiver importando de ou vinculando a uma planilha do Microsoft Excel versão 5.0, 7.0 ou do Excel 97, você poderá especificar um worksheet utilizando o argumento Intervalo. Contém Nomes de Campos -> Especifica se a primeira linha da planilha contém os nomes dos campos. Se você selecionar Sim, o Microsoft Access utilizará os nomes dessa linha como nomes de campo na tabela do Microsoft Access quando você importar ou vincular os dados de planilha. Se você selecionar Não, o Microsoft Access tratará a primeira linha como uma linha de dados normal. O padrão é Não.

Quando você exportar uma tabela ou uma consulta seleção do Microsoft Access para uma planilha, os nomes dos campos serão inseridos na primeira linha da planilha, independentemente daquilo que for selecionado neste argumento. Intervalo -> O intervalo de células a importar ou vincular. Deixe este argumento em branco para importar ou vincular toda a planilha. Você pode digitar o nome de um intervalo da planilha ou especificar o intervalo de células a importar ou vincular, como A1:E25 (observe que a sintaxe A1..E25 não funciona mais no Microsoft Access). Se você estiver importando de uma planilha ou vinculando a ela, uma versão Microsoft Excel 5.0, 7.0 ou do Excel 97, você poderá colocar o nome da planilha e um ponto de exclamação antes do intervalo; por exemplo,

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 287 de 287

Poupança!A1:C7. Observação Quando você exporta para um planilha, é preciso deixar este argumento em branco. Se você inserir um intervalo, a exportação irá falhar.

TransferirTexto Você pode utilizar a ação TransferirTexto para importar ou exportar texto entre o banco de dados atual do Microsoft Access e um arquivo de texto. Você pode também vincular os dados de um arquivo de texto ao banco de dados atual do Microsoft Access. Com um arquivo de texto vinculado, você pode visualizar os dados de texto com o Microsoft Access e, ao mesmo tempo, permitir acesso completo aos dados a partir de seu programa de processamento de texto. Você pode também importar de uma tabela ou lista, exportar para elas e vinculá-las a um arquivo HTML (*.html).

Você pode exportar os dados de consultas seleção do Microsoft Access para arquivos de texto. O Microsoft Access exporta o conjunto de resultados da consulta, tratando-o como uma tabela. Os dados de texto que você acrescenta a uma tabela existente do Microsoft Access precisam ser compatíveis com a estrutura da tabela. Cada campo do texto precisa ser do mesmo tipo de dados que o do campo correspondente na tabela e os campos precisam estar na mesma ordem (a menos que você defina o argumento Contém Nomes de Campos como Sim; neste caso, os nomes dos campos no texto precisam coincidir com os nomes dos campos na tabela).

Esta ação é semelhante a apontar para Obter Dados Externos ou Salvar Como/Exportar no menu Arquivo da janela Banco de Dados e clicar em Importar ou Vincular Tabelas. Você pode utilizar esses comandos para selecionar uma fonte de dados, como o Microsoft Access ou um tipo de banco de dados, planilha ou arquivo de texto. Se você selecionar um arquivo de texto delimitado, um de largura fixa, ou um arquivo HTML, um assistente solicitará que você selecione o nome do arquivo e outras opções. Os argumentos da ação TransferirTexto refletem as opções

Tipo de Transferência -> O tipo de transferência que você deseja fazer. Você pode importar dados de, exportar dados para, ou vincular dados de arquivos de texto delimitado , de largura fixa ou arquivos HTML. Você também pode exportar dados para um arquivo de dados de mala direta do Microsoft Word, o qual você pode então utilizar com o recurso de mala direta do Microsoft Word para criar documentos mesclados, como cartas modelo e etiquetas de endereçamento. Selecione Importação Delimitada, Importação com Largura Fixa, Importação HTML, Exportação Delimitada, Exportação com Largura Fixa, Exportação HTML, Exportar Mala Direta do Word para Windows, Vínculo Delimitado, Vínculo com Largura Fixa ou Vincular HTML na caixa Tipo de Transferência na seção Argumentos da Ação da janela Macro. O padrão é Importação Delimitada. Nome da Especificação -> O nome da especificação para o conjunto de opções que determinam como um arquivo texto é importado, exportado ou vinculado. Este é um argumento requerido para arquivos de texto de largura fixa. Você pode utilizar o subcomando Importar ou Vincular Tabelas do comando Obter Dados Externos ou o comando Salvar Como/Exportar do menu Arquivo para criar uma especificação para um determinado tipo de arquivo de texto, como um arquivo de texto delimitado que utiliza tabulações para separar campos e tem um formato mês-dia-ano para datas. Quando você clica em um desses comandos e seleciona um tipo de arquivo de texto para importar, exportar ou vincular, o Assistente de Importação de Texto, o Assistente de Exportação de Texto ou o Assistente de Vinculação de Texto é executado. Você pode clicar no botão Avançado do assistente e, em seguida, definir e salvar uma especificação na caixa de diálogo que é exibida. Você pode então digitar o nome da especificação nesse argumento sempre que desejar importar ou exportar o mesmo tipo de arquivo de texto. Você pode importar, exportar ou vincular arquivos de texto delimitado sem digitar um nome de especificação para esse argumento. Nesse caso, o Microsoft Access utiliza os padrões a partir da caixa de diálogo do assistente. O Microsoft Access utiliza um formato predeterminado para arquivos de dados de mala direta, portanto você nem precisa digitar um nome de especificação para esse argumento quando exporta esses tipos de arquivos. Você pode utilizar especificações de importação/exportação com arquivos HTML, mas a única parte da especificação que se aplica é aquela para a formatação do tipo de dados.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 288 de 288

Continuação da Ação TransferirTexto

desses assistentes.

Dica: Uma especificação de importação/exportação armazena as informações que o Microsoft Access precisa para importar, exportar ou vincular um arquivo de texto. Você pode utilizar especificações armazenadas para importar, exportar ou vincular dados de texto a partir de ou para arquivos de texto similares. Por exemplo, é possível receber valores de vendas semanais em um arquivo de texto de um computador mainframe. Você pode criar e salvar uma especificação para esse tipo de dados e então utilizar a especificação sempre que adicionar esses valores ao seu banco de dados do Microsoft Access.

Observação : Se você consultar ou filtrar um arquivo de texto vinculado, a consulta ou o filtro coincidirá maiúsculas e minúsculas.

Nome da Tabela -> O nome da tabela do Microsoft Access para a qual importar, da qual exportar ou à qual vincular dados de texto. Você pode também digitar o nome de uma consulta seleção do Microsoft Access da qual você deseja exportar os dados. Este é um argumento requerido. Se você clicar em Importação Delimitada, Importação com Largura Fixa ou Importação HTML na caixa Tipo de Transferência, o Microsoft Access acrescentará os dados de texto a essa tabela, se a tabela já existir. Caso contrário, o Microsoft Access criará uma nova tabela contendo os dados de texto. No Microsoft Access, você não pode utilizar uma instrução SQL para especificar dados para exportar quando estiver utilizando a ação TransferirTexto. Em lugar de utilizar uma instrução SQL, você precisa antes criar uma consulta e então especificar o nome da consulta no argumento Nome da Tabela. Nome do Arquivo -> O nome do arquivo de texto do qual importar, para o qual exportar ou ao qual vincular. Inclua o nome completo do caminho. Este é um argumento requerido. O Microsoft Access cria um novo arquivo de texto quando você exporta dados a partir dele. Se o nome de arquivo for igual ao de um outro existente, o Microsoft Access substituirá o arquivo de texto existente. Se quiser importar ou vincular uma determinada tabela ou lista de um arquivo HTML, você pode utilizar o argumento Nome da Tabela HTML. Contém Nomes de Campos -> Especifica se a primeira linha do arquivo de texto contém os nomes dos campos. Se você selecionar Sim, o Microsoft Access utilizará os nomes dessa linha como nomes dos campos na tabela do Microsoft Access quando você importar ou vincular os dados de texto. Se você selecionar Não, o Microsoft Access tratará a primeira linha como uma linha de dados normal. O padrão é Não. O Microsoft Access ignora esse argumento para arquivos de dados de mala direta do Word para Windows porque a primeira linha precisa conter os nomes dos campos.. Ao exportar-se uma tabela ou uma consulta seleção do Microsoft Access para um arquivo texto delimitado ou de largura fixa, o Microsoft Access digitará os nomes dos campos da sua tabela ou consulta seleção na primeira linha do arquivo de texto se você tiver selecionado Sim para este argumento. Se você estiver importando ou vinculando um arquivo de texto de largura fixa e selecionar Sim nesta caixa, a primeira linha contendo os nomes dos campos deverá utilizar o delimitador de campo definido na especificação de importação/exportação para separar os nomes dos campos. Se você estiver exportando para um arquivo de texto de largura fixa e selecionar Sim para este argumento, o Microsoft Access digitará os nomes dos campos na primeira linha do arquivo de texto com este

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 289 de 289

delimitador. Nome da Tabela HTML -> O nome da tabela ou lista do arquivo HTML que você deseja importar ou vincular. Este argumento será ignorado, a menos que o argumento Tipo de Transferência esteja definido como Importação HTML ou Vínculo HTML. Se deixar este argumento em branco, a primeira tabela ou lista do arquivo HTML será importada ou vinculada. O nome da tabela ou lista do arquivo HTML é determinado pelo texto especificado pela marca <CAPTION>, se houver uma. Se não houver; o nome será determinado pelo texto especificado pela marca <TITLE>. Se mais de uma tabela ou lista tiver o mesmo nome, o Microsoft Access as diferenciará adicionando um número ao final de cada nome; por exemplo, Funcionários1 e Funcionários2.

Nesta tabela foram apresentadas todas as ações de Macro disponíveis no Microsoft Access, a sua utilização e os parâmetros de cada uma. Você pode utilizar este material como uma referência quando estiver criando macros para os seus Bancos de Dados. No Próximo item veremos algumas aplicações práticas de macros, para salientarmos a aplicação de algumas das ações apresentadas. Também estaremos associando Macros com Eventos em formulários e relatórios, o que é uma prática bastante comum.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 290 de 290

Associando Macros a Eventos

Neste item veremos alguns exemplos de macros e a associação destas com eventos de formulários e relatórios. Utilizaremos algumas das ações apresentadas na tabela do item anterior. Através da utilização de exemplos práticos, poderemos entender melhor a utilização das Macros.

Exemplo 1: Vamos começar com um exemplo bem simples. Vamos criar uma macro chamada Maximiza, com uma única ação "Maximizar". Vamos associar esta macro a propriedade de evento "Ao Abrir", do formulário "Clientes" do banco de dados ExMacros.mdb, que está na pasta C:\CursoAccBasico.

Para criar uma macro com uma ação Maximizar:

• Abra o banco de dados ExMacros.mdb. • Dê um clique na Guia Macros, depois dê um clique no botão

Novo. • Na coluna Ação Escolha "Maximizar". Na coluna comentários

digite: "Maximiza um objeto. Associada ao Evento Ao Abrir."

• Dê um clique no botão com o disquete para salvar a macro. Ao ser solicitado o nome digite: Maximiza, e dê um clique em OK.

• Feche a Macro.

Para associar a macro Maximiza com o evento "Ao abrir" do formulário Clientes:

• Dê um clique na Guia Formulários, dê um clique no formulário Clientes para marcá-lo e depois um clique no botão Estrutura. Não esqueça que toda e qualquer alteração sempre é feita no modo estrutura.

• No modo estrutura, dê um clique com o botão direito do mouse na área cinza, fora da grade quadriculada, e no menu que surge dê um clique em propriedades. Na janela que surge, clique na guia Evento. Gostaria de chamar a atenção para este detalhe. O Evento que queremos é o evento Ao Abrir do formulário, o qual é acessível através das propriedades do formulário. Para acessar estas propriedades, devemos clicar com o direito na área cinza e não na grade quadriculada. A grade quadriculada é chamada de "Seção Detalhe". Após clicar em propriedades, surge a janela indicada na figura a seguir. No título da Janela de propriedades deve aparecer Formulário, para você ter certeza que está acessando as propriedades do formulário e não da Seção Detalhe.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 291 de 291

Propriedades de Evento do Formulário.

• Dê um clique no evento Ao abrir. Esse campo oferece uma listagem de todas as Macros e Módulos disponíveis. Clique na flechinha para baixo para abrir esta listagem, e depois clique em Maximiza, conforme indicado pela figura a seguir:

Associando a macro Maximiza com o evento Ao abrir do formulário Clientes.

• Com isto você estará associando a Macro "Maximiza" com o evento "Ao abrir" do formulário Clientes. Na prática isso significa que toda vez que o formulário for aberto, ocorre o evento "Ao abrir", o qual por sua vez executa a macro Maximiza.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 292 de 292

• Salve o formulário e vá para o modo Folha de Dados. Se o formulário não estiver maximizado, o este será maximizado pela ação da macro Maximiza.

Este foi um exemplo simples, com o objetivo da salientar a associação de uma macro com um evento de formulário. Agora veremos alguns exemplos mais elaborados.

Exemplo 2 : Vamos supor que todo o final de mês você precisa gerar duas planilhas do Excel para enviar para o seu chefe. Uma das planilhas (vendas.xls) deve apresentar o total de vendas por PaísDeDestino. A outra planilha (pedidos.xls) deve apresentar o quantitativo de pedidos por vendedor (CódigoDoFuncionário). Para atender a esta solicitação você teria que fazer o seguinte:

• Criar uma consulta que calcula o total por PaísDeDestino • Criar uma consulta que contabiliza o quantitativo de

pedidos por CódigoDoFuncionário • Executar a primeira consulta e salvar o resultado como uma

planilha do Excel • Executar a segunda consulta e salvar o resultado como uma

planilha do Excel

Com a utilização de macros podemos facilitar um pouco este processo. Em relação as duas consultas não tem jeito, precisamos criá-las. Após criadas as consultas, iremos utilizar uma macro para executá-las e exportar o resultado para as planilhas respectivas: vendas.xls e pedidos.xls. Esta macro deverá ser executada no final do expediente do último dia útil do mês.

Para criar as consultas:

• Utilizando os conhecimentos apresentados no tópico sobre consultas, crie as duas consultas, uma para calcular o total por PaísDeDestino dentro do mês atual e outra que forneça o quantitativo de pedidos por CódigoDoFuncionário.

• Salve as consultas como: Totais de Vendas por País de Destino e Quantitativo de Pedidos por Funcionário, respectivamente.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 293 de 293

• Agora é a hora de criarmos a nossa macro, a qual conterá as seguintes ações:

• Uma Caixa de Mensagem • Uma ação SaídaPara que exporta o resultado da

primeira consulta para o arquivo C:\CursoAccBasico\vendas.xls

• Uma ação SaídaPara que exporta o resultado da segunda consulta para o arquivo C:\CursoAccBasico\pedidos.xls

• Outra Caixa de Mensagem informando que a macro chegou ao fim.

Iremos pedir que a macro crie os arquivos de Excel, na pasta C:\CursoAccBasico\. Também poderíamos pedir para que fosse salvo diretamente em um drive de rede, no qual o chefe tem acesso, por exemplo, X:\relatorios\chefe.

Para criar a macro "Gera planilhas para o chefe":

• Clique na guia macros e dê um clique no botão Novo. Será exibida a janela macros com uma macro em branco.

• Adicione quatro ações, conforme indicado nas tabelas a seguir:

Ação 1:

Ação : CaixaDeMensagem Comentário: "Inicializando a macro Relatórios do Chefe"

Parâmetros da Macro: Mensagem: Geração de Relatórios de Vendas por PaísDeDestino quantitativo por CódigoDoFuncionário Alarme sonoro: Sim Tipo: Aviso ! Título: Relatório de Vendas

Ação 2:

Ação : SaídaPara

Comentário: " Gera o arquivo c:\meus documentos\vendas.xls Parâmetros da Macro:

Tipo de objeto: Consulta Nome do Objeto: Totais de Vendas por País de Destino Formato de saída: Microsoft Excel (*.xls) Arquivo de saída: C:\CursoAccBasico\vendas.xls Auto Iniciar: Não Arquivo Modelo:

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 294 de 294

Ação 3:

Ação : SaídaPara

Comentário: " Gera o arquivo c:\meus documentos\.xls Parâmetros da Macro:

Tipo de objeto: Consulta Nome do Objeto: Quantitativo de Pedidos por Funcionário Formato de saída: Microsoft Excel (*.xls) Arquivo de saída: C:\CursoAccBasico\pedidos.xls Auto Iniciar: Não Arquivo Modelo:

Ação 4:

Ação : CaixaDeMensagem Comentário: Mensagem de macro concluída com sucesso

Parâmetros da Macro: Mensagem: Geração de relatórios concluída com sucesso !!! Alarme sonoro: Sim Tipo: Aviso ! Título: Macro finalizada.

• Salve a macro com o nome de Gera planilhas para o chefe.

• Execute a macro, depois verifique se foram criados os arquivos vendas.xls e pedidos.xls na pasta C:\CursoAccBasico\.

Treinamento de Access Recursos Básicos

Autor: Júlio Cesar Fabris Battisti Site: www.juliobattisti.com.br

Página 295 de 295

Exercício

Crie uma consulta do tipo Criação de Tabela, que selecione somente os pedidos para o ano da Data do Pedido igual a 1997 e cujo valor do frete seja superior a R$10,00. Incluir os campos NúmeroDoPedido, DataDoPedido, PaísDeDestino e Frete. Essa consulta deve criar uma tabela chamada "Pedidos para 1997". Salve esta consulta com o nome de "Gera Pedidos para 1997". Crie uma segunda consulta do tipo Atualização, a qual aumenta em 20 % o valor do campo Frete na tabela "Gera Pedidos para 1997". Salve esta consulta com o nome de Atualiza Pedidos de 1997.Criar uma macro que executa estas duas consultas em seqüência e depois exporta os dados da tabela "Pedidos para 1997" para uma planilha do Excel na pasta C:\CursoAccBasico\. O nome do arquivo será pedidos.xls. Após exportar para a planilha do Excel, a macro deverá excluir a tabela "Pedidos para 1997" e emitir uma Mensagem:" Macro concluída com sucesso !!!!".

Conclusão

Neste item tratamos sobre a criação de macros básicas. Aprendemos a criar macros e associa-las com eventos. Desta maneira quando um determinado evento acontece, a macro associada ao evento é executada.

Neste curso nos tratamos dos aspectos básicos do Microsoft Access, tais como:

• O Modelo Relacional de dados. • Tabelas. • Consultas. • Formulários. • Relatórios. • Macros.

Conceitos avançados, que envolvem programação, serão vistos no treinamento de Access - Técnicas Avançadas.

Em caso de dúvida sobre o conteúdo deste curso, você pode entrar em contato pelo seguinte e-mail:

[email protected]

Fone: (55)9957-2041