Buscar

Curso Completo Access Básico

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 65 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 65 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 65 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CURSO BÁSICO DE ACCESS2
	Preparando-se para iniciar o curso
	Antes de iniciar este curso você cumprir as seguintes etapas:
Criar uma pasta chamada CursoAccBasico, no drive C: 
Para criar pastas utilize o Windows Explorer. No Windows 95, 98 ou Me, utilize o comando Iniciar -> Programas -> Windows Explorer. No Windows 2000 ou XP, utilize o comando Iniciar -> Programas -> Acessórios -> Windows Explorer.
Descompacte o arquivo Exemplos.zip (disponível somente para quem fez a compra do arquivo .pdf com todo o conteúdo do curso).
Para descompactar um arquivo .zip você pode utilizar o programa WinRar, o qual pode ser copiado a partir do seguinte endereço: www.winrar.com.
Em caso de dúvidas é só entrar em contato através do e-mail: webmaster@juliobattisti.com.br.
	Entidades e Atributos (Tabelas e Campos)
	Objetivo: Neste módulo vamos aprender 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" do 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.
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.
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, faça o seguinte:
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 abri-lo. Os arquivos de bancos de dados do Microsoft Access tem a extensão .mdb.
Na Janela que surge verifique se 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.
	Chave Primária - Conceito e Exemplos
	Objetivo: Neste item falaremos sobre o conceito de Chave Primária e a sua importância no Modelo Relacional de dados.
Chave Primária
O Conceito de "Chave Primária" é fundamental para o correto entendimento de como funciona 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 no campo que é a 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 possam 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.
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.
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, conformepode 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:        (11)2222-2222
·         Fax:               (11)2222-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.
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.
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:         (11)2222-2222
·         Fax:                (11)2222-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.
Feche o Microsoft Access.
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.
Além disso, uma tabela somente pode ter uma Chave Primária, seja ela simples ou composta.
Neste item 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 item aprenderemos outro importante conceito: Relacionamentos entre Tabelas.
Relacionamentos entre tabelas
Objetivo: Nesta lição vamos apresentar o conceito de relacionamento entre tabelas, este um conceito fundamental para o Modelo Relacional de Dados. Também veremos os diferentes tipos de relacionamentos existentes. Serão apresentados exemplos práticos.
Conforme podemos ver no banco de dados Pedidos.mdb, com o qual trabalhamos na lição anterior, 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 por 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.
Em um banco de dados, precisamos de alguma maneira para representar estes relacionamentos da vida Real, em termos das tabelas e de 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 relaciona 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. 
Na Próxima Figura vemos o exemplo deum 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 é cadastrado 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. Ao mesmo tempo 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 (vários) 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: 
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 NorthWind.mdb, que está na pasta CursoAccBasico (lembre que você já deve ter feito Download destes arquivos, conforme orientações da Lição 1), 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
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 seriam introduzidos no modelo de dados. 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 item do Pedido. 
Para evitar este tipo de problema é bastante comum "quebrarmos" um relacionamento do tipo Vários para Vários em dois relacionamentos 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
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, próxima lição veremos como Implementar relacionamentos no Microsoft Access e a utilização da Integridade Referencial como uma maneira de Garantir a Consistência dos Dados.
	Integridade Referencial
	Objetivo: Vamos aprender sobre um dos conceitos mais importantes do modelo relacional de dados: Integridade Referencial. Também aprenderemos a configurar Relacionamentos e Integridade Referencial no Microsoft Access.
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. 
Como Criar e Configurar Relacionamentos no Microsoft Access:
Para DefinirRelacionamentos 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 tabelasClientes e Pedidos, arraste o campo "CódigoDoCliente" da tabelaClientes, sobre o campo "CódigoDoCliente" da Tabela Pedidos. Ao largar um campo sobre o Outro, o Microsoft 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 alterações ou para revisar os relacionamentos, para isto basta ir no menu Ferramentas e clicar emRelacionamentos.
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 dadosExRelacionamentos.mdb, faça o seguinte:
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? Porquê? Em caso de dúvidas entre em contato: webmaster@juliobattisti.com.br.
	Normalização de tabelas
	Objetivo: 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 gera 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.
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 tiver mais de um filho, teremos 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 TabelasSeparadas.
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
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 campoDescriçã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 Composta, 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.
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 CampoCó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.
Projetando um banco de dados
Objetivo: Nesta lição aprenderemos a 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 vistos nas lições anteriores, 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 os Objetivos 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 de cada Tabela: 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 do tipo Chave Primária: 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.
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 sequencialmente.
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 nas tabelas que terão 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 aparecemem negrito representam a Chave Primária de cada tabela.
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.
A arquitetura do Microsoft Access
Objetivo: 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 dois fatos de grande importância: 
Todos os dados ficam armazenados em 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.
Os Diversos Elementos de um Banco de Dados do Microsoft Access.
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.
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 ou mais tabelas. 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. 
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 fornecidospara 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: ?
	A Janela Banco de Dados
	Objetivo: Vamos apresentar a janela 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.mdb, criado anteriormente e que foi gravado na pasta C:\CursoAccBasico. Em seguida criaremos alguns relacionamentos. Na sequência vamos inserir alguns dados.
	Criando Tabelas com o Microsoft Access
	Objetivo: O principal elemento de um banco de dados do Microsoft Access é 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 que utilizaremos como exemplo para as lições deste módulo. Criaremos as tabelas no banco de dados ExTabelas.mdb, que está na pasta C:\CursoAccBasico.
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 sequê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.
Criando a tabela Contribuintes
Para criar a tabela contribuintes faça o seguinte: 
Vamos iniciar a criação da tabela Contribuintes nesta lição e iremos concluí-la ao longo das próximas lições deste módulo. A medida que formos criando cada campo, iremos detalhar todos os detalhes envolvidos na criação de tabelas com o Microsoft Access.
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 têm 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:
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. 
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
Ao criarmos um campo, no modo estrutura, podemos definir uma série de propriedades para este campo, tais como: nome do campo, tipo de dados (texto, número, etc), valor padrão, etc. Na lição 3 veremos as colunas que podem ser definidas para cada campo. Nas lições seguintes estudaremos, em detalhes, todas as propriedades que podem ser definidas para um determinado campo. Após o estudo destas propriedades continuaremos com a criação da tabela Contribuintes e das demais tabelas do banco de dados ExTabelas.mdb.
	As colunas do modo Estrutura
	Objetivo: Vamos aprender sobre as colunas que podem ser configuradas, para cada campo, no modo estrutura da tabela.
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 frequê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 armazenado no campo. 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.
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 sequenciais (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 de Access 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)
	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:
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 nas próximas lições.
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.
Agora vamos continuar a criação da tabela Contribuintes, iniciada na Lição Anterior.
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.
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 todos os tipos 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.
A partir da Próxima Lição vamos estudar as diversas propriedades existentes.
	A propriedade Tamanho do campo
	Objetivo: Nesta lição vamos detalhar a 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 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 conforme indicado na tabela 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 1,79769313486231E308 a 4,94065645841247E–324 para valores positivos. 
	15
	8 bytes
	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.
	
	
A propriedade Formato – Definição
Objetivo: Vamos apresentar a definição da propriedade Formato 
Propriedade Formato:
Utilizamos 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 dedados Número e Moeda
Tipos de dados Texto e Memorando
Tipo de dados Sim/Não
Nas próximas lições veremos sobre as formatações específicas para cada um dos tipos de dados definidos na lista anterior. 
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, isto é, gravados no disco. 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.
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. Nas próximas lições 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
A propriedade Formato - Campos Data/Hora
Objetivo: Vamos aprender a definir a propriedade formato para campos do tipo Data/Hora.
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 propriedadeFormato 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 doPainel 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 noPainel 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 doPainel de controle do Windows.
Exemplo: 17:34:23 PM.
	Hora Normal
	Exemplo: 05:34 PM.
	Hora Abreviada
	Exemplo: 17:34.
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).
	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, por exemplo: mmm d", "yyyy. 
A seguir temos alguns exemplos de definição da propriedade formato para dados do tipo Data/Hora.
	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-feiradd\/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.
	A propriedade Formato - Campos Número/Moeda
	Objetivo: Vamos aprender a definir a propriedade formato para campos do tipo Número e do tipo Moeda.
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 - Números
A tabela a seguir mostra as definições predefinidas da propriedadeFormato 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 caixaConfigurações regionais no Painel de controledo 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 caixaConfigurações regionais no Painel de controledo 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.
Formatos personalizados - Números
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 Nulo. 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.
É 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.
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.
	A propriedade Formato - Campos Texto/Memorando 
Objetivo: Vamos aprender a definir a propriedade formato para campos do tipo Texto ou Memorando.
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 sequências comprimento zero e Nulos.
Nota: Valores sequenciais de comprimento zero sequência de comprimento zero é uma sequência sem caracteres. Você pode usar uma sequência de comprimento zero para indicar que não há valor para um campo. Você insere uma sequência de comprimento zero, digitando duas aspas duplas sem espaço entre elas (""). Em um banco de dados do Microsoft Access, você pode inserir sequê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 sequências de comprimento zero em campos varchar e nvarchar. Não é possível inserir sequências de comprimento zero em outros tipos de campos. Não há suporte para as sequências de comprimento zero no SQL Server 6.5.
Por exemplo, se você tivesse um controle caixa de texto no qual quisesse que a palavra "Nenhum" aparecesse quando não houvesse sequê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 sequê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
	@@@-@@-@@@@

Outros materiais