Tag Archives: access

Exemplo de gestão de prestações

Este exemplo mostra como fazer um sistema de gestão de prestações de pagamentos.

O que este exemplo mostra e faz é criar automaticamente, com um clique num só botão, as prestações de um contrato de venda mediante os dados inseridos. Ou seja, introduzimos o nome do cliente a data de inicio do contrato e o valor total a pagar. Depois basta clicar no botão “calcular prestações” que ele gera automaticamente o número de prestações indicadas e divide o valor por cada uma delas e calcula a data de cada prestação( uma por cada mês). Este também é um exemplo que demonstra como acrescentar vários registos de uma só vez, porque ao clicar no botão ele acrescenta um registo para cada uma das prestações.

Download: Inserir Vários Registos

Relacionamentos numa base de dados

Depois de ter estabelecido diferentes tabelas para cada assunto na sua base de dados, você precisa de uma maneira de informar ao Microsoft Access como reunir novamente essas informações. O primeiro passo nesse processo é definir os relacionamentos entre as suas tabelas. Depois de ter feito isso, você pode criar consultas, formulários e relatórios para exibir informações provenientes de várias tabelas de uma vez.

Como funcionam os relacionamentos?

Um relacionamento um-para-muitos
O relacionamento um-para-muitos é o tipo mais comum de relacionamento. Num relacionamento um-para-muitos, um registo na Tabela A pode ter muitos registos coincidentes na Tabela B, mas um registo na Tabela B tem um só registo coincidente na Tabela A.

Um relacionamento muitos-para-muitos
Num relacionamento muitos para-muitos, um registo na Tabela A pode ter muitos registos coincidentes na Tabela B, e um registo na Tabela B pode ter muitos registos coincidentes na Tabela A. Esse tipo de relacionamento só é possível definindo-se uma terceira tabela (denominada tabela de associação) cuja chave primária consista em dois campos as chaves estrangeiras provenientes tanto da Tabelas A como da B. Na verdade, um relacionamento muitos-para-muitos são dois relacionamentos um-para-muitos com uma terceira tabela. Por exemplo, a tabela Pedidos e a tabela Produtos têm um relacionamento muitos-para-muitos que é definido criando-se dois relacionamentos um-para-muitos para a tabela Detalhes do Pedido.

Um relacionamento um-para-um
Em um relacionamento um-para-um, cada registo na Tabela A pode ter somente um registo coincidente na Tabela B, e cada registo na Tabela B pode ter somente um registo coincidente na Tabela A. Esse tipo de relacionamento não é comum, pois a maioria das informações assim relacionadas estaria em uma só tabela. A utilização de um relacionamento um-para-um é recomendada quando você deseja dividir uma tabela com muitos campos, isolar parte de uma tabela por segurança ou armazenar informações que se apliquem somente a um subconjunto da tabela principal. Pode ser que você queira, por exemplo, criar uma tabela para registar os funcionários que participam de um jogo de futebol para levantamento de fundos.

Definindo relacionamentos
Você define um relacionamento adicionando as tabelas que deseja relacionar com a janela Relacionamentos e, em seguida, arrastando o campo chave de uma tabela e soltando-o no campo chave da outra tabela.
A espécie de relacionamento que o Microsoft Access cria depende de como os campos relacionados são definidos:
• Um relacionamento um-para-muitos é criado quando somente um dos campos relacionados é uma chave primária ou tem um índice exclusivo.
• Um relacionamento um-para-um é criado quando ambos os campos relacionados são chaves primárias ou têm índices exclusivos.
• Na verdade, um relacionamento muitos-para-muitos são dois relacionamentos um-para-muitos com uma terceira tabela cuja chave primária consiste em dois campos  as chaves estrangeiras das outras duas tabelas.
Observação Se você arrastar um campo que não seja uma chave primária e que não tenha um índice exclusivo para um outro campo que não seja uma chave primária e não tenha um índice exclusivo, será criado um relacionamento indeterminado. Em consultas que contenham tabelas com um relacionamento indeterminado, o Microsoft Access exibe uma linha de associação padrão entre as tabelas, mas a integridade referencial não é imposta e não há garantia de que os registos sejam exclusivos em cada tabela.

Definir cores dos formulários de acordo com as cores do sistema do Microsoft Windows

Utilizando as propriedades CorDoFundo, CorDaBorda e CorDePrimeiroPlano, você pode criar no Microsoft Access um esquema de cores que coincida com o esquema de cores utilizado em outros aplicativos do Windows. Isso é particularmente útil quando você está desenvolvendo um aplicativo para ser distribuído para vários utilizadores. Definir propriedades de cor como cores de sistema do Windows permite que você especifique uma única definição que pode exibir cores diferentes nos computadores de utilizadores diferentes, conforme as cores que eles tenham escolhido no Painel de Controle do Windows.
1 Abra um formulário em modo Estrutura.
2 Abra a folha de propriedades da secção ou controle.
3 Na folha de propriedades, clique na propriedade Cor do Fundo, Cor da Borda ou Cor de Primeiro Plano.
4 Na caixa da propriedade, digite um dos números listados na tabela a seguir. Por exemplo, se você desejar que o segundo plano de seu formulário exiba a mesma cor que você ou outro utilizador utiliza como cor de segundo plano do Windows, defina a propriedade Cor do Fundo como -2147483643, o valor de Janela.
Elemento da tela Valor

Barra de rolagem -2147483648
Área de trabalho -2147483647
Barra de título da janela ativa -2147483646
Barra de título da janela inativa -2147483645
Barra de menu -2147483644
Janela -2147483643
Moldura da janela -2147483642
Texto do menu -2147483641
Texto da janela -2147483640
Texto da barra de título -2147483639
Borda da janela ativa -2147483638
Borda da janela inativa -2147483637
Segundo plano do aplicativo -2147483636
Realce -2147483635
Texto realçado -2147483634
Superfície 3-D -2147483633
Sombra 3-D -2147483632
Texto esmaecido (desativado) -2147483631
Texto de botão -2147483630
Texto da barra de título da janela inativa -2147483629
Realce 3-D -2147483628
Sombra escura 3-D -2147483627
Luz 3-D -2147483626
Texto da Dica de Ferramentas -2147483625
Segundo plano da Dica de Ferramentas -2147483624

Observações
• O valor da cor de sistema do Windows refere-se apenas à cor do elemento de tela listado, e não ao tipo de objecto ao qual pode ser atribuído. Por exemplo, você poderia definir a propriedade Cor do Fundo de uma caixa de texto como a cor de sistema do Windows para as barras de deslocamento, a área de trabalho ou qualquer outro elemento da tela.
• Os valores para os elementos de tela do Windows são sempre os mesmos, independente das definições de cor do utilizador.
• Você pode também definir as propriedades CorDoFundo, CorDaBorda e CorDePrimeiroPlano como uma cor de sistema do Windows utilizando o Visual Basic para aplicativos.

Normalização ( Escolha de chaves primárias )

É o processo formal passo a passo que examina os atributos de uma entidade, com o objectivo de evitar anomalias observadas na inclusão, exclusão e alteração de sequências exclusivas.

Objectivos

1º) Minimização de redundâncias e inconsistências;
2º) Facilidade de manipulações do Banco de Dados;
3º) Facilidade de manutenção do Sistema de Informações.

1ª Forma Normal (1FN)

Uma relação está na 1FN se somente todos os domínios básicos contiverem somente valores exclusivos (não contiver grupos repetitivos).

Procedimentos:

a) Identificar a chave primária da entidade;
b) Identificar o grupo repetitivo e remove-lo da entidade;
c) Criar uma nova entidade com a chave primária da entidade anterior e o grupo repetitivo.

A chave primária da nova entidade será obtida pela concatenação da chave primária da entidade inicial e a do grupo repetitivo.

Ex.: Pedido

(numero_pedido; data_pedido; cod_cliente; nome_cliente; endereco_cliente; (codigo_produto; numero_produto; quantidade_produto; preco_produto; total_produto) total_pedido)

Pedido => (numero_pedido; data_pedido; cod_cliente; nome_cliente; endereco_cliente)

Item_Pedido => (numero_pedido; cod_produto; nome_produto; quantidade; preco_produto; total_produto)

Dependência Funcional

Dada uma relação R, o atributo X de R é funcionalmente dependente do atributo X de R se somente se sempre que duas sequências de R combinarem em seus valores de X elas também combinarem no valor de X.

2ª Forma Normal (2FN)

Uma relação R está na 2FN se e somente se ela estiver na primeira e todos os atributos não chave forem totalmente dependentes da chave primária (dependente de toda a chave e não apenas de parte dela).

Procedimentos:

a) Identificar os atributos que não são funcionalmente dependentes de toda a chave primária.
b) Remover da entidade todos esses atributos identificados e criar uma nova entidade com eles.
A chave primária da nova entidade será o atributo do qual os atributos do qual os atributos removidos são funcionalmente dependentes.

Produto => ( cod_produto, nome_produto, preco_produto)

Dependência Transitiva

Sejam A, B e C três atributos de uma entidade X. Se C depender de B e B depender de A então dizemos que C é transitivamente dependente de A.

3ª Forma Normal (3FN)

Uma relação R está na 3FN se somente estiver na 2FN e todos os atributos não chave forem dependentes não transitivos da chave primária (cada atributo for funcionalmente dependente apenas dos atributos componentes da chave primária ou se todos os seus atributos não chave forem independentes entre si).

Procedimentos:

a) Identificar todos os atributos que são funcionalmente dependentes de outros atributos não chave;
b) Remove-los e criar uma nova entidade com os mesmos.
A chave primária da nova entidade será o atributo do qual os atributos removidos são funcionalmente dependentes.

Cliente (cod_cliente; nome_cliente; endereco_cliente)
Produto (cod_produto; nome_produto; preco_produto)
Pedido (numero_pedido; data_pedido; ; total_pedido)

Soma corrente ( extracto )

Este é um pequeno exemplo que demonstra como podemos fazer uma soma corrente, ou seja, como se vê nos extractos bancários por exemplo.

Para o campo total utilizamos a função Dsoma para calcular o valor anterior mais o crédito e subtrair o débito.
Para fazer download do exemplo clique aqui

Relatórios

Pode-se utilizar relatórios para apresentar dados impressos. Com um relatório, é possível apresentar as informações de um modo mais resumido do que em um formulário. Por exemplo, você pode incluir totais através de todo um conjunto de registos.
Um relatório se assemelha a um formulário, porém propicia um maior controle sobre a exibição dos dados quando impressos.

A diferença-chave entre formulários e relatórios é o modo como os dados são agrupados. Você agrupa dados em um formulário criando um formulário principal que contenha um subformulário. O formulário principal é baseado em uma tabela ou consulta, e o subformulário se baseia em uma tabela ou consulta relacionada. Em contraposição, você pode agrupar dados em um relatório a partir de uma única tabela ou consulta. A tabela ou consulta, no modo Folha de dados, e o relatório exibem o mesmo conjunto de dados; mas cada um apresentando os dados de modo diferente.

Cabeçalho do Relatório-Aparece apenas uma vez por Relatório. Pode ser usado para imprimir o Logo da empresa ou alguma explicação preliminar.
Cabeçalho de Página-Aparece no topo de todas as páginas. Usados para exibir os nomes das colunas do relatório.
Cabeçalho do grupo-Será exibido no início de cada grupo (quebra). Usado para exibir, por exemplo, o nome de um novo Grupo.
Detalhe É o corpo do relatório. Será exibido para cada registo processado.

Rodapé do grupo-Aparece no final de um grupo de registos. Pode-se utiliza-lo para exibir totais do grupo.
Rodapé da página-Aparece na base de cada página do relatório. Usado para imprimir o nome do relatório e o número da página.
Rodapé do relatório-Aparece apenas uma vez por relatório, no seu final. Usado para exibir Gerais. Ele aparece após o rodapé da última página.

Formulários

Quando você cria um formulário, cria uma forma de comunicação entre você e os dados armazenados no Access. Embora possa criar formulários simples que se parecem muito com os familiares formulários de papel, você pode também melhorar a aparência deles com recursos visuais interessantes – tais como cores e sombras para definir secções diferentes, figuras ou gráficos – e uma grande variedade de controles. Os formulários do Access podem conter botões, listas de selecção, botões de opção e subformulários embutidos que fornecem maior funcionalidade que os típicos de papel.

Exemplo de um formulário

Criando um formulário com a ajuda de um Assistente
O Assistente faz perguntas sobre o formulário que você deseja criar e então cria um formulário baseado nas suas respostas.

Para criar um formulário com a ajuda de um assistente
1. Na janela Banco de Dados, clique sobre o botão Formulários e então escolha o botão Novo.

Aparecerá a caixa de diálogo Novo Formulário na qual você escolherá qual a forma de criação do formulário você deseja usar. Veja ilustração ao lado.
2. Para usar o assistente seleccione a opção Assistente de Formulário.
3. Na caixa que aparece na parte de baixo, clique na setinha para escolher a tabela ou a consulta de origem do formulário.
4. Clique em OK.

Se o Assistente não criar o formulário da maneira desejada, você poderá alterar o formulário manualmente no modo Estrutura, ou poderá utilizar o Assistente novamente e escolher opções diferentes à medida em que responde as perguntas.

Tabelas

Uma base de dados contém uma ou mais Tabelas relacionais. Uma Tabela é uma colecção de informações relacionadas, geralmente organizadas em linhas horizontais e colunas verticais.
É possível comparar as Tabelas com folhas do Excel. Pode-se criar uma folha no Excel, por exemplo, para controlar alunos e inserir o nome de cada um em uma linha separada. Cada categoria de informações de cada aluno é inserida nas várias colunas: o nome, a classe, o número de chamada e assim por diante. Cada conjunto de informações sobre cada aluno aparece em uma linha separada.

Conceitos
Registos e Campos
As tabelas são formadas por registos e os registos são formados por Campos.

Os Campos e seus Tipos de dados
Um tipo de dado define qual o tipo de informações que poderá ser armazenada no campo em questão.
Por exemplo:
Texto – Podem ser escritos letras e números.
Numérico – Só podem ser escritos números, não é aceite letras.
Data – Só é aceite números no formato de data, não podem ser escritos números decimais e nem texto.

Definindo os campos de uma Tabela
Abaixo você tem a definição dos itens da parte superior da janela.
Ao escolher os Tipos de dados para cada campo é apresentado um menu onde você deverá definir o tipo de dado que o campo suportará.

Nome do Campo-Define o nome a ser dado ao campo, por exemplo Classe.
Tipo de Dados-Define o tipo de informações que poderão ser armazenadas neste campo.
Descrição-Permite que seja criada uma descrição sobre a natureza do campo em questão. O Access usa a descrição para a propriedade texto da barra de status em novos formulários, de modo que a descrição aparece na barra de status quando você visualiza dados no formulário.

Tipo de dado
Texto-Textos e os números, como por exemplo nomes e caracteres.
Memorando-Texto e números extensos, como comentários ou explicações; até 32.000 caracteres.
Número-Dados numéricos nos quais você pretende executar cálculos matemáticos, com excepção de cálculos envolvendo dinheiro. Defina a propriedade Tamanho do Campo para definir o tipo de dados “Número” específico.
Data/Hora-Datas e horas. Existe uma variedade de formatos de exibição disponíveis ou pode-se também criar um formato.
Moeda-Valores de moeda. Não utilize o tipo de dados “Número” para valores monetários, porque os números à direita do decimal poderão ser arredondados nos cálculos. O tipo de dados “Moeda” mantém uma precisão fixa.
Auto-Numeração-Um número sequencial exclusivo (incrementado em 1).Este campo será iniciado do número 1 e a cada registo colocado ele aumentará de um em um. Os campos AutoNumeração não podem ser actualizados. Para obter maiores informações sobre, consulte o tópico da propriedade
Contador-Números sequenciais automaticamente inseridos pelo Access. A numeração inicia em 1. É um óptimo campo para chave primária.
Sim/Não-Sim/Não, Verdadeiro/Falso, Ativado/Desativado ou campos que conterão somente um de dois valores.
Objeto OLE-Objectos criados noutros programas com a utilização do protocolo OLE que poderão ser vinculados ou incorporados a um banco de dados do Access através de um controle em um formulário ou relatório.
Assistente de Pesquisa-Cria um campo que permite a você escolher um valor de uma outra tabela ou de uma lista de valores usando uma caixa de combinação. A escolha dessa opção na lista Tipo de Dados inicia o Assistente de Pesquisa para definir o tipo de dados.