Microsoft Access Microsoft Access é uma aplicação que permite criar bases de dados e ter acesso a informação com a simplicidade habitual de uma aplicação que se serve dos recursos gráficos do Windows. Com o Access temos também a possibilidade de importar ou exportar dados de bases de dados de outras aplicações, nomeadamente Dbase, Foxpro, Excel, ASCII, Paradox e outras. Noção de base de dados A base de dados é uma colecção organizada de dados. Com uma base de dados podem manipular-se grandes quantidades de informação e gerir essa mesma informação. Esta gestão da informação permite fazer um conjunto de actividades tais como: Ø Definir quais os dados que vão ser guardados, a estrutura de base de dados Ø Receber e armazenar informação Ø Actualizar a informação a qualquer momento Ø Consultar a informação sempre que se desejar Ø Definir medidas de segurança. Uma base de dados, na sua forma mais simples, não passa de uma tabela com informação cruzada. Tecnicamente as colunas são denominadas de campos e a cada uma das linhas é denominada de registo. Campos Registo Normalmente, uma base de dados é constituída por inúmeras tabelas com objectivo de armazenar um grupo específico de informação, podendo depois criar-se uma relação entre essas tabelas. No que concerne à consulta de dados esta será tanto mais eficiente quanto melhor ordenadas estiverem as tabelas. Para este efeito existem os índices que contém referências às tabelas segundo uma ordenação. Assim uma mesma tabela pode ter vários índices. As bases de dados actuais não são apenas compostas por tabelas, mas também por vários outros tipos de ferramentas auxiliares como são os casos dos Relatórios (Reports), dos Formulários (Forms) e das Consultas (Queries). Com estes auxiliares podem-se obter relatórios de parte ou da totalidade de informação, facilitar a introdução de dados através de um formulário tipo, consultar a informação desejada utilizando para o efeito determinados critérios de selecção e até mesmo efectuar cálculos. O processo de criação de uma Base de Dados A construção de uma base de dados deve ser um processo cuidadosamente planeado, de forma a que a sua utilização seja clara, rápida e objectiva. Existem alguns aspectos fundamentais e importantes a considerar: 1. Determinar o objecto concreto da base de dados auxilia a decisão sobre os dados a armazenar 2. Elaborar as tabelas necessárias "dividir" a informação em grupos distintos 3. Determinar os campos definir as categorias de informação para cada tabela 4. Considerar relações futuras entre tabelas tentar determinar logo no início quais são campos que irão relacionar diferentes tabelas. Para iniciarmos o exemplo construído ao longo deste manual, crie uma nova base de dados em Access. Para activar o Access faça clique no botão Start (Iniciar), Programs (Programas), Microsoft Access. Aparecerá uma caixa de diálogo com seguintes opções: 1
Base de Dados Vazia (Blank Database) Assistente de Base de Dados (Database Wizard) Abrir uma Base de Dados Existente (Open an Existing Database) Escolha a primeira opção e indica o nome da nova base de dados (Exemplo). Será visualizada a Janela da Base de Dados (Datasheet Window): Tabelas É na tabela que toda a informação relativa a um grupo de informação será guardada. E por esta razão vai servir de base a todos os outros objectos que constituem o Access. A tabela está organizada por linhas e colunas, onde as linhas representam os registos e as colunas representam os campos. Na mesma base de dados poderemos ter várias tabelas. De início para que uma tabela possa receber informação terá de ser preparada. Criação de uma tabela Agora que já está posicionado na janela da base de dados, para criar a tabela clique sobre o botão Novo (New). Na caixa de diálogo que surgir estão disponíveis as seguintes opções de criação de uma tabela: Vista Folha de Dados (Datasheet View) A tabela é criada a partir da inserção de um conjunto de dados, que sendo verificados pelo Access, é lhes atribuído automaticamente um determinado tipo de campo. Vista Estrutura (Design View) A criação da tabela é feita totalmente pelo utilizador, com a indicação dos campos que pretende e das suas características. Assistente de Tabela (Table Wizard) Assistente que auxilia o utilizador na criação da tabela. 2
Importar Tabela (Import Table) Assistente para a importação de tabelas do Access ou de outras aplicações. Ligar Tabela (Link Table) Assistente que permite a criação de uma tabela de Access com um link (associação) a uma outra tabela (de outra base de dados, em Access ou Sistema de Gestão de Base de Dados (SGBD)). Selecciona a opção Vista Estrutura (Design View).Para além dos já habituais menus de comandos, barras de título, estado e botões, o ecrã de construção da tabela é composto por quatro zonas distintas: Nome do campo (Field Name), pode ter até 64 caracteres de comprimento. Tipo de Dados (Data Type), determina tipo de dados do campo. Tipos de Dados: Texto (Text) - alfanumérico, pode conter até 255 caracteres. Memo - alfanumérico, pode armazenar até 64 000 caracteres sendo utilizado para comentários, observações, etc. Número (Number) - para dados numéricos. Podem ter vários formatos: Byte 0 a 255 Integer -32 768 a 32 767 Long Integer -2 147 483 648 a 2 147 483 647 Single Double -3.402823 E38 a 3.402823 E38 (6 dígitos de precisão) -1.79769313486232 E308 a 1.79769313486232 E308 (10 dígitos de precisão) Replication ID código de replicação, utilizado na criação de uma réplica, em cópias sincronizadas de uma base de dados Data/Hora (Date/Time) - data e hora em diferentes formatos. Moeda (Currency) - formato monetário, que permite até 15 dígitos à esquerda e 4 dígitos à direita da casa decimal. Numeração automática (AutoNumber) por cada novo registo. O valor atribuído pode ser sequencial (increment) ou aleatório (random) Sim/Não (Yes/No) - valor booleano. Muito útil para campos em que só pode existir uma de duas opções. Objecto OLE (OLE Object) - campo para armazenar um objecto OLE (Object Linking and Embedding). Por exemplo, um gráfico criado em outra aplicação, a fotografia, um som, etc. Hiperligação (Hiperlink) - para armazenar um endereço que permita o acesso a um ficheiro ou a uma página HTML na World Wide Web ou numa Intranet e poderá ainda ser utilizado para endereços de outros serviços Internet, como FTP e Telnet. Assistente de Pesquisa (Lookup Wizard) - cria um campo que permite a criação de uma lista de valores, digitada ou obtida através de uma tabela ou query, através de uma combo box. Descrição (Description) zona de descrição do campo, que será visualizada quando estiver a preencher este campo. Propriedade do Campo (Field Properties) zona de definição das propriedades do campo. Exemplos de Propriedades: Tamanho do Campo (Field Size) número máximo de caracteres possíveis de introduzir no campo texto ou número (Por defeito é 50 para o texto e duplo para o número). Formato (Format) formato do campo, directamente relacionado com o seu tipo. Casas Decimais (Decimal Places) número de dígitos depois do símbolo decimal. 3
Máscara de Introdução (Input Mask) definição de uma máscara de regras de inserção de dados. Legenda (Caption) nome do campo quando o utilizador criar um Formulário (Form). Valor Predefinido (Default Value) valor predefinido para o campo, quando o utilizador cria um novo registo. Regra de Validação (Validation Rule) expressão que determina os conteúdos admitidos por esse campo. Texto de Validação (Validation Text) mensagem que surge no ecrã quando a regra de validação é infringida. Necessário (Required) indica (ou não) que é obrigatória a introdução de dados neste campo. Permitir Comprimento Zero (Allow Zero Length) permite (ou não) que o conteúdo de um campo texto ou memo seja zero (sem quaisquer caracteres). Indexado (Indexed) determina se este campo está ou não indexado. A indexação permite que as pesquisas efectuadas ao conteúdo desse campo sejam mais rápidas. Definição dos Campos e Chaves Primárias O exemplo é uma tabela que armazena os registos correspondentes aos dados pessoais dos portadores do Bilhete de Identidade: Depois de determinar os campos e suas propriedades, torna-se necessário decidir se existirá um campo que servirá de Chave primária (Primary key). No nosso exemplo o campo NºBI será a chave primária, pelo que devemos seleccioná-lo e fazer um clique no botão. Se não fosse indicada nenhuma chave primária, da primeira vez que fosse gravada a tabela, o Access iria questionar se não o pretendíamos fazer. Perante uma resposta afirmativa iria ser criado um campo Código ( ID ) do tipo Numeração Automática (AutoNumber). A tabela está pronta para edição de dados. Listas de Pesquisa (Lookup Lists) Permitem a selecção de informação existente, em vez da sua constante digitação: Para isso ao criar a estrutura da tabela, nomeadamente no campo Estado civil, aceder as suas propriedades de Pesquisa (Lookup): 4
Edição e Formatação da Tabela Introdução de Dados A tabela foi criada em modo Estrutura (Design View). Para inserir dados/ registos na tabela utiliza-se o modo Tabela de Dados (Datasheet View), através do botão Abrir (Open). Insere os dados relativos aos campos de cada registo: Para inserir um novo registo, a qualquer momento, clique no botão Alteração da largura das colunas e da altura das linhas Tal como no Excel, a forma mais fácil e rápida é utilizar o mouse. No entanto, a alteração da altura da linha afecta sempre todas as linhas da tabela de Access. Para voltar à situação normal, aceder ao menu Formatar (Format), comando Mostrar Colunas (Unhide Columns). Esconder e congelar colunas Para esconder coluna(s) seleccione a(s) coluna(s) pretendida(s), acede ao menu Formatar (Format), comando Ocultar Colunas (Hide Columns). Congelar colunas é uma opção que utilizamos quando queremos fixar um (ou vários) campos, do lado esquerdo do ecrã, de forma a que estes não desapareçam à medida que avançarmos para os campos mais à direita. Seleccione a(s) coluna(s) pretendida(s), acede ao menu Formatar (Format), comando Fixar Colunas (Freeze Columns). Para voltar à situação normal, aceder ao menu Formatar (Format), comando Libertar Todas as Colunas (Unfreeze Columns). Alterar Estrutura da Tabela Pode apagar campos (colunas) em modo Tabela de Dados (Datasheet View), seleccionando a coluna e utilizando o comando Eliminar Coluna (Delete Column) do menu Editar (Edit). Os próprios nomes dos campos podem ser alterados em modo Tabela de Dados (Datasheet View), sendo apenas necessário fazer clique duplo sobre o nome do campo respectivo e alterar. Formatação dos Dados Através do menu Formatar (Format), Tipo (Font). Copiar, mover e Apagar Dados Estas operações básicas com os dados são também utilizadas no Access como qualquer outra aplicação Windows, seja através do menu Editar (Edit), comandos Cortar/Copiar/Colar (Cut/ Copy/ Paste) ou dos respectivos botões. Ordenação Rápida dos Dados A qualquer momento, o utilizador pode ordenar a sua tabela, de forma ascendente ou descendente, bastando para isso: 1. Posicionar o cursor no campo pretendido 2. Aceder ao menu Registos (Records) e seleccionar o comando Ordenar (Sort) ou fazer clique num dos botões Relações entre Tabelas Sempre que possível, ao analisarmos a estrutura da nossa base de dados, devemos ter a preocupação de subdividir a informação em vários grupos (várias tabelas), de forma a possibilitar uma óptima gestão e organização da informação. Deste modo, ao criarmos a base de dados, serão constituídas várias tabelas, muitas das quais terão de ser relacionadas. 5
A definição de relações entre tabelas (Relationships) pode assumir várias formas, nomeadamente: um-para-um (one-to-one), que significa que para cada registo de uma tabela, existe um só registo relacionado em outra tabela. Por exemplo, entre uma tabela de vendedores e outra de viaturas atribuídas. um-para-muitos (one-to-many), que significa que para cada registo de uma tabela, existem muitos outros registos relacionados em outra tabela. Por exemplo, entre uma tabela de dados de clientes e outra de cursos facturados. muitos-para-muitos (many-to-many), que significa que para vários registos de uma tabela, existem muitos outros registos relacionados em outra tabela. Estas situações devem sempre ser decompostas em relações do tipo um-para-muitos. Para definir relações entre tabelas: 1. Acede ao menu Ferramentas (Tools) e seleccionar o comando Relacionamentos (Relationships) ou fazer um clique no botão 2. Ao surgir uma caixa de diálogo seleccione as tabelas e/ou consultas a relacionar. 3. Se as tabelas em causa já possuem chaves primárias, definidas em campos com a mesma designação, elas são de imediato construídas pelo Access. O campo de ligação deve ter, se possível, o mesmo nome e tem de ser do mesmo tipo em ambas as tabelas, excepção feita à relação entre um campo Numeração Automática (AutoNumber) e um campo Número(Number), em que este tem de ser obrigatoriamente do tipo Número-Inteiro Longo (Number-Long Integer). Consultas (Queres) Uma consulta (query) é uma forma de analisar a informação nas tabelas da base de dados, de forma a obter um conjunto filtrado de informação. As consultas permitem a visualização de dados contidos em uma ou várias tabelas, ou consultas. A alteração dos dados na consulta implica a sua imediata alteração na(s) tabela(s) a que está associada. Existem no Access quatro tipos principais de consultas: 1. Consulta Selecção (Select Query) São as consultas mais usadas pela maioria dos utilizadores, normalmente direccionadas para: seleccionar um conjunto de campos de uma ou várias tabelas criar condições que permitam filtrar um conjunto específico de registos criação de campos calculados e operações estatísticas com os registos. 2. Consulta Tabela de Referência Cruzada (Crosstab Query) São utilizados para a visualização dos registos em formato folha de cálculo, em que os dados obtidos surgem na intersecção entre dois campos. 3. Consultas de Acção (Action Query) Ao contrário das Consultas de Selecção, as consultas de acção têm como objectivo realizar um conjunto de operações que implicam mover ou alterar os dados contidos na(s) tabela(s). Existem vários tipos de consultas de acção: Ø Consulta Criar Tabela (Make-Table Query) utilizada para a criação de tabelas Ø Consulta Eliminar (Delete Query) permite o apagamento de conjuntos específicos de registos numa tabela Ø Consulta Acrescentar (Append Query) utilizada para adicionar registos a uma tabela já existente Ø Consulta Actualizar (Update query) possibilita a alteração de dados numa tabela. 4. Consultas Específicas SQL (SQL Specific) São consultas que apenas podem ser criadas com declarações escritas em linguagem SQL, não podendo ser convertidos para Consultas do tipo Selecção. Criação de uma Consulta de Selecção Para criar qualquer consulta, seja qual for o seu tipo: 1. posicione-se na janela de base de dados 2. seleccione o objecto consultas (Queres) 3. faça um clique no botão Novo (New). O Access apresenta-nos quatro assistentes (Wizard) para a criação de consultas: 6
Pode escolher o processo manual (sem assistentes), seleccionando o modo de Estrutura (Design View). No nosso exemplo utilizaremos o Assistente de Consulta Simples (Simple Query Wizard). Seleccione os campos que pretende. Por exemplo, NºBI, Apelido, Nome e Estado Civil da tabela Dados Pessoais. Depois atribua o nome a consulta e pressione o botão Terminar (Finish). Na figura seguinte é apresentada a consulta em que existe a selecção dos quatro campos da tabela Dados Pessoais. Condições Simples e Múltiplas Uma das funções mais importantes nas consultas é a possibilidade de criar um conjunto filtrado de dados, tendo por base condições (simples ou múltiplas). Consulta com condição simples: Pretende-se uma consulta que visualize somente os registos cujo estado civil seja casado. Para isso é necessário abrir a consulta em modo de Estrutura (Design) e indicar a condição simples na linha de Critérios (Criteria). Existem inúmeras possibilidades de enunciar condições na consulta. Algumas das situações mais utilizadas: Acção que condiciona os registos Sintaxe da condição na consulta Adaptação do Access data de nascimento maior que 1-01-58 >1-01-58 >#01-01-1958# a quantidade tem de estar contida entre >=200 and <=300 >=200 AND <=300 200 e 300 unidades o apelido deve ser Langa Langa Langa a localidade não pode ser Maputo not Maputo NOT Maputo a localidade tem de ser Maputo ou Beira Maputo or Beira Maputo OR Beira o nome deve começar por M M* LIKE M* 7
Consulta com condição múltipla: Pretende-se uma consulta com registos ordenados por ordem crescente dos Apelidos, em que Data de Nascimento seja superior a 1-01-58 e Estado Civil seja casado(a) ou Viuvo(a): Depois de activar a consulta (através do botão ou botão todos os registos correspondem às condições enunciadas. Consultas com Relações entre Tabelas Em algumas situações pode ser necessário obter uma consulta com um conjunto de registos constituído por dados oriundos de várias tabelas, pelo que surge a necessidade de as relacionar. Essa relação tem por base um campo comum (por exemplo, o NºBI); a relação mais usual designa-se por relação um-para-muitos (one-to-many) e significa que, para cada registo de uma tabela, existem muitos outros registos relacionados em outra. A grande diferença é que enquanto ao definir relações entre as tabelas na janela Relacionamento (Relationships), estas mantêm-se globalmente, as relações criadas numa consulta dizem apenas respeito a essa consulta específica. Relatórios (Reports) Um relatório é o objecto do Access normalmente utilizado para apresentar um conjunto de informação da base de dados, sob a forma de um documento impresso. Os relatórios podem ser criados através de três processos: Ø Estrutura (Design View) Ø Assistente de Relatórios (Report Wizard) Ø Relatórios Automáticos (Auto Reports) Isso significa que é possível personalizar um relatório, embora as possibilidades apresentadas pelos Assistentes sejam bastante próximas das necessidades usuais. Para a criação do Relatório: 1. Posicionando na janela da base de dados, seleccione o objecto Relatório (Reports) e faça um clique no botão Novo (New) 2. Posicionando no Assistente de Relatórios (Report Wizard), seleccione o nome da tabela ou consulta que irá servir de origem dos dados para o relatório e pressione OK. 8
3. Seleccione os campos que pretende e depois segue os passos do Assistente seleccionando o tipo, o estilho e atribuindo o nome ao Relatório. Formulários (Forms) Com os Formulários é possível apresentar, introduzir e alterar os dados dos registos de uma forma agradável através da utilização de vários tipos de fontes de letra, de outros tipos de efeitos gráficos, tais como as cores e os sombreados e vários recursos de desenho. Para criar um formulário: 1. Posicionando na janela da base de dados, seleccione o objecto Formulário (Forms) e faça um clique no botão Novo (New) 2. Posicionando no Assistente de Formulários (Form Wizard), seleccione o nome da tabela ou consulta que irá servir de origem dos dados para o formulário e pressione OK. 3. Seleccione os campos que pretende ver no formulário e depois segue os passos do Assistente seleccionando o tipo (Colunar, Tabular ou Datasheet), o estilho (Nuvens, Colorido, Internacional, Estandarte, etc.) e atribuindo o nome ao Formulário. É possível personalizar um formulário a partir de Vista de Estrutura (Design View). Importar uma tabela de Excel Uma das características mais positivas do Access é a facilidade com que trabalha dados em outros formatos, não só das aplicações que constituem o Office, mas de uma grande variedade de folhas de cálculo, processadores de texto e outros sistemas de gestão de bases de dados. Por exemplo, para importar uma tabela feita em Excel 97: 1. Posicionado na janela da base de dados, aceder ao menu Ficheiro (File) e seleccionar o comando Obter Dados Externos Importar(Get External Data Import) 2. Na caixa de diálogo que surge na ecrã, seleccionar o tipo de dados que iremos importar, assim como a sua localização e o nome do respectivo documento. Seleccionando o botão Importar (Import), aparecerá o Assistente de importação que irá questionar o utilizador sobre: A estrutura dos dados a importar Campos, indexações e chave primária Nome da tabela (no Access). Ao terminar a importação será visualizada uma caixa de diálogo informativa com a discrição da acção. Importar tabela do Excel por Arrastar e Largar (Drag and Drop) Porém, as características de transferência de informação no Access permitem-nos até arrastar um conjunto de células do Excel (Drag and Drop) e, ao largá-las na janela da base de dados do Access, obter, de imediato, uma tabela. Assim que largar o botão do mouse sobre a janela da base de dados, inicia-se o processo de importação, sendo questionado se a primeira linha dos dados devem corresponder aos nomes dos campos na nova tabela. A nova tabela de Access é criada com o nome predefinido Sheet1. Exportar tabela do Access por Arrastar e Largar (Drag and Drop) Poderá também exportar directamente por Arrastar e Largar (Drag and Drop) uma tabela de Access para o Word ou Excel. O processo é idêntico ao descrito anteriormente mas ainda mais facilitado, já que não existe a necessidade de qualquer confirmação ou informação por parte do utilizador. Assim que largar o botão do rato sobre a janela do documento do Word, é feita de imediato, a exportação e a inserção da respectiva tabela. 9