Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

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
	@@@-@@-@@@@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"
	Sequência de comprimento zero
	Desconhecido
	@;"Desconhecido"
	Qualquer texto
	O mesmo texto inserido é exibido
	A propriedade Formato - Campos Sim/Não
	Objetivo: Vamos aprender a definir a propriedade formato para campos do tipo Sim/Não.
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, Falsoou 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]
	A propriedade Casas Decimais
	Objetivo: Vamos estudar a 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 é exibida no vídeo, 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.
	A propriedade Máscara de Entrada
	Objetivo: Vamos detalhar a 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 (;), conforme descrito na tabela a seguir: 
	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 (" ").
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).
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 umasterisco (*). 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.
	As propriedades Legenda e Valor Padrão
	Objetivo: Vamos apresentar as propriedades Legenda e Valor padrão.
Propriedade Legenda:
São títulos que servem como cabeçalho das colunas para os campos quando a tabela está no modo Folha de Dados. O cabeçalho é o título que aparece em cada coluna. 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.
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, por exemplo, Rio de Janeiro. Quando os usuários adicionam um registro à tabela, eles podem aceitar esse valor ou inserir o nome de uma outra cidade. É indicado definir um valor padrão quando a maioria dos registros tem um determinado valor num determinado campo. Com isso o valor do campo será definido automaticamente, com base no valor padrão definido. Quando for necessário o usuário poderá definir um valor diferente do valor padrão.
Observação: A propriedade Valor Padrão pode ser definido 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.  
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 Regras de Validação e Texto de Validação
Objetivo: Vamos tratar das 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 da 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 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 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ê podeutilizar valores Null em expressões. Os valores Nullpodem 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 em formulários.
	As propriedades Requerido e Permitir Comprimento Zero
	Objetivo: Vamos apresentar as propriedades Requerido e Permitir Comprimento Zero.
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", onde "regradevalidação" é qualquer regra válida, conforme visto na Lição 13. 
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 o modo estrutura da tabela.
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 sequê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 sequê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 sequência de comprimento zero. Por exemplo, a sequência "Nenhum" poderia ser exibida quando uma sequê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 comprimento Zero
	Ação do usuário
	Valor armazenado
	Não
	Não
	Pressionar Enter
Pressionar Barra de Espaços
Inserir uma sequência de comprimento zero
	Nulo
Nulo
 
(não permitido)
	Não
	Sim
	Pressionar Enter
Pressionar Barra de Espaços
Inserir uma sequência de comprimento zero
	Nulo
Nulo
 
Sequência de comprimento zero
	Sim
	Não
	Pressionar Enter
Pressionar Barra de Espaços
Inserir uma sequência de comprimento zero
	(não permitido)
(não permitido)
(não permitido)
 
	Sim
	Sim
	Pressionar Enter
Pressionar Barra de Espaços
Inserir uma sequência de comprimento zero
	(não permitido)
Sequência de comprimento zero
Sequê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 sequê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 sequência de comprimento zero é uma entrada válida.
	Não
	(Padrão) Uma sequência de comprimento zero é uma entrada inválida.
Você pode definir essa propriedade utilizando o modo estrutura da tabela. 
Comentários: 
Se desejar que o Microsoft Access armazene uma sequê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 sequência de comprimento zero. Por exemplo, a sequência "Nenhum" pode ser exibida quando uma sequência de comprimento zero for inserida. 
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
	Objetivo: Vamos tratar da propriedade Indexado.
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 você precisa pesquisar 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 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. Na Próxima lição vamos voltar ao exercício que iniciamos antes do estudo das propriedades.
Exercício prático - criação da tabela Contribuintes
Objetivo: Apenas para lembrar, na Lição 2, começamos a definição da tabela Contribuintes pela 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.
A partir desta lição continuaremos a definição das tabelas do banco de dados ExTabelas.mdb. 
Se você não estiver com o banco de dadosC:\CursoAccBasico\Extabelas.mdb, abra-o.
Abra a tabela Contribuintes no modo Estrutura. Para isso dê um clique na tabela para selecioná-la e depois clique no botão Estrutura.
Defina as demais propriedades do campo CPF, conforme orientações a seguir: 
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. 
 
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. 
 
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: 
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.
Exercício prático - criação das demais tabelas
	Objetivo: Vamos criar as demais tabelas do nosso banco de dados de exemplo ExTabelas.mdb.
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.
Definições para a tabela Dependentes: 
Nome da tabela: Dependentes
Chave Primária: Campo CPFTitular 
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.
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.
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.
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. 
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.
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çãodos relacionamentos
Entrada de dados para testar os relacionamentos e a Integridade Referencial.
	
	
Exercício prático - Definição de relacionamentos
Objetivo: Vamos definir relacionamentos entre as tabelas do banco de dados ExTabelas.mdb, que está na pasta C:\CursoAccBásico.
Nas lições anteriores criamos as diversas tabelas do banco de dados ExTabelas.mdb. Neste item criaremos os relacionamentos entre as tabelas, conforme definido no DER (Diagrama Entidade x Relacionamentos) 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", nas lições do Módulo 1.
Vamos fazer um exercício prático de implementação dos relacionamentos no banco de dados ExPedidos.mdb.
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. na Lição 5 do Módulo 1.
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.
Exercício prático - Inserindo dados e testando os relacionamentos
Objetivo: Vamos inserir dados nas tabelas do banco de dados ExTabelas.mdb para testar os relacionamentos criados na Lição Anterior.
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:
 
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
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 registro.
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??? Em caso de dúvida entre em contato com webmaster@juliobattisti.com.br.
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? Em caso de dúvida entre em contato com webmaster@juliobattisti.com.br.
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. Na próxima lição 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.
Importação e Exportação de dados
Objetivo: Vamos entender o que é a importação/exportação de dados e ver porque é importante que saibamos trabalhar com importação/exportação de dados.
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 original 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. Os dados são fornecidos em arquivos .txt.Quando os dados forem fornecidos neste formato, deverá ser fornecido 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".
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 dadosdo 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.
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. 
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. Falaremos sobre Macros no módulo 6. 
Nas próximas lições vamos fazer alguns exercícios de importação/exportação para aprendermos a utilizar este recurso do Microsoft Access.
Importando dados do Microsoft Excel
	Objetivo: Vamos aprender a importar dados de uma planilha do Excel.
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. Para maiores detalhes sobre a criação de bancos de dados consulte o Módulo 1.  
2. Selecione o comando Arquivo -> Obter dados externos -> Importar. Surge a janela Importar, indicada na figura a seguir: 
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.
Dê um clique no botão Importar.
O Microsoft Access abre o "Assistente de importação de planilha".
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 contém os nomes dos campos, conforme indicado na figura a seguir:
 
Identificação dos campos que serão importados. 
Dê um clique no botão Avançar, para ir para a próxima etapa do assistente.
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.
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.
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.
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. 
Vamos aceitar as configurações sugeridas. Dê um clique no botão Avançar para ir para a próxima etapa do assistente.
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.
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.
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.
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:
Mensagem de que a importação foi realizada com sucesso.
Dê um clique no botão OK para fechar esta mensagem.
Agora vamos conferir se os dados realmente foram importados.
Observe se a tabela ProdutosImportadosDoExcel foi realmente criada.
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.
	
Importando dados do Microsoft Access
Objetivo: Vamos importar dados de um banco de dados do Microsoft Access para outro banco de dados do próprio Microsoft Access.
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. 
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. Isto equivale a importar a estrutura das tabelas. 
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.  
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 MicrosoftAccess 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.
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 (.rtf)
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.

Mais conteúdos dessa disciplina