Página pessoal
Programação » Access » Tabelas
Todos os dados no Access são armazenados em tabelas.
Uma tabela consiste de linhas, chamadas fichas, (em inglês, record) e de colunas, chamadas campos, (em inglês, fields). Os campos contém um dado sobre o assunto da ficha, por exemplo, numa ficha de formandos um campo pode ser a data de nascimento.
Para quem está habituado ao Excel, regra geral, importar dados do Excel para o Access implica criar um tabela por cada página da folha de cálculo.
Após se ter feito a análise de dados e se ter criado uma base de dados é necessário começar a criar as tabelas onde se vai colocar os dados. As tabelas apresentam fichas correspondentes às linhas e campos correspondentes às colunas. Para criar uma tabela carrega-se no símbolo de tabela e no botão NEW.
Quando se faz isso surge uma caixa como a que está acima. Nesta caixa vai-se introduzir o nome dos campos, o seu tipo e uma descrição acerca de cada campo.
Para deslocar-se ao longo dos vários campos pode-se utilizar o rato, a tecla de TAB ou as setas e o ENTER. Os nomes dos campos vão surgir nos vários tipos de entidades a serem criadas posteriormente. De igual modo o que estiver colocado em Description surgirá sempre que se entre no campo respectivo num formulário criado automaticamente.
Na parte de baixo da janela controla-se as propriedades dos campos que se estão a introduzir e tem uma zona descritiva com informação acerca do que se está a fazer. Para modificar uma tabela basta seleccionar uma tabela e carregar no botão DESIGN.
É possível ainda criar tabelas a partir directamente de dados ou de outros ficheiros.
Após se ter colocado todos os campos executa-se o comando FILE SAVE ou FILE SAVE AS e na caixa de diálogo que surge indica-se o nome a atribuir à tabela. De notar que no caso de se tentar fechar a janela sem ter gravado a tabela o programa pergunta se não quer gravar e em caso afirmativo pergunta o nome a atribuir à tabela.
Para fechar uma tabela executar o comando FILE CLOSE. De notar que no caso de ter alterado a tabela e não ter gravado as alterações o programa pergunta se não as quer gravar e aguarda uma confirmação antes de a fechar.
A cada campo vai corresponder um nome. O nome dum campo em Access pode ter até 64 letras, incluindo espaços em branco. Os únicos caracteres que não pode ter são: ( . ), ( ! ) e ( ] ).
Se pretende que a informação introduzida no Access seja posteriormente passada para outros programas será aconselhável não usar espaços em branco uma vez que alguns programas não gostam muito dos mesmos.
O campo pode ser de vários tipos de acordo com a informação a ser armazenada nesse campo. Os tipos de campos existentes são:
| Text | Tipo por omissão. O texto neste campo terá o tamanho indicado sem no entanto exceder 255 caracteres. |
| Memo | Texto com um comprimento máximo de 32000 caracteres. Os campos Memo não podem ser indexados. |
| Number | Qualquer tipo numérico. Ver a tabela de tipos numéricos. |
| Date/Time | Valores de data e hora desde o ano 100 ao 9999. |
| Currency | Valores monetários. Este número é preciso até 15 números no lado esquerdo do ponto, o que equivale a 100 mil milhões de contos e até 4 números do lado direito do ponto. |
| Autonumber | Contador. Um número incrementado automaticamente pelo Microsoft Access sempre que uma nova ficha é acrescentada à tabela. Estes campos não podem ser actualizados. Este campo é do tipo longo inteiro. Ao colocar-se um campo deste tipo garante-se que não vai haver 2 fichas com o mesmo número mas no entanto não é possível recuperar "furos" na numeração. |
| Yes/No | Este campo só pode ter os valores Yes e No. Este campo não pode ser indexado. |
| OLE Object | Neste campo pode-se colocar um objecto OLE. Os objectos OLE serão criados através de outras aplicações servidoras de OLE como o Excel ou o Paint. Através deste campo é possível, por exemplo, colocar imagens. O tamanho máximo é de cerca de 128 megabytes. Este campo não pode ser indexado. |
| Hyperlink | Neste campo pode ser guardada uma ligação para um endereço Web. |
| Byte | Guarda números inteiros entre 0 e 255. Ocupa 1 byte. |
| Integer | Guarda números inteiros entre -32768 e 32767. Ocupa 2 bytes. |
| Long Integer | Guarda números inteiros entre -2147483648 até 2147483647. Ocupa 4 bytes. |
| Single | Guarda números com seis dígitos de precisão desde -3.402823E38 até 3.402823E38. Ocupa 4 bytes. |
| Double | Tipo por defeito. Guarda números com dez casas de precisão desde 1.79769313486232E308 até 1.79769313486232E308. Ocupa 8 bytes. |
| Replication ID | Usado quando se faz replicação da base de dados |
| Decimal | Guarda os números de forma precisa. Usado para cálculos precisos com dinheiro por exemplo. |
Quanto menos bytes ocupar um número menos memória ocupará a base de dados e mais rápidas serão as pesquisas e alterações nesse campo. No entanto isto só é relevante para bases de dados bastante grandes.
Se pensa que o valor de um campo poderá crescer para lá do limite do tipo numérico é recomendável colocar o tipo de campo com maior capacidade a fim de evitar ter que mexer na base de dados mais tarde.
Um número sobre o qual não se pretendam efectuar cálculos deverá normalmente ser guardado como texto. Por exemplo, números de telefones.
Se escolher como tipo de campo o lookup Wizard irá ter várias perguntas que permitirão criar um campo que só pode assumir alguns valores.
A cada campo vão estar associadas um conjunto de propriedades. Estas variam de acordo com o tipo de campo. As propriedades existentes são:
| Tipo de campo | Propriedades |
| Text | Field Size, Format, Caption, Default Value, Validation Rule, Validation Text, Indexed. |
| Memo | Format, Caption, Default Value, Validation Rule, Validation Text. |
| Number | Field Size, Format, Decimal Places, Caption, Default Value, Validation Rule, Validation Text, Indexed |
| Date/Time | Format, Caption, Default Value, Validation Rule, Validation Text, Indexed |
| Currency | Format, Decimal Places, Caption, Default Value, Validation Rule, Validation Text, Indexed |
| Counter | Format, Caption, Indexed |
| Yes/No | Format, Caption, Default Value, Validation Rule, Validation Text |
| OLE Object | Caption, Validation Rule, Validation Text |
Descrevem-se em seguida algumas destas propriedades dos vários campos e quais os valores possiveis para as mesmas.
Quando se coloca um campo como indexado cada vez que vai se adicionar uma ficha na tabela é escrito numa tabela com os indíces de uma forma ordenada a referência desse campo.
Este processo faz com que demore mais tempo a introdução de cada ficha mas, no entanto, quando se pesquisa a informação sobre um campo indexado a pesquisa é bastante mais rápida. Por exemplo, as listas telefónicas estão ordenadas por ordem alfabética do nome, ou seja é mantido um índice pelo nome.
No computador é possível criando vários índices obter ordenações dos telefones por morada ou localidade facilitando a pesquisa por esses campos. Os índices podem ser simples ou compostos por vários campos.
Se determinar que um valor no índice é único isso significa que não pode haver 2 fichas com o mesmo valor para esse campo nessa tabela.
Uma chave primária é um valor ou combinação de valores através dos quais se identifica de forma única cada ficha existente na base de dados não podendo existir valores da chave primária repetidos.
Embora não seja obrigatório o seu uso é aconselhável, pois acelera a pesquisa da informação e permite definir ligações por defeito entre tabelas.
Os passos necessários para criar uma chave primária são:
O tipo de campo autonumber costuma ser utilizado para chave primária. Quando a chave primária duma tabela é referida a partir de outra tabela designa-se nessa tabela por chave estrangeira e para permitir efectuar relacionamento entre tabelas deverá ser do mesmo tipo de campo que a chave primária.
Após se ter criado uma tabela o passo seguinte é acrescentar dados a essa tabela. Após se ter criado uma tabela está-se no modo de visualização DESIGN, pelo que é necessário mudar para o modo de visualização DATASHEET.
Quando se passa para este modo de edição surge uma tabela que no cimo tem o nome dos campos e nas várias linhas vai ter as fichas com os dados.
Assim que se começa a escrever numa ficha o selector de linha passa para um lápis. Para escrever numa linha basta carregar com o cursor do rato sobre o ponto onde se pretende escrever. No caso de querer só alterar os valores existentes carregue em F2 tendo a célula que quer alterar destacada.
No fim fica uma linha em branco que serve para acrescentar novas fichas às já existentes. As alterações a cada ficha são gravadas automáticamente após se ter mudado para outra ficha.
Após se terem criado várias tabelas podem-se estabelecer ligações entre tabelas da seguinte forma:
Após se ter criado as tabelas passa-se à edição de dados. Nesta interessa-nos visualizar as várias fichas e toda a informação nelas contida. A forma de visualização DATASHEET é a mais fácil de aprender a utilizar.
Para editar os dados neste modo de visualização deve-se fazer:
De notar que o número de ficha que aqui surge corresponde ao número de ordem no conjunto que está a ser editado. É normal que este número não corresponda ao número da ficha.
Quando a coluna não tem dimensão suficiente para mostrar toda a informação para a visualizar pode-se alterar o tamanho da coluna. Para tal fazer:
Para quem já trabalha com o Excel o processo não tem nada de novo. Através dos menus pode-se executar o comando LAYOUT COLUMN. Também se pode alterar a altura das linhas mas não é muito habitual.
Quando se têm muitos campos interessa, regra geral, manter um ou mais campos a serem sempre visualizados. Para tal é necessário “congelar” esses campos. Para tal faz-se:
Para retirar esta opção executa-se o comando LAYOUT UNFREEZE COLUMNS.
Para deslocar colunas neste modo de visualização fazer:
Para esconder colunas fazer o seguinte:
Para mostrar as colunas escondidas fazer:
Para fazer isto executar o comando FILE SAVE LAYOUT.
É possível alterar os dados introduzidos numa tabela em várias fichas de uma só vez. Para tal fazer:
Para apagar fichas basta fazer:
Não basta saber trabalhar com o Access, é necessário conseguir importar e exportar informação de outras bases de dados.
A forma mais simples é utilizar o Clipboard -Aproveitando o facto do Access trabalhar em Windows pode-se importar e exportar dados através do Clipboard para qualquer outra aplicação do Windows.
Porém os processos mais importantes serão a importação de dados a partir do Excel e a partir do Dbase.
Em qualquer caso a forma de efectuar uma importação é:
Abrir a base de dados para a qual se pretende importar dados.
Executar o comando FILE - GET EXTERNAL DATA - IMPORT.
Escolher o tipo de dados a importar.
Seleccionar o ficheiro a partir do qual se pretendem importar os dados.
De notar que em qualquer importação efectuada pelo programa este cria automáticamente uma tabela com os erros existentes na passagem dos dados.
Por vezes os caracteres especiais como sejam palavras com acentos perdem parte da informação durante a tradução, nesses casos é necessário voltar a colocar os acentos ou tentar importar primeiro para outros programas onde os acentos não sejam alterados.
É ainda possível a nível de programação fazer ligação a outros programas.
O Access permite ainda ter ligações exteriores a ficheiros exteriores que funcionam como tabelas externas.
Para importar dados do Excel convém que estas estejam dispostos sob a forma de linhas com as fichas e de colunas com os campos. A primeira linha é considerada como tendo os nomes dos campos.
No caso de ter dificuldade a importar um campo numérico por parte dos valores lá colocados estarem como texto tente colocar a primeira ficha com este campo também do tipo texto isto faz que o Access tente reconhecer esse campo como sendo de tipo texto deixando de se ter alguns erros.
No caso de ter problemas na importação dos dados verifique ainda os seguintes aspectos:
Verifique que o ficheiro do Excel se encontra fechado.
Verifique que a versão de Access com que está a trabalhar permite importar ficheiros da versão de Excel com que está a trabalhar. Pode no Excel pedir para gravar os dados num formato diferente.
Verifique se os nomes das colunas no Excel têm caracteres especiais ou estão repetidos.