53
MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) Informática para Gestores Bráulio Alturas (ISCTE-IUL / DCTI)

Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA)

Informática para Gestores

Bráulio Alturas (ISCTE-IUL / DCTI)

Page 2: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 2

DESENVOLVIMENTO DE BASES DE DADOS EM MS ACCESS

Bráulio Alturas

1. TABELAS E RELAÇÕES ................................................................................................................................... 3

1.1. CONTEXTUALIZAÇÃO ................................................................................................................................ 3

1.2. O MICROSOFT ACCESS ............................................................................................................................ 4

1.3. OBJECTIVOS .............................................................................................................................................. 5

1.4. CASO DE ESTUDO ..................................................................................................................................... 6

1.5. ANÁLISE ...................................................................................................................................................... 7

1.6. DESENHO ................................................................................................................................................... 9

1.7. IMPLEMENTAÇÃO DE TABELAS EM ACCESS ....................................................................................... 11

1.8. ANEXO ....................................................................................................................................................... 25

2. CONSULTAS DE SELECÇÃO ......................................................................................................................... 28

2.1. OBJECTIVOS ............................................................................................................................................ 28

2.2. IMPLEMENTAÇÃO DE CONSULTAS EM ACCESS ................................................................................. 29

3. FORMULÁRIOS E RELATÓRIOS .................................................................................................................... 40

3.1. IMPLEMENTAÇÃO DE FORMULÁRIOS EM ACCESS ............................................................................. 40

3.2. IMPLEMENTAÇÃO DE RELATÓRIOS EM ACCESS ................................................................................ 50

Page 3: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 3

1. TABELAS E RELAÇÕES

1.1. CONTEXTUALIZAÇÃO

Este documento de apoio servirá para acompanhar as aulas práticas, que traduzindo todas as fases de desenvolvimento de um sistema de informação – Análise, Desenho e Implementação – pela aplicação a um mini Caso de Estudo. Obviamente, que o enfoque destes elementos de estudo será na fase da implementação, sendo as restantes fases (Análise e Desenho) abordadas do ponto de vista meramente de contextualização e definição do problema em estudo.

Assim, as aulas serão apoiadas pelo presente documento de apoio, onde será descrito passo a passo o trabalho a desenvolver acompanhado pela apresentação e descrição das potencialidades do Access, que será utilizado como ferramenta de trabalho para a construção de um mini sistema de informação.

O presente documento de apoio apresentará em traços gerais a seguinte estrutura:

• Objectivos – apresentação dos objectivos propostos durante as respectivas sessões de trabalho.

• Plano de Trabalho – trabalho a realizar durante a aula. Esta fase será composta de tarefas devidamente discriminadas a realizar onde serão explicitados todos os passos a dar, bem como tarefas onde o problema será colocado devendo o aluno tentar solucioná-lo da melhor forma atendendo às informações fornecidas pelo manual.

• Anexo – contém uma descrição pormenorizada de algumas funcionalidades/características do Access que não se encontram definidas no corpo do Plano de Trabalho.

Recomenda-se a leitura integral do documento e alerta-se para o facto de que o sucesso e rentabilidade do

trabalho estão dependentes dessa leitura.

Page 4: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 4

1.2. O MICROSOFT ACCESS

O Access é um Sistema de Gestão de Bases de Dados Relacional (SGBD), em inglês Relational Database Management System (RDMS).

O Access foi criado para ser utilizado como um SGBD isolado num único posto de trabalho, ou num modo cliente/servidor compartilhado numa rede. Como os dados podem ser partilhados com outros utilizadores, o Access dispõe de excelentes mecanismos de segurança e integridade dos dados.

Podem ser definidos grupos de utilizadores que possam aceder a tabelas, formulários, etc. O Access fornece automaticamente mecanismos de bloqueio para garantir que dois utilizadores não possam actualizar um objecto ao mesmo tempo.

As principais funções do Access são:

• Definição e armazenamento de dados - podem ser definidos quais os dados que serão armazenados na base de dados, o tipo de dados (por exemplo: números ou caracteres) e como os dados são relacionados. Em alguns casos pode ainda ser definido como se devem formatar os dados e como devem ser validados.

• Manipulação de dados - os dados podem ser trabalhados de muitas formas, nomeadamente seleccionando os campos de dados que se pretendem filtrar ou classificar, e associar os dados a outras informações relacionadas.

• Controlo de dados - pode ser definido quem está autorizado a ler, actualizar ou inserir dados. Em muitos casos também é possível definir como os dados são compartilhados e actualizados por múltiplos utilizadores.

Atendendo à diversidade de funções facultadas, um documento Access, também designado por base de dados (database), é constituído por um conjunto de objectos (objects) relacionados. Assim, uma base de dados pode conter:

• Tabelas (Tables) – estruturas de dados que permitem armazenar informação relativa a um determinado assunto.

• Consultas (Queries) – constituem o resultado de operações efectuadas sobre a informação constante de uma ou mais tabelas da base de dados.

• Formulários (Forms) – objectos gráficos que definem um layout de ecrã, criados para facilitar a visualização e actualização da informação constante da base de dados.

• Relatórios (Reports) – estruturas destinadas à apresentação de dados em relatórios impressos.

• Páginas Web (Pages) – página para publicação e inserção de elementos através da Internet.

• Macros (Macros) – conjunto de acções que serão desencadeadas automaticamente em determinadas circunstâncias.

• Módulos (Modules) – módulos de código escritos em linguagem Visual Basic for Applications (VBA). A criação de módulos exige conhecimentos e utilização de técnicas de programação. Os módulos de código são utilizados para executar tarefas mais complexas do que aquelas que podem ser executadas através de macros.

Page 5: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 5

Desta forma, importa salientar que com o Microsoft Access, um sistema de informação poderá ser definido num único ficheiro. Nesse ficheiro os dados são separados em “arquivos” chamados tabelas. Podemos procurar e isolar um subconjunto desses dados mediante critérios de selecção através de consultas à base de dados. Podemos ainda visualizar, adicionar e alterar os dados contidos nas tabelas através de formulários. Finalmente, podemos analisar e imprimir os dados num formato por nós definido através de relatórios.

1.3. OBJECTIVOS

O presente módulo tem como objectivos:

• Apresentar o Caso de Estudo, objecto de trabalho das próximas aulas.

• Análise do problema proposto. Desta fase de desenvolvimento resultarão os modelos UML de Casos de Uso (Use Cases) e de Classes de Objectos.

• Desenho da base de dados recorrendo à criação do Modelo Relacional a implementar com base no Diagrama de Classes.

• Início do processo de implementação do sistema de informação:

o Definição e implementação da estrutura de dados

o Criação de relações entre as tabelas

o Inserção de dados nas respectivas tabelas

o Verificação das regras de integridade referencial

o Manipulação de registos

Page 6: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 6

1.4. CASO DE ESTUDO

O presente caso de estudo é um mini problema cujo principal objectivo é exemplificar o processo de implementação, desta forma o problema em estudo não visa o desenvolvimento de um sistema de grandes dimensões, mas de um mais pequeno onde a complexidade se restringe à diversidade de situações criadas.

A empresa SPF - Sociedade Portuguesa de Fasteners, S.A., com sede em Lisboa, é um grande armazenista de elementos de ligação mecânica (fasteners) tais como parafusos, porcas e anilhas, que abastece muitas indústrias e lojas de todo o país. O controlo dos stocks em armazém foi durante muitos anos realizado manualmente pelo chefe de armazém que registava em livros de grande dimensão todas as entradas e saídas diárias, calculando a cada Transacção os saldos respectivos.

Contudo, pelo recente aumento de facturação, pela competitividade de empresas rivais e pelo aumento da velocidade das transacções era impossível continuar a manter o sistema de controlo vigente. Perante esta situação a actual direcção optou por informatizar esta actividade da empresa, tendo adquirido um sistema de informação para gestão de stocks, para assim poder responder mais rapidamente e com maior precisão aos seus clientes, libertando o chefe de armazém desta tarefa monótona e rotineira para desempenhar outras tarefas objecto de maior realização pessoal. Contudo o sistema adquirido não responde às necessidades do gestor de logística, pois este necessita de consultar o histórico de transacções efectuadas (compras e vendas) a fim de poder tomar as melhores decisões em relação à logística da empresa. Como se trata de uma aplicação relativamente simples, optou-se por a implementar internamente.

A empresa comercializa vários produtos a serem utilizados pelas empresas de construção, metalo-mecânica, indústria automóvel, indústria naval e alguns também são comercializados em lojas de ferragens. Cada produto comercializado é identificado internamente por uma referência composta por letras e números, tem uma descrição que refere o tipo de produto (parafuso, porca, anilha, rebite, etc.), medida da peça em milímetros, material em que foi produzido (aço de resistência, aço macio, aço inox, latão, cobre, etc.) e peso de cada peça.

Sendo a SPF uma empresa comercial, os produtos são objecto de transacções com as empresas relacionadas (clientes e fornecedores). Uma transacção ou movimento de armazém resulta do processo de compra ou venda de produtos que se estabelece entre a SPF e as restantes empresas. Cada transacção tem uma data e a quantidade. Como foi salientado existem dois tipos de transacções distintas: compra e venda, sendo que no primeiro caso é armazenado o preço de compra do produto e no segundo o preço de venda.

As empresas externas (fornecedoras e clientes) possuem um código que as identifica, e sobre cada uma destas Empresas é preciso conhecer o Número de Identificação Fiscal (nif), a sede e a designação. Cada empresa poderá ser em simultâneo cliente e fornecedora da SPF, a natureza da relação será definida pelo tipo de transacção, assim em Transacções de compra a empresa externa desempenhará o papel de fornecedora e em Transacções de venda a empresa externa envolvida será cliente.

Cada empresa dispõe de um único e exclusivo vendedor para o relacionamento comercial com a SPF, facilitando assim o processo de transacção e a imputação de responsabilidades uma vez que estão em causa quantias avultadas. Sobre o vendedor é importante conhecer: o nome, número de telefone directo e o cargo que desempenha na empresa em que trabalha.

No novo sistema o chefe de armazém será quem dará continuidade à realização das tarefas habituais de registo de Transacções de entrada e saída, bem como o registo de novos produtos, de novas empresas e respectivos vendedores. Tal como o gestor de logística poderá também consultar e listar transacções.

Page 7: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 7

1.5. ANÁLISE

Diagrama de Casos de Uso

Identificação dos Actores

• Gestor de Logística – responsável pela manutenção do nível de stocks, análise de rácios e estatísticas.

• Chefe de Armazém – responsável pelo registo de todas as Transacções de entrada e saída de Produtos no armazém e pela gestão dos registos na base de dados.

Identificação e caracterização dos Casos de Uso

• Gerir dados de produtos – Registar novos produtos, modificar registos ou eliminá-los se necessário;

• Gerir dados de empresas – Registar novas empresas, modificar registos ou eliminá-los se necessário;

• Gerir dados de vendedores – Registar novos vendedores, modificar registos ou eliminá-los se necessário;

• Gerir dados de transacções – Registar novas transacções, modificar registos ou eliminá-los se necessário;

• Consultar valores das transacções – Consultar os valores correspondentes aos produtos transaccionados;

• Consultar transacções por empresa – Consultar as transacções efectuadas com cada empresa;

• Consultar transacções totais – Consultar todas as transacções efectuadas em determinado período;

• Listar transacções por produto – Produzir uma listagem com todas as transacções por produto;

• Listar transacções por empresa – Produzir uma listagem com todas as transacções por empresa;

Page 8: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 8

Diagrama de Casos de Uso

Sistema de Informação de Transacções

Gestor de logística

Listar transacções

Listar transacçõespor empresa

Listar transacçõespor produto

Consultartransacções

Consultar valoresdas transacções

Consultartransacções por empresa

Consultartransacções totais

Gerir dados

Gerir dados deempresas

Gerir dados detransacções

Gerir dados deprodutos

Chefe de armazém

Gerir dados devendedores

Diagrama de Classes

-referência-descrição-medida-material-peso

PRODUTO

-código-nif-sede-designação

EMPRESA

-data-quantidade-preço-tipo

TRANSACÇÃO

1..*1..*

-nome-telefone-cargo

VENDEDOR

1 0..1

representadatransaccionado

Na classe TRANSACÇÃOtipo = {“compra”; “venda”}

Page 9: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 9

1.6. DESENHO

Uma vez que o Access é um Sistema de Gestão de Bases de Dados Relacional vamos recordar alguns conceitos do modelo relacional.

• Relação ou Tabela

– é a estrutura fundamental do modelo relacional

– bidimensional, com um determinado esquema

• Esquema da relação

– constituída por um ou mais atributos

– cada instância do esquema da relação designa-se por tuplo (elemento, linha ou registo)

• Esquema relacional

– conjunto de esquemas de relação de uma base de dados

• Atributos

– traduzem o tipo de dados a armazenar

– a cada atributo corresponde um domínio ou gama de valores possíveis que este pode ter

• Grau da relação

– número de atributos da relação

• Cardinalidade da relação

– número de tuplos (ou registos) da relação

• Superchave

– conjunto de atributos que contenha uma chave

• Chave candidata

– no caso de existirem várias chaves possíveis estas dizem-se chaves candidatas - a escolhida passa a ser designada como:

• Chave primária (ou principal)

– chave é o atributo ou conjunto de atributos cujos valores identificam univocamente um tuplo numa relação

Page 10: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 10

Esquema Relacional

De forma a ser possível a implementação de uma base de dados, modelizada segundo uma metodologia orientada para objectos, num Sistema de Gestão de Base de Dados Relacional é necessário realizar a devida transposição com a atenção e cuidado necessários. Apresenta-se a seguir o esquema relacional completo do sistema baseado no diagrama de classes anteriormente apresentado:

PRODUTO (referência, descrição, medida, material, peso)

EMPRESA (código, nif, sede, designação)

VENDEDOR (IDvendedor, nome, telefone, cargo, código)

TRANSACÇÃO (IDtransacção, referência, código, data, quantidade, preço, tipo)

A utilização do ID na relação TRANSACÇÃO é uma forma utilizada para colmatar algumas imprecisões da transposição do modelo de classes para o relacional. Senão vejamos, a não utilização do ID impossibilitava que o binómio referência do PRODUTO e código da EMPRESA se repetissem impossibilitando a existência de mais que uma transacção comercial com uma empresa para o mesmo produto. Como esta realidade vai contra a natureza da relação de muitos-para-muitos estabelecida no diagrama de classes a utilização de um ID como chave vai suprir a limitação detectada.

Para além da informação que se obtém do modelo relacional é também importante decidir nesta fase quais os tipos de dados de cada atributo (texto, numérico, etc.), a sua dimensão, eventuais validações a efectuar... porém esta informação será facultada atempadamente durante o processo de implementação.

Page 11: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 11

1.7. IMPLEMENTAÇÃO DE TABELAS EM ACCESS CRIAR UMA BASE DE DADOS Como foi referido anteriormente, em Access um ficheiro de base de dados (database) é constituída por um conjunto de objectos (objects) relacionados. Assim, uma base de dados pode conter:

• Tabelas, • Consultas, • Formulários, • Relatórios, • Páginas, • Macros, e • Módulos.

Todos estes objectos estão agrupados num único ficheiro com a extensão .accdb. Para criar uma base de dados Contrariamente às restantes aplicações do Office o Access não permite fazer um “Guardar Como” (Save As), o que significa que o nome utilizado para a criação do documento da base de dados, que corresponde a um novo documento de Access, não poderá ser alterado na respectiva aplicação. Para fazer alteração do nome do ficheiro é necessário recorrer ao comando “Mudar o nome” (Rename) no Windows Explorer. 1. Entre no Access. A janela que aparece permite criar ou abrir as bases de dados. Seleccione “Base de Dados Vazia” (Blank Database). 2. Na parte direita da mesma janela aparece uma área para introdução do nome da base de dados e sua

localização. Em “Nome de Ficheiro:” (File Name) escreva “SPF”. Ao nome do ficheiro será acrescentada a extensão .accdb. Indique também em que pasta quer guardar o ficheiro. Clique no botão ‘Criar’ (Create) para criar a nova base de dados. Aparece a janela ‘Ferramentas de Tabela’ (Table Tools). 3. Observe a janela ‘Ferramentas de Tabela’ (Table Tools).

No título aparece o nome do ficheiro que foi criado: (SPF: Database (Access 2007) – Microsoft Access). Uma vez criada a base de dados, a janela do Access apresenta agora uma diferente configuração, semelhante à das outras aplicações do Office. Podemos observar do lado esquerdo o Painel de Navegação (Navigation Pane) e no topo o Friso (Ribbon) com os separadores dos diversos menus: ‘Base’ (Home), ‘Criar’ (Create), ‘Dados Externos’ (External Data), ‘Ferramentas da Base de Dados’ (Database Tools). A base de dados está pronta para ser desenvolvida e o Access sugere já a criação da primeira tabela. Do lado direito aparece a janela que nos permite criar uma tabela em ‘Vista de folha de dados’ (Datasheet View) conforme aparece escrito na Barra de Estado no canto inferior esquerdo.

4. Seleccione o botão ‘Todas as Tabelas’ (All Tables). Seleccionando ‘Tipo de Objecto’ (Object Type) passamos a

ter ‘Todos os Objectos do Access’ (All Access Objects) e clicando de novo no botão podemos observar na parte de baixo os principais objectos que podemos criar na base de dados: Tabelas (Tables), Consultas (Queries), Formulários (Forms) e Relatórios (Reports). Neste momento não existe nenhum objecto criado mas existem ferramentas para a criação de cada um deles.

Page 12: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 12

CRIAR TABELAS As tabelas são os elementos da base de dados onde os dados estão permanentemente armazenados. É sobre estes dados que poderão ser realizadas as operações de inserção, consulta, remoção e modificação. Cada relação do Modelo Relacional corresponde a uma tabela da base de dados, cujos atributos serão os campos da tabela. Os atributos sublinhados no modelo relacional serão as chaves primárias da tabela.

� Criar a tabela PRODUTO Crie a tabela PRODUTO tendo em conta a seguinte transposição para o modelo relacional:

PRODUTO (referência, descrição, medida, material, peso)

1. Neste momento no Painel de Navegação (Navigation Pane) apenas aparece o separador Tabelas (Tables), pois para fazermos qualquer dos outros objectos necessitamos de ter primeiro uma tabela (pelo menos). Também aparece a primeira tabela com o nome de Tabela1 (Table1). No friso seleccione o menu ‘Base’ (Home) e depois ‘Vista’ (View) e ‘Vista de Estrutura’ (Design View). Aparece a janela ‘Guardar como’ (Save As) solicitando a introdução do ‘Nome da tabela’ (Table Name). Introduza o nome PRODUTO e depois OK, verificará que o nome da tabela muda para PRODUTO e que na barra de estado aparece ‘Vista de estrutura’ (Design View).

O Access permite várias formas de criação de tabelas: � Vista de folha de dados (Create Table by Entering Data) – criação da tabela pelo preenchimento de

dados, i.e., uma estrutura genérica já está construída e a pessoa começa por preencher os valores na tabela antes de a construir.

� Vista de Estrutura (Create Table In Design View) – neste modo é possível definir a estrutura da tabela: atributos, chaves, restrições, etc.

� Assistente de tabelas (Create Table by Using Wizard) – o Access disponibiliza um conjunto de passos para a criação da tabela, mais fácil de utilizar mas bastante mais limitado em termos de opções. Também cria a estrutura da tabela.

� Importação de tabelas – permite importar tabelas de outra aplicação. � Poderá utilizar qualquer um dos métodos, mas neste momento aconselhamo-lo a utilizar a Vista de Estrutura, (Design View) pois é a forma mais metódica de desenvolvimento da solução. 2. Após introduzir o nome da tabela aparece uma janela para definir a estrutura da tabela. 3. Na coluna intitulada ‘Nome do campo’ (Field Name), deverá introduzir o nome de cada atributo da relação que

se irá traduzir no nome do campo da tabela. Os requisitos de cada atributo são definidos posteriormente. 4. A coluna ‘Tipo de dados’ (Data Type) representa o tipo de dados que o respectivo campo/atributo deve assumir,

que deve estar em consonância com os dados a armazenar. Para auxiliar o seu preenchimento será disponibilizada uma Caixa de Combinação (ComboBox) com todos os tipos de campos do Access.

5. Na coluna ‘Descrição’ (Description), de preenchimento facultativo, pode colocar uma nota explicativa acerca do

campo. Esta descrição representa apenas um comentário seu e não tem qualquer significado para a Base de Dados.

6. Na parte inferior da janela designada ‘Propriedades do campo’ (Field Properties) encontram-se os separadores

‘Geral’ (General) e ‘Pesquisa’ (Lookup), as opções que apresentam dependem do tipo de dados da coluna ‘Tipo de dados’ (Data Type) do atributo nesse momento seleccionado. Nesta secção podem-se definir regras de integridade, restrições ou especificações relativamente ao atributo em causa.

Page 13: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 13

Definir especificações relativamente ao campo – referência

�O Access sugere-nos que o primeiro campo seja um campo chave chamado ‘ID’. Uma vez que o campo chave da tabela vai ser o atributo ‘referência’, vamos substituir ‘ID’ por ‘referência’, este deve permitir armazenar combinações de letras e números. R: O ‘Tipo de dados’ (Data Type) deve ser ‘Texto’ (Text) e na ‘Descrição’ (Description) devemos escrever ‘chave primária’. �O tamanho máximo que este campo pode armazenar é 6 caracteres. R: Apesar de, por defeito, o Access considerar 255 caracteres (o máximo possível) para tamanho de um campo ‘Texto’, neste caso a propriedade do campo ‘Tamanho do campo’ (Field Size) deve ser 6. �Esta referência é de preenchimento obrigatório, não devendo ser um valor omitido na inserção de valores na tabela. R: A propriedade ‘Necessário’ (Required) deve conter o valor ‘Sim’ (Yes). �Uma vez que a referência é um campo chave, não poderá ter registos com comprimento zero. R: A propriedade ‘Permitir comprimento zero’ (Allow Zero Length) deve conter o valor ‘Não’ (No). �O atributo código é utilizado como elemento de pesquisa de um Produto, como tal deve ser um indexante. R: A propriedade ‘Indexado’ (Indexed) deve conter o valor ‘Sim (duplicação não autorizada)’ (Yes (No Duplicates)) pois este campo é chave primária e por isso os valores não se podem repetir.

Definir especificações relativamente ao campo – descrição

�Deve armazenar texto e ter um tamanho máximo de 30 caracteres. R: O ‘Tipo de dados’ deve ser ‘Texto’ (Text) e a propriedade ‘Tamanho do campo’ (Field Size) deve ser 30. �Não é de preenchimento obrigatório. R: O valor da propriedade do campo ‘Necessário’ (Required) deve ser ‘Não’ (No). �O valor deste campo pode-se repetir. R: O facto de não pertencer à chave primária da tabela possibilita a sua duplicação, logo a propriedade ‘Indexado’ (Indexed) deve conter o valor ‘Não’ (No).

Definir especificações relativamente ao campo – medida

�É um número que assume pequenos valores. R: O ‘Tipo de dados’ deve ser ‘Número’ (Number) e a propriedade ‘Tamanho do campo’ (Field Size) deve ser ‘Simples’ (Single). �Não é necessário qualquer formato específico para a sua criação. R: O valor da propriedade ‘Formatar’ (Format) do campo deve ser ‘Número geral’ (General number). �Necessita de 1 casa decimal. R: O valor da propriedade ‘Casas decimais’ (Decimal Places) do campo deve ser 1. �É de preenchimento obrigatório. R: O valor da propriedade ‘Necessário’ (Required) do campo deve ser ‘Sim’ (Yes). �O valor deste campo pode-se repetir. R: O facto de não pertencer à chave primária da tabela possibilita a sua duplicação, logo a propriedade ‘Indexado’ (Indexed) deve conter o valor ‘Não’ (No).

Page 14: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 14

Definir especificações relativamente ao campo – material

�Deve armazenar texto e ter um tamanho máximo de 20 caracteres. R: O ‘Tipo de dados’ deve ser ‘Texto’ (Text) e a propriedade ‘Tamanho do campo’ (Field Size) deve ser 20. �É de preenchimento obrigatório. R: O valor da propriedade do campo ‘Necessário’ (Required) do campo deve ser ‘Sim’ (Yes). �O valor deste campo pode-se repetir. R: O facto de não pertencer à chave primária da tabela possibilita a sua duplicação, logo a propriedade ‘Indexado’ (Indexed) deve conter o valor ‘Não’ (No).

Definir especificações relativamente ao campo – peso

�É um número que pode assumir diversos valores, pois representa o peso em gramas de cada produto. R: O ‘Tipo de dados’ deve ser ‘Número’ (Number) e a propriedade ‘Tamanho do campo’ (Field Size) deve ser ‘Duplo’ (Double). �O formato deve ser o de número fixo. R: O valor da propriedade ‘Formatar’ (Format) do campo deve ser ‘Fixo’ (Fixed). �Necessita de 2 casas decimais. R: O valor da propriedade ‘Casas decimais’ (Decimal Places) do campo deve ser 2. �Deve conter valores superiores a 1. R: O valor da propriedade ‘Regra de validação’ (Validation Rule) deve conter a expressão ‘>1’. �Sempre que se tente introduzir um peso com valor menor ou igual a 1 deve exibir uma mensagem de erro. R: O valor da propriedade ‘Texto de validação’ (Validation Text) deve conter a expressão ‘O peso deve ser superior a 1 grama’. �É de preenchimento obrigatório. R: O valor da propriedade ‘‘Necessário’ (Required) do campo deve ser ‘Sim’ (Yes). �O valor deste campo pode-se repetir. R: O facto de não pertencer à chave primária da tabela possibilita a sua duplicação, logo a propriedade ‘Indexado’ (Indexed) deve conter o valor ‘Não’ (No).

Resumindo: referência descrição medida material peso

Tipo de dados Texto Texto Número Texto Número Tamanho do campo

6 30 Simples 20 Duplo

Formatar Número geral Fixo Casas decimais 1 2

Regra de validação

>1

Texto de validação

O peso deve ser superior a 1 grama

Necessário Sim Não Sim Sim Sim Indexado Sim (duplicação

não autorizada) Não Não Não Não

Page 15: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 15

Para criar a Chave Primária Neste caso já temos a chave primária definida, contudo vejamos como podemos definir ou alterar a chave primária. 1. Seleccione o(s) atributo(s) que constitui(em) a chave primária da tabela (para seleccionar vários atributos não

sequenciais mantenha a tecla CTRL premida enquanto selecciona com o rato). 2. Clique no botão do friso ‘Chave primária’ (Primary Key) (o que tem uma chave) ou alternativamente com o botão

do lado direito do rato (sem desseleccionar os atributos) e escolha ‘Chave primária’ do menu. � Aparece uma chave junto ao(s) campo(s) seleccionado(s). 3. Como a chave é o elemento que identifica univocamente um registo, nunca pode repetir o valor (Regra da

Unicidade da Chave), então as propriedades do(s) campo(s) que compõe(õem) a chave têm de estar em consonância com esse facto. Assim o Access efectuará alterações na propriedade Indexado dos campos chave por forma a que exibam o valor Sim, e no caso da chave ser composta por um único campo o valor da propriedade será ‘Sim (duplicação não autorizada)’.

Para gravar a estrutura da tabela 1. Como botão direito do rato em cima do nome da tabela seleccione ‘Guardar’ (Save) e depois ‘Fechar’ (Close) ou

feche a janela da tabela aparecendo então uma janela a perguntar se ‘Deseja guardar as alterações da estrutura de tabela ‘PRODUTO’’. Responda clicando em ‘Sim’ (Yes) e a tabela será gravada e fechada.

2. Repare que no Painel de Navegação aparece a tabela acabada de criar. � Neste momento está apenas definida a estrutura da tabela. Isto significa que o esqueleto que irá suportar os

dados está construído o que não significa que a tabela já tenha dados, até porque ainda não foram inseridos. Para inserir dados na tabela basta seleccioná-la e com o botão direito do rato seleccionar ‘Abrir’ (Open). (Equivalente a um Duplo-Clique). Contudo só se devem inserir dados na tabela quando todas as tabelas e relações estiverem criadas senão poderão existir incongruências na base de dados (Regra da Integridade Referencial).

� Por exemplo, não se podem inserir transacções sem antes ter inserido o Produto e a Empresa externa

envolvida, senão qual o valor a inserir no campo referência (do Produto) ou código (da Empresa)? � Problemas na Definição da Estrutura

No caso de se pretender alterar a estrutura da tabela após a ter gravado e fechado, basta seleccionar a tabela no Painel de Navegação e com o botão direito do rato seleccionar ‘Vista ‘Estrutura’’ (Design View).

Page 16: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 16

� Criar a tabela EMPRESA Crie a tabela EMPRESA tendo em conta a seguinte transposição para o modelo relacional:

EMPRESA (código, nif, sede, designação)

1. No separador ‘Criar’ (Create) do Friso seleccione ‘Tabela’ (Table) e depois em Vistas escolha ‘Vista de Estrutura’ (Design View). Em ‘Nome da tabela:’ (Table Name) escreva EMPRESA.

2. Fica ao seu critério definir quais os requisitos dos campos ‘sede’ e ‘designação’, bem como os tipos de dados e

propriedades de cada campo. No caso do campo ‘nif’ tenha em atenção que o número de identificação fiscal deve ter 9 dígitos, contudo como é um campo em relação ao qual não iremos efectuar qualquer tipo de cálculos será indiferente defini-lo como Texto ou Número. Em relação ao campo ‘código’ os requisitos são os seguintes:

� É um número inteiro R: O ‘Tipo de dados’ deve ser ‘Número’ (Number) e a propriedade ‘Tamanho do campo’ (Field Size) deve ser ‘Número inteiro longo’ (Long Integer). � Não é necessário nenhum formato específico para a sua criação R: O valor da propriedade ‘Formatar’ (Format) do campo deve ser ‘Número geral’ (General number). �É de preenchimento obrigatório. R: O valor da propriedade do campo ‘Necessário’ (Required) do campo deve ser ‘Sim’ (Yes). � Os valores não se podem repetir R: A propriedade ‘Indexado’ (Indexed) deve conter o valor ‘Sim (duplicação não autorizada)’ (Yes (No Duplicates)) pois este campo é chave primária e por isso os valores não se podem repetir.

� Criar a tabela VENDEDOR Crie a tabela VENDEDOR tendo em conta a seguinte transposição para o modelo relacional:

VENDEDOR (IDvendedor, nome, telefone, cargo, código)

1. Siga os passos descritos anteriormente para a criação de tabelas. 2. O campo IDvendedor é um ‘Número inteiro longo’ (Long Integer). 3. Faça uma máscara para introdução do telefone, de forma a utilizar 11 espaços e o número aparecer com o

seguinte formato: 999 999 999. Para isso clique no botão da linha ‘Máscara de introdução’ (Input Mask), aparecendo então a janela ‘Assistente de Máscaras de Introdução’ (Input Mask Wizard), clique em ‘Seguinte >’ (Next >) e em ‘Máscara de introdução:’ (Input Mask) escreva ‘000 000 000’ e clique em ‘Seguinte >’ (Next >), escolha a primeira opção e volte a clicar em clique em ‘Seguinte >’ (Next >). Clique em ‘Concluir’ (Finish).

4. Fica ao seu critério definir quais os restantes requisitos dos campos da tabela, bem como os tipos de dados e

propriedades de cada campo. � Atenção: o campo código deverá estar associado ao campo código da tabela EMPRESA, como representam a

mesma informação deverão ser do mesmo tipo de dados, senão mais tarde terá problemas! Para não se enganar, no campo Descrição (Description) escreva: ‘chave estrangeira (EMPRESA)’.

Page 17: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 17

� Criar a tabela TRANSACÇÃO Crie a tabela TRANSACÇÃO tendo em conta a seguinte transposição para o modelo relacional:

TRANSACÇÃO (IDtransacção, referência, código, data, quantidade, preço, tipo)

1. Siga os passos descritos anteriormente para a criação de tabelas. 2. De seguida serão apresentados alguns requisitos dos campos, a definição dos restantes ficará ao seu critério:

� IDtransacção:

� É um número sequencial de preenchimento automático R: O ‘Tipo de dados’ deve ser ‘Numeração automática’ (AutoNumber) e a propriedade ‘Tamanho do campo’ (Field Size) deve ser ‘Número inteiro longo’ (Long Integer). � Não é necessário nenhum formato específico para a sua criação R: O valor da propriedade ‘Formatar’ (Format) do campo deve ser ‘Número geral’ (General number). � Os valores não se podem repetir R: Sendo um campo de preenchimento automático e sequencial, a criação de um novo registo implica a geração de um novo número que não voltará a ser atribuído a qualquer outro registo. � De preenchimento obrigatório R: Sendo um campo de preenchimento automático o seu preenchimento está sempre garantido, por outro lado sendo um campo constituinte da chave principal o princípio da Integridade da Chave garante que este campo tem que estar sempre preenchido.

� Atenção: Um campo de preenchimento automático e sequencial é preenchido automaticamente sempre que um

registo é gerado, sendo o seu valor o incremento unitário ao valor atribuído ao último registo gerado. Porém se houver qualquer engano e eliminar um registo, o valor do campo automático não é atribuído a nenhum outro registo que pretenda inserir. Se eventualmente pretender reiniciar a sequência deverá eliminar o campo da tabela e criá-lo de novo, o que poderá ser uma tarefa complexa caso já estejam estabelecidas relações com outras tabelas, as quais (relações) terão de ser previamente eliminadas de forma a não violarem o princípio da Integridade Referencial.

preço: • Valor em Euros, implicando a utilização de duas casas decimais

tipo:

�Só pode assumir os valores “Compra” ou “Venda” R: O utilizador poderá numa caixa de combinação seleccionar um dos dois valores possíveis “Compra” ou “Venda”. Para concretizar esta solução deverá realizar as tarefas seguintes: - Na caixa das propriedades existe um separador intitulado ‘Pesquisa’ (Lookup) - Na propriedade ‘Mostrar controlo‘ (Display Control) seleccione ‘Caixa de combinação’ (Combo Box) –

nesse momento aparecerão novas propriedades - Na propriedade ‘Tipo de origem da linha’ (Row Source Type) seleccione ‘Lista de valores’ (Value List) - Na propriedade ‘Origem da linha’ (Row Source) construa a lista de valores válidos para o campo e que

constituirão as hipóteses de selecção da caixa de combinação, i.e., “Compra; Venda”. � Atenção: o campo referência deverá estar associado ao campo referência da tabela PRODUTO, bem como o

campo código deve estar relacionado com o campo código da tabela EMPRESA. Como tal, representando a mesma informação, deverão ser do mesmo tipo de dados, senão mais tarde terá problemas!

Page 18: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 18

CRIAR RELAÇÕES (RELATIONSHIPS) Relações entre tabelas As relações que se estabelecem entre os campos das tabelas têm como finalidade estabelecer a Integridade Referencial, i.e., ao relacionar a chave estrangeira de uma tabela com os atributos que constituem a respectiva chave primária noutra tabela, está-se a impor à Base de Dados que os valores dos campos que constituem a chave estrangeira deverão referenciar valores previamente introduzidos na tabela onde são chave primária. Garantindo assim a coerência e integridade dos dados. � Por exemplo, se relacionar o campo código da tabela Vendedor (chave estrangeira referente à chave primária código da tabela Empresa), com o campo onde código é chave principal (tabela Empresa), está a restringir a Base de Dados no sentido de que sempre que se mencionar uma Empresa na tabela Vendedor, o código respeitante já deve ter sido inserido na tabela Empresa. No sistema de informação da SPF existem três relações de dois tipos distintos: • Relação de muitos-para-um entre as tabelas TRANSACÇÃO e EMPRESA • Relação de muitos-para-um entre as tabelas TRANSACÇÃO e PRODUTO • Relação de um-para-um entre as tabelas VENDEDOR e EMPRESA

Criar relações entre tabelas

1. Seleccione o separador ‘Ferramentas da Base de Dados’ (Database Tools)’ e na secção ‘Mostrar/Ocultar’ (Show/Hide) clique no botão ‘Relações’ (Relationships).

� Aparece uma caixa de diálogo com o nome das tabelas da sua base de dados. Nesta etapa deve seleccionar as tabelas necessárias para estabelecer as relações, para isso: Seleccione todas as tabelas e clique em ‘Adicionar’ (Add). Feche a caixa de diálogo ou clique em ‘Fechar’ (Close). Aparece um diagrama relacional com as quatro tabelas. Organize-as de forma semelhante ao diagrama de classes. 2. Para estabelecer o relacionamento entre duas tabelas arraste o atributo ‘código’ da tabela ‘EMPRESA’ (Chave Primária) para cima do atributo ‘código’ da tabela ‘TRANSACÇÃO’ (Chave Estrangeira). Aparece a caixa de diálogo ‘Relações’ (Relationships). Em ‘Tabela/consulta:’ (Table/Query) deverá estar a tabela ‘EMPRESA’ e o campo ‘código’. Em ‘Tabela/consulta relacionada:’ (Related Table/Query) deverá estar a tabela ‘TRANSACÇÃO’ e o campo ‘código’. 3. Para garantir a integridade dos dados usando as regras de integridade referencial deve-se activar a opção ‘Impor integridade referencial’ (Enforce Referential Integrity). A integridade referencial pode produzir efeitos a dois níveis:

� Caso na tabela Empresa se altere o código respectivo essa alteração é repercutida de imediato na tabela Transacção – para isso é necessário activar a opção ‘Propagar actualização dos campos relacionados’ (Cascade Update Related Fields). Se eventualmente não activar esta opção não poderá efectuar alterações no código da tabela Empresa que estejam a ser utilizadas pela tabela Transacção.

� Se remover um código da tabela Empresa que já esteja mencionada na tabela Transacção, a coerência

deve ser mantida e então os registos da tabela Transacção que estejam associados a essa Empresa também são eliminados da tabela Transacção – para activar este procedimento deverá seleccionar a opção ‘Propagar eliminação dos registos relacionados’ (Cascade Delete Related Records). Contudo este não é o procedimento mais adequado, como tal a não selecção desta opção ao pretender-se apagar uma Empresa a Base de dados não o permitirá se houver Transacções a ela associados.

Page 19: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 19

4. Clique em ‘Criar’ (Create), para criar a relação e repare que esta é desenhada graficamente no ecrã. � Atenção: quando executar este comando podem surgir erros indicando a impossibilidade de o fazer.

Normalmente esta impossibilidade está associada ao facto do tipo de dados dos atributos que está a relacionar não serem iguais ou compatíveis (Numeração automática (Autonumber) só é compatível com o tipo Número inteiro longo (Number/Long Integer)), ou então porque a tabela que contém a chave estrangeira já tem elementos inseridos que não estão em consonância com os valores da tabela onde é chave principal.

� Repare que o tipo de associação criado é de um-para-muitos como pretendido. Veja no ‘Ajuda’ (Help) sob o tópico ‘relações’ (Relationships) subtópico ‘Acerca das relações numa base de dados’ (About Relationships in a Database) como criar os outros tipos de relações. 5. Crie as restantes relações: entre as tabelas Produto e Transacção e entre as tabelas Empresa e Vendedor,

devendo obter um diagrama com o seguinte aspecto:

� Tome cuidado com o sentido de arrastamento dos campos para criação da relação. O sentido deverá ser

sempre Chave Primária → Chave Estrangeira. � Se teve problemas com a criação da relação de um-para-um verifique se na tabela Vendedor o atributo código

tem como propriedade a não repetição de valores, i.e., a propriedade ‘Indexado’ (Index) deve assumir o valor ‘Sim (duplicação não autorizada)’ (Yes No Duplicates). Compreende o porquê?

6. Feche a janela ‘Relações’ (Relationships) e grave A partir de agora sempre que se pretendam usar dados de duas tabelas não é necessário voltar a definir os relacionamentos entre elas. � Para fazer alterações nas relações criadas basta abrir a janela ‘Relações’ (Relationships), seleccionar a relação

e com um duplo clique, ou botão direito do rato editar as opções de configuração da relação.

Page 20: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 20

INSERIR DADOS Depois de criadas as tabelas e as respectivas relações, considera-se que a estrutura de dados já está devidamente definida de forma a armazenar, de uma forma organizada e coerente, os dados. Nesta etapa pretende-se testar a robustez e validade das restrições criadas, como tal insira dados nas tabelas e verifique se o SGBD se comporta como esperado. ���� Inserir dados na tabela PRODUTO 1. Seleccione a tabela ‘Produto’ a partir do Painel de Navegação.

Com o botão direito do rato escolha ‘Abrir’ (Open). Aparece uma janela onde pode inserir dados na tabela. 2. Nesta janela semelhante a uma folha de cálculo, está reflectida a estrutura que foi definida para a tabela.

Cada coluna representa um dos campos da tabela. Se ao introduzir os dados verificar que a largura da coluna não é suficiente pode modificá-la. Para aumentar a largura de um campo (coluna) posicione-se (na barra com o nome dos campos) entre as duas colunas (a que quer aumentar e a que está à sua direita) e faça um duplo clique ou arraste para a direita. 3. Preencha algumas linhas com os dados fornecidos a seguir:

� Problemas:

� Ao tentar introduzir o peso da Anilha M8, verificará que surge uma mensagem indicando que o peso tem que ser superior a 1 grama. Foi um lapso na definição da estrutura da tabela e por isso terá que alterá-la colocando 1 como limite mínimo aceitável (>=1 em vez de >1). Se tiver problemas consulte o capítulo da criação de tabelas.

� Teste a regra da unicidade da chave. � Se houver problemas na criação de um registo e pretender anular, carregue na tecla ‘Esc’ para que o registo

não seja gravado. 4. Os dados são gravados logo que um registo tenha sido introduzido.

Não é necessário efectuar a gravação dos dados de forma explícita.

Page 21: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 21

Simbologia 1. Cada linha da tabela é designada por ‘registo’.

Um registo contém um valor para cada um dos campos da tabela. 2. Verifique que à esquerda da janela aparece uma cor diferente indicando o registo em que o cursor está

posicionado. Essa marca indica o registo corrente. Seleccione outra linha, verifique que a marca de registo corrente muda para a linha seleccionada.

3. Na parte inferior esquerda da janela aparecem os seguintes botões:

Estes botões permitem também modificar o registo corrente.

* Assinala onde pode ser introduzido um novo registo. � Inserir dados na tabela EMPRESA 1. Siga os mesmos procedimentos indicados para a tabela ‘PRODUTO’. 2. Preencha algumas linhas com os dados fornecidos a seguir.

Pretende-se que o nome dos campos esteja consoante aparece nesta tabela.

� Inserir dados na tabela VENDEDOR 1. Siga os procedimentos indicados anteriormente. 2. Preencha algumas linhas com os dados fornecidos a seguir.

� Teste a Integridade Referencial inserindo uma código de Empresa que ainda não tenha sido introduzida na tabela EMPRESA.

Page 22: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 22

� Inserir dados na tabela TRANSACÇÃO 1. Siga os procedimentos indicados anteriormente. 2. Preencha algumas linhas com os dados fornecidos a seguir.

� Verifique se a opção ‘Propagar actualização dos campos relacionados’ (Cascade Update Related Fields) funciona. Para tal sugere-se que: 1. Seleccione a relação entre o Transacção e o Produto no quadro das relações (ver capitulo referente às

Relações) 2. Clicando com o botão direito sobre a relação seleccione a opção ’Editar relação’ (Edit Relatinship), desta

forma acede às opções da respectiva criação 3. Desseleccione a opção Propagar actualização dos campos relacionados (Cascade Update Related Fields) (se

estiver seleccionada) 4. Feche a janela e grave as relações 5. Na tabela Produto altere o código da Porca M6 de PC2105 para PC2115 6. Ao gravar esta alteração, o Access não permite dando uma mensagem de erro onde indica que não pode

alterar um código que está a ser referenciada na tabela Transacção. Faz sentido, pois é função de um SGBD garantir a integridade referencial!

7. Anule a alteração e regresse às relações (passo 1 e 2) 8. Desta vez seleccione a opção Propagar actualização dos campos relacionados (Cascade Update Related

Fields) 9. Feche a janela e grave as relações 10. De volta à tabela Produto altere o código da Porca M6 de PC2105 para PC2115 11. Quando grava o Access não revela haver problema. Então o que terá acontecido? Não terá obedecido à

Integridade Referencial? 12. Se abrir a tabela Transacção poderá verificar que as Transacções que envolviam este produto foram

alteradas. Conclusão: se a opção ‘Propagar actualização dos campos relacionados’ (Cascade Update Related Fields) estiver activada, qualquer alteração que seja feita na tabela onde o atributo da relação é chave primária (código do Produto da tabela Produto) é repercutida na tabela onde se encontra o atributo como chave estrangeira (código do Produto na tabela Transacção). Quando esta opção não está activa o Access não tem permissão para repercutir alterações ao longo da relação, logo limita-se a estabelecer a Integridade Referencial.

Page 23: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 23

� O que pensa da opção ‘Propagar eliminação dos registos relacionados’ (Cascade Delete Related Records) �Introduza um novo registo com dados que não correspondam ao tipo do campo. Por exemplo texto num campo numérico ou números decimais num campo numérico do tipo inteiro. Veja as mensagens que obtém do Access. Carregue na tecla ‘Esc’ para que o registo não seja gravado. MANIPULAÇÃO DE REGISTOS Manter uma base de dados actualizada é a finalidade de qualquer sistema. As operações associadas à manipulação de registos permitirão a actualização de dados: inserção, alteração, remoção e pesquisa! Pesquisar registos numa tabela Para averiguar se um determinado registo existe numa tabela, de forma a fazer alterações, remoções, ou a respectiva inserção (no caso de não existir), pode-se recorrer a um método básico de pesquisa – Localizar (Find). 1. Abra a tabela onde pretende fazer a pesquisa. Para isso, no Painel de Navegação (Navigation Pane),

seleccione a tabela e faça duplo-clique (ou em alternativa clique com o botão do lado direito do rato e escolha ‘Abrir’ (Open))

2. Posicione o rato na coluna do atributo no qual pretende realizar a sua pesquisa e carregue no botão ‘Localizar’

(Find’). Aparece um diálogo onde são colocadas as restrições de pesquisa. A caixa ‘Localizar no campo’ (Find What:) indica o valor que pretende pesquisar, repare que o elemento ‘Coincidir’ (Look In) aparece com o campo sobre o qual vai fazer a pesquisa. � Se pretender alterar o campo sobre o qual vai realizar a pesquisa, tendo a janela de ‘Localizar’ (Find) aberta, bastará clicar sobre a respectiva coluna da tabela sem ter necessidade de fechar a janela de ‘Localizar’ (Find). � Para proceder à pesquisa bastará clicar sucessivamente em ’Localizar seguinte’ (Find Next) até não haver mais registos que se enquadrem no critério de pesquisa, momento em que o Access emitirá um aviso. Alterar registos duma tabela Após a pesquisa de um registo a alterar, o cursor posicionar-se-á sobre ele. A alteração do registo consistirá na edição do valor de cada campo (clique sobre a célula) e na inserção de um novo valor. Copiar registos duma tabela Para facilitar a inserção de registos muito semelhantes poderá optar pela cópia integral e depois realizar as devidas alterações.

Page 24: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 24

1. Seleccione o registo padrão (registo a copiar), para o que necessitará de posicionar o cursor na coluna cinzenta

ao lado esquerdo do respectivo registo. 2. Copie o registo - Clique no botão ‘Copiar’ (Copy) ou carregue em simultâneo Ctrl+C. 3. Faça a cópia do registo criando um novo - Seleccione a linha em branco que se encontra a seguir ao último

registo preenchido. Clique no botão ‘Colar’ (Paste) ou carregue em simultâneo Ctrl+V. 4. Altere o registo 5. Grave o novo registo ou carregue em simultâneo em Shift + Enter.

� Problemas: � É importante não esquecer que as tabelas têm chaves que identificam univocamente os registos e

como tal não devem ter valores iguais para registos distintos. Se fizer a cópia de um registo e não alterar o valor do campo correspondente ao atributo chave, o SGBD não consentirá a nova inserção.

Apagar registos duma tabela 1. Seleccionar o registo a apagar – Clique com o rato sobre a zona cinzenta à esquerda do respectivo registo Apague, clicando com o botão do lado direito e seleccionando ‘Eliminar registo’ (Delete Record) ou premindo a tecla ‘Delete’ do teclado. Aparece uma caixa com uma mensagem onde se pede a confirmação da operação. � O SGBD poderá impedir a remoção de um determinado registo se verificarem cumulativamente as seguintes condições:

� existir uma relação com a integridade referencial activa, entre atributos da tabela em questão e outras tabelas

� se o valor do atributo relacionado se encontrar referido nas outras tabelas onde constitui chave estrangeira

� e, se a integridade referencial criada não o foi por forma a permitir uma remoção em cascata, i.e., removendo o registo remove todos os que estiverem a ele associados (ver Criar Relações entre Tabelas).

� Para seleccionar mais que um registo da tabela deverá:

� Se os registos forem contíguos – clicar com o rato na barra lateral esquerda ao lado do registo a seleccionar, e premindo continuamente a tecla Shift seleccione o último registo do grupo a seleccionar. Neste caso de imediato verificará que todos os registos intermédios ficarão seleccionados.

� Se os registos estiverem dispersos na tabela deverá seleccionar os registos através do clique na barra lateral cinzenta mas premindo continuamente a tecla Ctrl.

TERMINAR O TRABALHO Sempre que se realiza qualquer alteração no Access, contrariamente ao que sucede noutras aplicações, o ficheiro é gravado, salvaguardando o trabalho feito em cada momento. Por isso, se ao fechar um ficheiro de Access ele não pedir para gravar é porque todas as alterações estavam gravadas, não havendo necessidade do utilizador se preocupar. Para fechar a base de dados basta fechar a janela do Microsoft Access.

Page 25: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 25

1.8. ANEXO Conceitos relacionados com tabelas . Atributo ou Campo (Field) – cada informação específica que se pretende registar, por exemplo o número e nome do empregado. . Tipo de Campo (Data Type) – natureza da informação que pode ser armazenada no respectivo campo e bem como o espaço reservado para a conter. . Campo Chave (Primary Key) – campo utilizado para ordenar as listagens dos dados ou para servir de base ao relacionamento entre tabelas. Este campo deverá ser escolhido entre os campos em que não possa existir a mesma informação em dois registos diferentes. . Tuplo ou registo (Record) – conjunto de campos que estão de algum modo relacionados uns com os outros. A informação de cada empregado é um registo. . Relacionamento entre tabelas (Relationship) – para evitar repetições desnecessárias pode utilizar-se mais que uma tabela. Há então que estabelecer relacionamentos entre elas. . Estrutura (Structure) – após a escolha do nome e características dos campos, definição dos campos chave, etc., dizemos que está definida a estrutura da base de dados. Tipos de Dados . Text – um campo deste tipo pode ser usado para conter sequências de até 255 caracteres. Esses caracteres podem ser constituídos por letras, números, símbolos de escrita, etc. . Number – os campos deste tipo são utilizados para conter dados numéricos que podem ser utilizados em operações matemáticas. A propriedade Field Size de um campo Number pode assumir os seguintes valores: . Byte - pode ser usado para armazenar números de 0 a 255 e ocupa um byte. . Integer - ocupa dois bytes e pode ser utilizado para armazenar números inteiros compreendidos entre -32768 e 32767. . Long Integer - ocupa 4 bytes e pode ser usado para armazenar números inteiros entre -2,147,483,648 e 2,147,483,647 (sem fracções). . Single - ocupa 4 bytes e pode armazenar números entre -3.4x1038 a 3.4x1038 até 7 casas decimais. . Double - ocupa 8 bytes, podendo armazenar número entre -1.797x10308 a 1.797x10380 até 15 casas decimais. . Currency – utilizado para valores que envolvam cálculos monetários. . AutoNumber – campo que cria automaticamente uma numeração sequencial para os registos, começando pelo número 1. . Date/Time - utilizado para armazenar datas e horas. . Yes/No – trata-se de campos que podem conter apenas um de dois valores. A propriedade Formar permite escolher entre Yes/No, True/False, On/Off ou outros valores definidos pelo utilizador. . Memo – campos usados para conter descrições mais longas e menos estruturadas. Um campo Memo pode conter cerca de 65,535 caracteres. . OLE Object – campos especiais que permitem associar a cada registo um trabalho (objecto) executado por outra qualquer aplicação para Windows. Por exemplo: fotografias, gráficos, imagens, etc.

Page 26: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 26

. Hyperlink – campo utilizado para armazenar endereços da World Wide Web (WWW). Composto por texto ou por combinações de texto e número. Pode conter até 2048 caracteres. Propriedades do campo . Field Size - Comprimento máximo dum campo do tipo texto ou o tipo de número (Number). . Format - Forma como os dados são visualizados; é possível utilizar formatações pré-definidas ou construir as próprias formatações. . Decimal Places - Número de casas decimais à direita do ponto decimal. . Input Mask - Caracteres de formatação para a entrada de dados; podem ser usadas máscaras pré-definidas ou construir máscaras próprias. . Caption – Por defeito sempre que o campo é exibido num ecran, relatório, tabela, query,... aparece com o nome com o qual o campo foi definido. Contudo se esta propriedade contiver algum valor, será esse valor a designação que o campo irá assumir sempre que for exibido. . Default Value - Valor dum campo quando um novo registo é criado. . Validation Rule - Expressão que define as regras para a introdução de dados. . Validation Text - Texto que aparece quando dados incorrectos são introduzidos num campo. . Required - Determina se é obrigatório ou não o preenchimento do campo. . Allow Zero Lenght - Determina se é permitido ou não a introdução de texto de comprimento zero; representado pela introdução de “”. . Indexed - Indicação se a tabela é ou não indexada pelo campo. Estes índices permitem acelerar a busca e ordenação.

Page 27: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 27

Relações (‘Relationships’) . Um-para-um (One to One) - se a um registo da tabela Departamento corresponde um só registo da tabela Empregado. Para criar uma associação deste tipo, e por não serem muito comuns, o Access exige que os dois a relacionar sejam chaves ou tenham ‘Unique Indexes’. . Um-para-muitos (One to Many) - se um registo da tabela Departamento corresponde a mais que um registo da tabela Empregado, mas a um registo desta tabela só pode corresponder um registo da tabela Departamento. Este é o tipo de relacionamento por defeito atribuído pelo Access quando se associam duas tabelas. . Impor integridade referencial (Enforce Referencial Integrity) - o Access pode evitar que a informação observada de um ponto de vista global fique inconsistente, não permitindo ao utilizador apagar ou acrescentar informação numa tabela de modo não controlado relativamente à outra tabela. Não esquecer que após o estabelecimento do relacionamento, as tabelas deixam de ser independentes uma da outra. Deste modo o Access emite uma mensagem e não permite alterações nos seguintes casos: . Adicionar um registo a uma tabela relacionada (Empregado) sem existir um registo correspondente na tabela principal (Departamento); . Apagar um registo de uma tabela principal (Departamento) se existir pelo menos uma referência a ele, na tabela relacionada (Empregado). . Tabela principal - tabela Departamento porque contém o campo chave para ligar à tabela Empregado. Deverá ser indicado o campo que vai servir para relacionar as duas tabelas. . Tabela relacionada - tabela Empregado porque contém um campo (chave estrangeira) com informação igual à chave primária da tabela principal, através do qual vai ficar relacionado com esta. Deverá ser indicado o nome do campo correspondente ao campo indicado na tabela principal. . Propagar actualização dos campos relacionados (Cascade Update Related Fields) - faz com que alterações no valor dum campo numa tabela principal automaticamente altere todos os valores correspondentes na tabela ou tabelas relacionadas. . Propagar eliminação dos registos relacionados (Cascade Delete Related Records) - faz com que ao apagar um valor numa tabela principal, sejam apagados automaticamente todos os registos na tabela ou tabelas relacionadas.

Page 28: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 28

2. CONSULTAS DE SELECÇÃO

2.1. OBJECTIVOS Após ter terminado o plano de trabalho proposto no último capitulo, constatará que a estrutura de dados do sistema da SPF já está definida, i.e., já se encontram criadas as tabelas e as respectivas relações. Porém qual a finalidade de possuir os dados armazenados senão formos capazes de lhe extrair a informação relevante para o negócio da empresa? Seria o mesmo que possuir um arquivo com todas as informações de compras e vendas de uma empresa e ser incapaz de responder à questão: quanto ainda temos em armazém? Quem é o nosso maior fornecedor do Produto X? Assim sendo, o objectivo deste documento de apoio é precisamente o de ensinar a extrair informação das tabelas através do tratamento dos respectivos dados. O questionar da base de dados tem subjacente a criação de uma consulta (query). Mais concretamente neste módulo vamos aprender:

• A criar consulta simples com uma ou mais tabelas • A alterar as condições de uma consulta • Criar novos campos com a informação que pretendemos obter dos dados constantes das tabelas:

- Criação de campos calculados - Criação de campos com informação estatística

• Criação de consultas com agrupamentos • Manipulação de consultas com agrupamentos

DEFINIÇÃO DE CONSULTA Existem diversos tipos de consultas (queries) com finalidades distintas, contudo todas elas têm como função seleccionar um conjunto de registos da Base de Dados mediante os critérios necessários para responder à questão em causa. Assim, qualquer consulta permite:

o seleccionar um conjunto de atributos (ou colunas) de uma ou várias tabelas; o filtrar a informação através de um conjunto de condições; o criar novos campos calculados; o e efectuar operações estatísticas com os dados.

A diferença entre os diferentes tipos de consultas reside na finalidade com que é feita a selecção, assim:

• Consulta de Selecção (Select Query) – é a mais utilizada de todos os tipos de queries disponibilizadas pelo Access e tem como finalidade exibir os dados seleccionados;

• Consulta de Acção (Action Query) – pode ser de uma dos seguintes quatro tipos:

o Consulta para Criação de uma Tabela (Make Table Query) – cria uma nova tabela na base de dados com os registos seleccionados;

o Consulta de Actualização de Dados (Update Query) – actualiza o bloco de registos

seleccionados através da alteração em massa do valor de um determinado campo;

o Consulta para Adicionar Registos (Append Query) – adiciona os registos seleccionados à tabela;

o Consulta para Eliminar Registos (Delete Query) – apaga os registos seleccionados da tabela.

Page 29: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 29

2.2. IMPLEMENTAÇÃO DE CONSULTAS EM ACCESS � Antes de iniciar este ponto verifique se concluiu o ponto anterior com os seguintes dados nas tabelas PRODUTO, EMPRESA, VENDEDOR e TRANSACÇÃO. Para tal necessita de abrir o ficheiro de trabalho que criou Anteriormente – SPF.accdb. PRODUTO

referência descrição medida material peso

AN2021 Anilha M8 8 Aço inox 1,00

PC2105 Porca M6 6 Aço macio 2,10

PF2001 Parafuso M6 40 Aço de resistência 5,50

EMPRESA

código nif sede designação

1 101101101 Maputo EPI

2 102102102 Beira ETMA

3 103103103 Quelimane RESISTENTE

4 104104104 Tete PECOL

VENDEDOR

IDvendedor nome telefone cargo código

1 António 111 111 111 Chefe de vendas 1

2 Pedro 222 222 222 Técnico de vendas 2

3 José 333 333 333 Técnico de vendas 3

4 Carlos 444 444 444 Chefe de vendas 4

TRANSACÇÃO

IDtransacção referência código data quantidade preço tipo

1 PF2001 4 10-12-2008 11000 1,10 Compra

2 PC2105 3 19-12-2008 15000 1,05 Compra

3 PF2001 1 22-12-2008 3000 1,35 Venda

4 PC2105 1 22-12-2008 6000 1,30 Venda

5 AN2021 4 29-12-2008 7000 1,00 Compra

6 PC2105 2 12-01-2009 8600 1,45 Venda

7 AN2021 2 12-01-2009 3000 1,15 Venda

8 AN2021 3 15-01-2009 4000 1,20 Venda

9 AN2021 1 19-01-2009 3500 1,10 Compra

10 PF2001 1 20-01-2009 3700 1,40 Venda

11 PF2001 1 26-01-2009 4000 1,50 Venda

12 AN2021 2 30-01-2009 3000 1,25 Venda

Page 30: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 30

CRIAÇÃO DE CONSULTAS DE SELECÇÃO (SELECT QUERY) CONSULTA SIMPLES A Tabela PRODUTO contém toda a informação relacionada com os Produtos comercializadas

pela SPF. Contudo, pode ser necessário visualizar apenas alguns campos da tabela, como por exemplo para saber qual a medida e qual o peso de cada tipo de Produto. Para identificar o tipo de Produto basta saber a sua descrição. Pretende-se portanto obter um resultado como o seguinte:

1. No separador ‘Criar’ (Create) do Friso seleccione ‘Estrutura da Consulta’ (Query Design). Aparece uma nova

janela ‘Consulta1’ (Query1) e uma caixa de diálogo que permite seleccionar a(s) tabela(s) necessárias para a consulta.

2. No diálogo que aparece ‘Mostrar tabela’ (Show Table), aparecem todas as tabelas da base de dados. Deverá

seleccionar a tabela necessárias para proceder à consulta, i.e., a tabela PRODUTO, e clique em ‘Adicionar’ (Add).

Feche a janela ou clique no botão ‘Fechar’ (Close). 3. Na janela que se lhe depara deverá desenhar a Consulta. Na parte de cima da janela aparece a tabela (ou tabelas como veremos mais à frente) que participa na Consulta. Na parte de baixo encontra uma grelha que serve para definir as condições da Consulta. 4. Clique sobre a linha ‘Campo’ (Field) da primeira coluna da grelha. � Aparece uma ‘Caixa de combinação’ (ComboBox) contendo os campos da tabela. Escolha o campo ‘descrição’ – um dos campos que pretende visualizar na selecção. � Existem dois outros processos de seleccionar os campos: pode arrastar o campo pretendido para a linha ‘Campo’ (Field) ou pode fazer um duplo clique sobre o campo pretendido (este será automaticamente colocado na linha ‘Campo’). Escolha também os campos ‘medida’ e ‘peso’, campos também eles necessários para o pedido realizado.

Page 31: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 31

5. Seleccione ‘Vista | Vista de Folha de Dados’ (View | Datasheet View) ou clique no botão ‘Executar’ (Run) do

Friso (em forma de ponto de exclamação). � Aparece o resultado da execução da Consulta sob a forma de uma folha (semelhante à folha de dados).

O resultado é uma nova tabela contendo apenas os campos pretendidos. � A tabela que resulta da execução da Consulta é temporária. É criada com a execução da Consulta e desaparece quando se fecha a Consulta.

6. Para gravar a Consulta, seleccione o separador da consulta e com o botão direito do rato seleccione ‘Guardar’. Em ‘Nome da consulta’ (Query Name) coloque o nome: ‘Consulta01 – consulta simples’ e clique em ‘OK’. Feche a janela que contém a consulta.

7. Verifique que no Painel de Navegação aparece a Consulta criada. Clique em cima do nome da consulta.

A Consulta é de novo executada e aparece de novo a janela com o resultado da Consulta. Feche novamente a Consulta.

� Atenção: Quando se grava uma Consulta não está a ser gravado o resultado da Consulta mas antes a sua definição. ADICIONAR CONDIÇÕES A UMA CONSULTA CONSULTA COM CONDIÇÕES Neste momento a Consulta definida permite consultar a informação de medida e peso relativa a

todos os produtos comercializados pela organização. Suponha agora que pretende saber quais os produtos cuja medida é superior a 10 e o peso superior a 2 g, e para estas qual o respectivo material, obtendo assim o seguinte resultado:

1. Vamos fazer uma Consulta semelhante à ‘Consulta01 – consulta simples’ seleccionando ‘Estrutura da Consulta’

(Query Design) no separador ‘Criar’ (Create). � Aparece novamente a janela de criação de Consultas. 2. Para além dos campos descrição, ‘medida’ e ‘peso’ adicione à grelha o campo ‘material’ da tabela PRODUTO,

para que assim também este campo seja exibido aquando da execução da consulta.

Page 32: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 32

3. É importante agora impor as restrições de selecção dos registos, que são: medida superior a 10 e peso superior

a 2 g. Para adicionar as restrições utiliza-se a linha ‘Critério’ (Criteria) de cada campo. Assim, na coluna do campo ‘medida’ na linha ‘Critério’ deverá escrever o critério: >10, e na coluna do campo ‘peso’ na mesma linha deverá inserir: >2.

4. Execute a Consulta.

Aparece apenas um registo, ou seja, aqueles que obedecem às restrições impostas. � Se colocar as condições na mesma linha ‘Critério’ então só serão apresentados os registos que respeitem a primeira ‘e’ a segunda condição. Se pelo contrário colocar as condições em diferentes linhas ‘Critério’ essas serão respeitadas disjuntamente, i.e., obedecendo à operação lógica ‘ou’. 5. Feche a janela e grave a Consulta como ‘Consulta02 – consulta com condições’ e clique em ‘OK’. Feche a

Consulta. CRIAR CONSULTAS COM VÁRIAS TABELAS CONSULTA COM DUAS TABELAS Pretende-se saber o Nome e Telefone do Vendedor de cada organização. Porém da organização

pretende-se saber a respectiva Designação e Sede. Deverá obter-se a tabela seguinte:

1. Seleccione ‘Estrutura da Consulta’ (Query Design) no separador ‘Criar’ (Create) do Friso. 2. Seleccione as tabelas ‘EMPRESA’ e ‘VENDEDOR’ necessárias à exibição da informação solicitada.

� Aparece a janela para definição da Consulta com as tabelas e respectivo relacionamento (definido anteriormente em ‘Relações’).

3. Seleccione para a linha ‘Campo’ (Field) os seguintes campos das tabelas:

� Vendedor: nome e telefone � Empresa: designação e sede

Execute a Consulta. 4. Grave a Consulta com o nome ‘Consulta03 – consulta com duas tabelas’ e clique em ‘OK’. Feche a Consulta.

Page 33: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 33

CRIAR CONSULTAS COM CAMPOS CALCULADOS CONSULTA COM CAMPOS CALCULADOS A tabela Transacções possui as Transacções realizadas e sobre estas a quantidade e o preço

unitário. Sabendo que os preços apresentados não incluem IVA e que a taxa praticada para estes produtos é de 20%, pretende-se saber o montante envolvido em cada transacção com e sem IVA. Pretende-se ainda conhecer o nome da empresa que efectuou a transacção.

1. Seleccione ‘Estrutura da Consulta’ (Query Design) no separador ‘Criar’ (Create) do Friso. 2. Seleccione as tabelas ‘TRANSACÇÃO’ e ‘EMPRESA’ � Aparece a janela para definição da Consulta com as tabelas e respectivo relacionamento (definido anteriormente em ‘Relações’). 3. Seleccione para a linha ‘Campo’ os seguintes campos das tabelas:

� Produto: descrição � Empresa: designação � Transacção: preço e quantidade

4. Nesta Consulta pretende-se calcular o valor da transacção com e sem IVA Não existe na tabela nenhum campo que contenha estes valores, como tal serão criados dois novos campos na própria Consulta.

Page 34: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 34

• Na primeira coluna disponível na linha ‘Campo’ escreva:

valorSemIVA:[preço]*[quantidade]

• Na segunda coluna disponível na linha ‘Campo’ escreva: valorComIVA:[preço]*[quantidade]*1,2 � valorSemIVA e valorComIVA serão os nomes dados aos novos campos (colunas). Os ‘:’ significam que os valores do campo serão o resultado do cálculo da expressão que se lhe segue.

5. Execute a Consulta. � Aparecem duas novas colunas! Contudo o nome não corresponde exactamente aos exibidos na tabela pretendida. Faça essa alteração!!! � Vimos que é possível acrescentar à Consulta um campo que não exista em nenhuma das tabelas da base de

dados e cujo conteúdo seja calculado no momento da execução da consulta. Nestas situações, diz-se que se trata de um campo calculado.

6. Verifique que a formatação do campo calculado não é igual à dos campos envolvidos no seu cálculo, até

porque estes também são diferentes. Volte ao ecrã de definição da Consulta. Seleccione ‘Campo’ dos campos calculados e clique no botão ‘Propriedades’ (situado na Barra de ferramentas) ou seleccione a opção ‘Propriedades’ no Menu ‘Ver’. � Aparece uma nova janela com as propriedades do campo. Aqui poderá definir propriedades para o campo 7. Grave a Consulta com o nome ‘Consulta04 – consulta com campos calculados’ e clique em ‘OK’. Feche a

Consulta.

Page 35: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 35

CALCULAR TOTAIS CONSULTA COM TOTAIS Como foi dito anteriormente, as consultas podem também ser utilizadas para efectuar operações

estatísticas sobre os dados. Considere agora o exercício de calcular o número total de transacções e o preço médio unitário sem IVA de cada transacção.

1. Seleccione ‘Estrutura da Consulta’ (Query Design) no separador ‘Criar’ (Create) do Friso.

Adicione a tabela ‘TRANSACÇÃO’. 2. Pretende-se calcular o número total de transacções, a quantidade transaccionada e o preço médio unitário sem

IVA das transacções. Seleccione para a linha ‘Campo’ os campos ‘IDtransacção’, ‘quantidade’ e ‘preço’.

3. Seleccione no Menu ‘Ver’ a opção ‘Totais’ (Totals) ou carregue no botão ‘Totais’ (? na Barra de ferramentas).

� Aparece uma nova linha com a designação ‘Total’, que tornará possível a utilização de funções como, por exemplo, somatório e média aritmética.

4. Para a coluna ‘IDtransacção’ na linha ‘Total’ seleccione ‘Contar’ (Count) (use a ‘Caixa de combinação’).

Para a coluna ‘quantidade’ na linha ‘Total’ seleccione ‘Soma’ (Sum). Para a coluna ‘preço’ na linha ‘Total’ seleccione ‘Média’ (Avg).

5. Execute a Consulta. 6. Grave a Consulta com o nome ‘Consulta05 – consulta com totais’ e clique em ‘OK’. Feche a janela.

Page 36: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 36

CALCULAR TOTAIS COM AGRUPAMENTOS CONSULTA COM AGRUPAMENTOS No exercício anterior calculámos o valor médio de transacção das Produtos, contudo interessa-

nos saber o número de transacções e respectivo valor médio por Empresa Como agrupar a informação?

1. Seleccione ‘Estrutura da Consulta’ (Query Design) no separador ‘Criar’ (Create) do Friso.

Adicione as tabelas ‘TRANSACÇÃO’ e ‘EMPRESA’. 2. Pretende-se calcular o número total de transacções (Contar de ‘IDtransacção’), a quantidade total e a média de

‘preço’ por ‘Empresa’. Seleccione para a linha ‘Campo’ o campo ’designação’ da tabela EMPRESA e os campos ‘IDtransacção’, ‘quantidade’ e ‘preço’ da tabela TRANSACÇÃO.

3. Active a linha ‘Totais’ (seleccionando o Menu ‘Vier | Totais’ ou carregando no botão ‘Totais’- ‘( ? na Barra de

ferramentas). Para a coluna ‘designação’ na linha ‘Total’ seleccione ‘Agrupar por’ (Group By). Para a coluna ‘IDtransacção’ na linha ‘Total’ seleccione a função ‘Contar’ (Count). Para a coluna ‘quantidade’ na linha ‘Total’ seleccione a função ‘Soma’ (Sum). Para a coluna ‘preço’ na linha ‘Total’ seleccione a função ‘Média’ (Avg).

4. Execute a Consulta.

� Verifique que obtém o número e o valor médio unitário de cada transacção por cada Produto. 5. Grave a Consulta com o nome ‘Consulta06 – consulta com agrupamentos’ e clique em ‘OK’. Feche a janela.

Page 37: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 37

CALCULAR TOTAIS COM AGRUPAMENTOS, CONDIÇÕES E CAMPOS CALCULADOS O objectivo neste momento é calcular o valor médio do montante sem IVA de cada transacção,

agrupado por Produto, mas só deverão ser considerados como válidos os Transacções efectuados no ano 2008.

1. Seleccione ‘Estrutura da Consulta’ (Query Design) no separador ‘Criar’ (Create) do Friso.

Adicione as tabelas ‘TRANSACÇÃO’ e ‘EMPRESA’. 2. Pretende-se obter o valor máximo do montante sem IVA agrupado por Empresa. Seleccione no Menu ‘Ver’ a

opção ‘Totais’ (Totals) ou carregue no botão ‘Totais’ na barra de ferramentas. 3. Para agrupar por Empresa seleccione o campo designação da tabela PRODUTO e na linha Total decida-se

pela opção ‘Agrupado por’ (Group By) 4. Para calcular o montante de cada transacção crie um campo calculado para o efeito. 5. Para calcular a média – seleccione na coluna do campo calculado, linha Total a função média

6. Para calcular o máximo – escreva: valor máximo: Max(([quantidade]*[preço])) 7. Para restringir estes cálculos aos registos referentes ao ano 2008. Insira o campo data da tabela

TRANSACÇÃO na grelha e na respectiva linha Critério escreva: ano([data])=2008 (year([data])=2008). Escolha a opção ‘Onde’ (Where) na linha Total.

8. Execute a Consulta e veja o resultado. 9. Grave a Consulta com o nome ’ Consulta06 – consulta com agrupamentos’ e clique em ‘OK’. Altere a Consulta no sentido de agrupar por Produto e Empresa envolvida na transacção (acrescente a tabela EMPRESA e o campo ‘designação’. Grave a consulta.

Page 38: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 38

CRIAR CONSULTAS COM PARÂMETROS CONSULTA COM PARÂMETROS É necessário criar uma funcionalidade que permita consultar a qualquer momento toda a informação sobre as transacções de determinada empresa. A indicação da empresa que se pretende consultar é realizada no momento da pesquisa.

Pretende-se então:

• Criar uma consulta (query) que permita consultar a informação sobre uma única empresa • A indicação do nome da empresa a consultar é inserido de cada vez que se executa a query

Uma hipótese de solução poderá ser criar uma select query com um critério de selecção baseado na designação ou no código, em que sempre que se pretenda executar a query se altera o valor do critério no ‘Design View’. Esta solução é pouco prática e funcional, pois obrigaria a que qualquer funcionário que pretendesse trabalhar com a aplicação tivesse conhecimentos de Access para poder fazer as alterações correctas e necessárias. O ideal será solicitar ao utilizador a designação da empresa a consultar sempre que realize a consulta, para isso devemos utilizar uma Consulta com parâmetros. 1. Crie uma nova query com as tabela ‘EMPRESA’, ‘TRANSACÇÃO’ e ‘PRODUTO’, de onde pretende extrair a informação. Coloque na linha ‘Field’ os campos das tabelas necessários para obter um resultado semelhante ao da figura seguinte (tenha em consideração que alguns campos têm de ser calculados a partir de outros).

2. O critério de selecção do registo é feito com base na designação da empresa, então na coluna respectiva na linha ‘Criteria’ escreva....... se escrever um nome a query ficará estática (não se pretende estaticidade mas uma solução dinâmica), então escreva entre [ ] (parêntesis rectos) uma pergunta que queira fazer ao utilizador para que ele possa introduzir o nome da empresa sempre que executar a Query. Por exemplo: [Qual a empresa?]. 3. Execute a ‘Query’. Repare que a pergunta que inseriu como critério de selecção aparece com a hipótese de introduzir o nome que pretender dentro de uma caixa de texto. Responda à pergunta com a designação de uma empresa que exista. Agora altere a expressão para: Like [Qual a empresa?] & “*”. Percebe a diferença? 4 Na realidade, a questão que insere no critério de uma Query Parametrizada, funciona como se fosse um parâmetro/variável à qual pode ser atribuído um valor de cada vez que a Query é executada. Feche a janela. Grave a Query com o nome ‘Consulta07 – consulta com parâmetros’.

Page 39: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 39

CRIAR UMA CONSULTA DE REFERÊNCIA CRUZADA’ CONSULTA DE REFERÊNCIA CRUZADA Pretende-se obter a mesma informação, isto é, calcular o valor médio do montante sem IVA de

cada transacção, agrupado por Produto e Empresa fornecedora/cliente dos Transacções efectuados no ano 2000, mas com uma apresentação diferente, tipo Folha de Cálculo.

Para resolver esta questão iremos utilizar um outro tipo de consultas disponibilizadas pelo Access - as consultas de referência cruzada (queries Crosstab). Este tipo de consultas permite cruzar a informação numa tabela, com os campos em linhas e colunas, com uma apresentação típica de Folha de Cálculo, composta por: . Título da linha (Row Heading) – campo cujo conteúdo vai ser o cabeçalho das linhas. . Cabeçalho da coluna (Column Heading) – campo cujo conteúdo vai ser o cabeçalho das colunas. . Valor (Value) – campo cujo total, média, etc., vai aparecer na intersecção das linhas com as colunas. 1. Crie uma nova query com as tabela ‘PRODUTO’, ‘TRANSACÇÃO’ e ‘EMPRESA’.

2. Seleccione para a linha ‘Campo’ o campo ‘descrição’ da tabela PRODUTO, o campo ’designação’ da tabela

EMPRESA e o campo ‘quantidade’ da tabela TRANSACÇÃO.

3. Pretende-se agora utilizar os agrupamentos anteriores para explorar a ‘consulta de referência cruzada’. Seleccione no Friso ‘Consulta de referência cruzada’ (Crosstab) na secção Tipo de Consulta (Query Type).

� Aparece uma nova linha ‘Referência cruzada’ (Crosstab) na janela de definição da consulta, a seguir à linha ‘Total’ (Total). 4. No campo ‘descrição’ seleccione ‘Agrupado por’ (Group By) na linha ‘Total’ e Cabeçalho de coluna’(Column

Heading) na linha ‘Referência cruzada’ (Crosstab). No campo ‘designação’ seleccione ‘Agrupado por’ (Group By) na linha ‘Total’ e ‘título da linha’ (Row Heading) na linha ‘Referência cruzada’ (Crosstab). No campo ‘quantidade’ seleccione ‘Soma’ (Sum) na linha ‘Total’ e ‘Valor’ (Value) na linha ‘‘Referência cruzada’ (Crosstab).

5. Execute a Consulta.

� Obtém-se assim uma tabela onde cada célula traduz a quantidade transaccionada de cada Produto por Empresa.

6. Grave a Consulta com o nome ‘Consulta08 – consulta de referência cruzada’ e clique em ‘OK’. 7. Feche a janela do Microsoft Access. Desta forma fecha a Base de Dados e sai do Access.

Page 40: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 40

3. FORMULÁRIOS E RELATÓRIOS

3.1. IMPLEMENTAÇÃO DE FORMULÁRIOS EM ACCESS

O presente módulo irá incidir de uma forma rápida e sucinta sobre os elementos utilizados para interface: os ecrãs ou Formulários (Forms) e ainda os Relatórios (Reports). � Os Formulários (Forms) são os elementos de interface com o utilizador disponibilizados pela Base de Dados. Representam ecrãs onde o utilizador pode inserir, alterar, remover, consultar e pesquisar o conteúdo das tabelas. CRIAR UM FORMULÁRIO – EMPRESAS (COM RECURSO AO ASSISTENTE DE FORMULÁRIOS) 1. No friso seleccione o separador ‘Criar’ e, posteriormente premir o botão ‘Mais Formulários’ na secção ‘Formulários’ (Forms). No menu associado a esta opção, seleccione a opção ‘Assistente de Formulários’. � Aparece a caixa de diálogo ‘Assistente de Formulários’ (Form Wizard). � A utilização do ‘Assistente’ (Wizard) permite criar o formulário através dum processo automático. � Nesta caixa tem a hipótese de associar o ecrã (Formulário) ao conteúdo de uma tabela ou então ao resultado de uma Consulta (Query), ou eventualmente não associar o ecrã a nenhuma informação. � Se fizer a associação com uma tabela – o formulário irá representar a própria tabela podendo assim directamente alterá-la, inserir novos registos, remover registos, etc., i.e., existirá uma relação muito estreita entre o formulário e a tabela para que qualquer alteração, que o utilizador faça no ecrã, seja automaticamente repercutida na tabela. � Se optar pela associação com uma consulta – será exibido o resultado da execução da consulta, i.e., não existe ligação entre o formulário e as tabelas que eventualmente estejam na origem da consulta. Portanto qualquer alteração que faça no formulário não tem qualquer repercussão sobre as tabelas. Em ‘Tabelas/Consultas’ (Choose the table or query) use a caixa de combinação (Combo Box) para seleccionar a tabela ‘Empresa’. 2. Em ‘Campos disponíveis:’ (Available-Fields:) clique no botão » para indicar que pretende usar todos os campos.

Repare que todos os campos da tabela aparecem listados. Clique no botão ‘Seguinte >’ (Next >). 3. Seguidamente escolha um dos ‘esquemas’ (layout) disponiveis (sugestão: ‘Colunas’ (Columnar)).

Clique no botão ‘Seguinte >’ (Next >). � Os esquemas (layouts) permitem que o utilizador possa escolher a disposição dos campos no formulário. Seleccionando sucessivamente cada opção disponível poderá visualizar o respectivo esquema.

Page 41: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 41

4. A seguir escolha uma das propostas apresentadas para o fundo.

Clique no botão ‘Seguinte >’ (Next >). � As propostas de fundo apresentam padrões distintos para embelezarem os formulários: imagens a incorporarem, cores e formatos das letras,.... 5. Em ‘Qual o título que deseja para o formulário?’ (What title do you want for your form?) pode definir o título que

pretende dar ao formulário. Será este título que será exibido sempre que activar o formulário. (Sugestão: ‘Gerir dados de Empresas’). Clique em ‘Concluir’ (Finish). Veja o resultado obtido.

6. Use os botões da parte inferior esquerda da janela para mudar ou inserir novos registos:

Nota: não esqueça que todas as operações que concretizar têm reflexo imediato na tabela EMPRESA. 7. Faça o mesmo para as tabelas ‘PRODUTO’ e ‘VENDEDOR’.

Page 42: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 42

CRIAR UM FORMULÁRIO COM SUBFORMULÁRIO – EMPRESA/TRANSACÇÃO (USANDO O ASSISTENTE) � Como reparou, um formulário só pode ser associado a uma tabela ou então a uma consulta. Imagine que se pretende ter um formulário com as Empresas e respectivas Transacções, e sempre que mudarmos de Empresa deveremos visualizar novas Transacções. Isto é, precisamos de consultar simultaneamente duas tabelas: EMPRESA e TRANSACÇÃO. Como tal não é possível dentro de um único formulário, utilizamos dois, em que um está dentro do outro (Subformulário). Neste caso cada formulário permitirá a consulta dos dados de uma única tabela mas ambos têm que estar bem relacionados para que estando num a visualizar a informação de determinada Empresa, o outro exiba unicamente os Transacções dessa Empresa. 1. No friso seleccione o separador ‘Criar’ e, posteriormente premir o botão ‘Mais Formulários’ na secção

‘Formulários’ (Forms). No menu associado a esta opção, seleccione a opção ‘Assistente de Formulários’.

Siga os passos indicados no ponto anterior para criar um formulário novamente com a tabela ‘Empresa’. Em ‘Qual o título que deseja para o formulário?’ (What title do you want for your form?) coloque ‘Gerir dados de Transacções’ 2. Para introduzir o ‘Subformulário’ vai ser necessário modificar o formulário.

Clique no botão ‘Vista de Estrutura’ (Design View) da secção ‘Vistas’ (View). � Aparece a janela para definição do formulário. 3. Alargue a zona de ‘Detalhe’ (Detail) arrastando a barra ‘Rodapé do formulário’ (Form Footer).

Verifique se o botão ‘Utilizar Assistentes de Controlo’ (Use Control Wizards) na secção ‘Controlos’ está pressionado, caso não esteja clique uma vez com o rato. Seleccione o botão ‘Subformulário/subrelatório’ (Subform/Subreport) da secção ‘Controlos’ (Controls). 4. Na zona de ‘Detalhe’ (Detail) desenhe um rectângulo a toda a largura disponível do formulário. � Aparece a janela ‘Assistente de subformulários’ (Subform/Subreport Wizard). Seleccione ‘Utilizar tabelas e consultas existentes’ (Table/Query). Clique no botão ‘Seguinte >’ (Next >).

Page 43: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 43

5. Seguidamente em ‘Tabelas/Consultas’ (Tables and Queries) seleccione a tabela ‘TRANSACÇÃO’.

Em ‘Campos disponíveis’ (Available Fileds) clique no botão » para seleccionar todos os campos. Clique no botão ‘Seguinte >’ (Next >).

6. A seguir responda à primeira pergunta com ‘Escolher de uma lista’ (Choose from a list).

Seleccione ‘Mostrar TRANSACÇÃO para cada registo em EMPRESA usando código’ (Show TRANSACÇÃO for each record in EMPRESA using código). Clique no botão ‘Seguinte >’ (Next >).

� Neste passo está a seleccionar o campo que permitirá fazer a ligação entre os dois formulários. Como as tabelas que lhe estão subjacentes estão ligadas pelo campo código, optamos por este campo para relacionar os dois formulários. 7. Para dar o nome ao formulário em vez de aceitar a sugestão do nome ‘Transacção subform’ introduza

‘Transacções da Empresa’. Clique em ‘Concluir’ (Finish). Para ver o resultado clique no botão ‘Vista de Formulário’ (Form View) da secção ‘Vistas’ (Views).

8. Analise o funcionamento deste tipo de formulário.

Neste formulário visualiza para cada Empresa os respectivos Transacções. Se necessário volte à ‘Vista de Estrutura’ para aumentar a largura do subformulário de forma a visualizar todos os campos. Utilize os botões do canto inferior esquerdo do formulário e do subformulário para verificar o seu funcionamento. Feche a janela.

Page 44: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 44

MODIFICAR UM FORMULÁRIO � Enquanto para a criação do formulário beneficiou de um processo de criação automático, se pretender altera-lo terá que o fazer manualmente em ‘Vista de Estrutura’ (Design View). Modificar um Formulário – Gerir dados de Transacções 1. Seleccione o separador ‘Formulários’ (Forms) no Painel de Navegação (Navigation Pane).

Seleccione o formulário ‘Gerir dados de Transacções’. Clique no botão ‘Vista de Estrutura’ (Design View) da secção ‘Vistas’ (Views).

2. Pretende-se colocar uma indicação textual referente à data do dia.

Essa data deverá ser colocada na parte superior do formulário designada por ‘Cabeçalho do formulário’ (Form Header). Verifique se o botão ‘Utilizar Assistentes de Controlo’ (Use Control Wizards) na secção ‘Controlos’ está pressionado, caso não esteja clique uma vez com o rato. Clique no botão ‘Rótulo’ (Label).

3. Leve o cursor até ao ‘Cabeçalho do formulário’ (Form Header) e desenhe um rectângulo. Se necessário arraste a barra cinzenta da zona de ‘Detalhe’ (Detail) para ter espaço no cabeçalho. Dentro do rectângulo escreva “Sistema de Informação da SPF”. Modifique o tipo, tamanho e cor de letra a seu gosto.

4. Clique no botão ‘Caixa de texto’ (Text Box). 5. Leve o cursor até ao ‘Cabeçalho do formulário’ (Form Header) e desenhe um rectângulo.

Se necessário arraste a barra cinzenta da zona de ‘Detalhe’ (Detail) para ter espaço no cabeçalho. � Aparecem no ecrã os campos ‘TextoX:’ e ’Independente’ (Unbound). (X representa um número) Clique sobre o campo ‘TextoX’ e substitua por ‘Data’ Clique sobre o campo ‘Independente’ (Unbound) e substitua por ‘=date()’. Se for necessário mova ou altere o tamanho dos dois campos agora criados de modo a melhorar a apresentação. Clique no botão ‘Vista’ (View). Feche o formulário. MODIFICAR UM FORMULÁRIO PARA MANIPULAR AS TRANSACÇÕES � A finalidade deste formulário será a introdução de alguns mecanismos de ajuda à inserção de registos de forma a garantir a integridade referencial e a ser o mais fácil de utilizar possível. Modificação de um Formulário – Gerir dados de Transacções � Pretende-se que o formulário seja automatizado e que fique mais legível pela alteração da forma de inserção/consulta da Empresa. Assim, e não pondo em causa as regras de integridade referencial a que a base de dados definida está sujeita, pretende-se que seja exibida a designação da empresa em vez do respectivo código. 1. Seleccione o separador ‘Formulários’ (Forms) no Painel de Navegação (Navigation Pane).

Seleccione o formulário ‘Gerir dados de Transacções’. Clique no botão ‘Vista de Estrutura’ (Design View) da secção ‘Vistas’ (Views).

Page 45: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 45

2. Pretende-se agora transformar o campo ‘código’ numa ‘Caixas de combinação’ (Combo Box) para facilitar a

manipulação das Transacções. � Em relação ao campo ‘código’ referente à designação da Empresa: 3. Verifique se o botão ‘Utilizar Assistentes de Controlo’ (Use Control Wizards) na secção ‘Controlos’ está

pressionado, caso não esteja clique uma vez com o rato. Clique no botão ‘Caixa de combinação’ (Combo Box). (Verifique que os dois botões ficam premidos). Desenhe um rectângulo ao lado do campo código.

� Aparece a janela ‘Assistente de Caixas de Combinação’ (Combo Box Wizard). 4. Active a opção ‘Procurar um registo no formulário com base no valor seleccionado na caixa de combinação’

(Find a record on my form based on the value I selected in my combo box). Clique no botão ‘Seguinte >’ (Next >).

5. A seguir aparece a pergunta ‘Que campos contêm os valores que deseja incluir na sua caixa de combinação?’

(Which fields contain the values you want included in your combo box?). Seleccione ‘designação’. Clique no botão ‘Seguinte >’ (Next >).

6. Seguidamente altere se quiser a largura da coluna da ‘Caixa de combinação’ (Combo Box). Clique no botão

‘Seguinte >’ (Next >). 7. Na caixa seguinte deve colocar a etiqueta a colocar junto da caixa de combinação.

Escreva ‘Empresa’. Clique no botão ‘Concluir’ (Finish). 8. Seleccione os antigos campos ‘código’ e ‘designação’ e carregue na tecla ‘Delete’ para os apagar.

Mova o novo campo ajustando a sua dimensão. Altere ‘nif’ para ‘Nº de contribuinte’ e ‘sede’ para ‘Localidade’. No subformulário apague o campo ‘código’. Clique no botão ‘Vista de formulário’ (Form View) para ver o efeito.

� Pode criar uma ‘Caixa de combinação’ (Combo Box) sem utilizar os ‘Assistentes de controlo’ (analise as propriedades dos campos)

Page 46: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 46

CRIAR UMA ESTRUTURA DE MENUS UTILIZANDO FORMULÁRIOS � Nem sempre os formulários estão associados a tabelas ou consultas. Um formulário pode não estar associado a dados da base de dados e servir meramente como um ecrã menu, com um conjunto de botões que disponibilizam todas as funcionalidades do sistema. 1. Pretende-se construir um menu.

Este menu permitirá dar acesso aos vários objectos do Access (Relatórios, Formulários e Consultas) de forma simples para qualquer utilizador.

2. Seleccione a secção ‘Formulários’ (Forms) do separador ‘Criar’ (Create).

Crie um novo formulário sem seleccionar nenhuma tabela, escolhendo ‘Estrutura de Formulário’ (Form Design). 3. Clique no botão ‘Rótulo’ (Label) da secção ‘Controlos’ (Controls).

Na zona ‘Detalhe’ (Detail) faça um rectângulo. Escreva ‘CONSULTAR TRANSACÇÕES’ dentro do rectângulo. Pode alterar o tipo, tamanho e cor de letra a seu gosto, bem como o fundo.

� Se pretender alterar o aspecto do controlo utilize as ‘Propriedades’ (Properties) (clique no botão ‘Propriedades’). 4. Clique no botão ‘Controlo separador’ (Tab control) da secção ‘Controlos’ (Controls). (Verifique se o botão

‘Utilizar Assistentes de controlo’ (Use Control Wizards) também está premido). Na zona ‘Detalhe’ (Detail) faça um rectângulo por baixo de onde escreveu ‘CONSULTAR TRANSACÇÕES’. Vamos precisar de três páginas e só temos duas, por isso vamos acrescentar mais uma clicando no botão direito do rato e seleccionando ‘Inserir Página’ (Insert Page). Para mudar o nome das páginas clique com o botão direito do rato em cima do nome da página e escolha ‘Propriedades’ (Properties). Mude os nomes das páginas para ‘VALORES’, ‘EMPRESAS’ e ‘TOTAIS’.

5. Vamos agora inserir botões nas três páginas. Após seleccionar a página ‘VALORES’ clique no botão ‘Botão’

(Button) da secção ‘Controlos’ (Controls). (Verifique se o botão ‘Utilizar Assistentes de controlo’ (Use Control Wizards) também está premido). Na zona página ‘VALORES’ faça um rectângulo.

� Aparece uma janela ‘Assistente de Botões de Comando’ (Command Button Wizard). A primeira opção de menu que vamos criar é para abrir a consulta ‘Consulta04 – consulta com campos calculados’. Em ‘Categorias’ (Categories) seleccione ‘Diversos’ (Miscellaneous). Em ‘Acções’ (Actions) seleccione ‘Executar consulta’ (Run Query). Clique no botão ‘Seguinte >’ (Next >). A seguir seleccione a consulta ‘Consulta04 – consulta com campos calculados’. Clique no botão ‘Seguinte >’ (Next >). A seguir seleccione ‘Texto’ (Text) e escreva ‘valores das transacções’ (será a Legenda que aparecerá escrita no botão). Clique no botão ‘Seguinte >’ (Next >). Confirme de seguida o nome sugerido para o botão. Clique no botão ‘Concluir’ (Finish). 6. Clique agora no botão ‘Vista de formulário’ (Form View) para ver o resultado.

Clique no botão ‘valores das transacções’, criado por si e veja o resultado. Feche a consulta.

Page 47: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 47

7. Clique no botão ‘Vista de Estrutura’ (Design View) da secção ‘Vistas’ (Views).

Faça o mesmo procedimento para os botões: Na janela ‘EMPRESAS’ Um botão para ‘Consulta06 – consulta com agrupamentos’ (com a Legenda ‘totais por empresa’) Um botão para ‘Consulta07 – consulta com parâmetros’ (com a Legenda ‘consultar por empresa’) Na janela ‘TOTAIS’ Um botão para ‘Consulta05 – consulta com totais’ (com a Legenda ‘transacções totais’) Um botão para ‘Consulta08 – consulta de referência cruzada’ (com a Legenda ‘totais por empresa e produto’)

8. Finalmente vamos fazer um botão para fechar este menu. Faça um rectângulo por baixo das páginas do controlo separador.

Em ‘Categorias’ (Categories) seleccione ‘Operações de formulários’ (Form Operations). Em ‘Acções’ (Actions) seleccione ‘Fechar formulário’ (Close Form). Clique no botão ‘Seguinte >’ (Next >). A seguir seleccione ‘Texto’ (Text) e escreva ‘menu anterior’. Clique no botão ‘Seguinte >’ (Next >). Confirme de seguida o nome sugerido para o botão. Clique no botão ‘Concluir’ (Finish).

Deverá obter um resultado semelhante ao seguinte:

9. Feche a janela do formulário

Guarde o formulário com o nome ‘Consultar transacções’. Abra-o de novo e verifique o seu funcionamento. 10. Seleccione a secção ‘Formulários’ (Forms) do separador ‘Criar’ (Create).

Crie um novo formulário sem seleccionar nenhuma tabela, escolhendo ‘Estrutura de Formulário’ (Form Design).

Page 48: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 48

11. Clique no botão ‘Rótulo’ (Label) da secção ‘Controlos’ (Controls).

Na zona ‘Detalhe’ (Detail) faça um rectângulo. Escreva ‘GERIR DADOS’ dentro do rectângulo. Pode alterar o tipo, tamanho e cor de letra a seu gosto, bem como o fundo. Vamos agora inserir botões para aceder aos restantes formulários. Clique no botão ‘Botão’ (Button) da secção ‘Controlos’ (Controls). (Verifique se o botão ‘Utilizar Assistentes de controlo’ (Use Control Wizards) também está premido). Na zona abaixo de onde escreveu ‘GERIR DADOS’ faça um rectângulo.

� Aparece uma janela ‘Assistente de Botões de Comando’ (Command Button Wizard). A primeira opção de menu que vamos criar é para abrir o formulário ‘Gerir dados de Produtos’. Em ‘Categorias’ (Categories) seleccione ‘Operações de formulários’ (Form Operations). Em ‘Acções’ (Actions) seleccione ‘Abrir formulário’ (Open Form). Clique no botão ‘Seguinte >’ (Next >). A seguir seleccione o formulário ‘Gerir dados de Produtos’. Clique no botão ‘Seguinte >’ (Next >). Seleccione a seguir a opção ‘Abrir o formulário e mostrar todos os registos’ (Open the form and show all the records)’ Clique no botão ‘Seguinte >’ (Next >). A seguir seleccione ‘Texto’ (Text) e escreva ‘produtos’. Clique no botão ‘Seguinte >’ (Next >). Confirme de seguida o nome sugerido para o botão. Clique no botão ‘Concluir’ (Finish). 12. Clique agora no botão ‘Vista de formulário’ (Form View) para ver o resultado.

Clique no botão ‘produtos’, criado por si. Feche o formulário ‘Gerir dados de Produtos’.

13. Clique no botão ‘Vista de estrutura’ (Design View).

Faça o mesmo procedimento para os botões: empresas (formulário – Gerir dados de Empresas) vendedores (formulário – Gerir dados de Vendedores) transacções (formulário – Gerir dados de Transacções) menu anterior (botão para fechar este formulário).

14. Feche a janela do formulário

Guarde o formulário com o nome ‘Gerir dados’.

Page 49: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 49

15. Seleccione a secção ‘Formulários’ (Forms) do separador ‘Criar’ (Create).

Crie um novo formulário sem seleccionar nenhuma tabela, escolhendo ‘Estrutura de Formulário’ (Form Design). 16. Clique no botão ‘Rótulo’ (Label) da secção ‘Controlos’ (Controls). Na zona ‘Detalhe’ (Detail) faça um rectângulo. Escreva ‘LISTAR TRANSACÇÕES’ dentro do rectângulo. Pode alterar o tipo, tamanho e cor de letra a seu gosto, bem como o fundo. Este formulário permitirá aceder através de botões aos relatórios assim que estes estiverem feitos. 17. Feche a janela do formulário

Guarde o formulário com o nome ‘Listar transacções’. 18. Seleccione a secção ‘Formulários’ (Forms) do separador ‘Criar’ (Create).

Crie um novo formulário sem seleccionar nenhuma tabela, escolhendo ‘Estrutura de Formulário’ (Form Design). 19. Clique no botão ‘Rótulo’ (Label) da secção ‘Controlos’ (Controls).

Na zona ‘Detalhe’ (Detail) faça um rectângulo. Escreva ‘MENU PRINCIPAL’ dentro do rectângulo. Pode alterar o tipo, tamanho e cor de letra a seu gosto, bem como o fundo. Vamos agora inserir botões para aceder aos restantes menus. Clique no botão ‘Botão’ (Button) da secção ‘Controlos’ (Controls). (Verifique se o botão ‘Utilizar Assistentes de controlo’ (Use Control Wizards) também está premido). Faça botões para abrir: formulário – Gerir dados formulário – Consultar transacções formulário – Listar transacções sair (botão para fechar este formulário).

20. Feche a janela do formulário

Guarde o formulário com o nome ‘Menu principal’. Teste a estrutura de menus criada.

Page 50: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 50

3.2. IMPLEMENTAÇÃO DE RELATÓRIOS EM ACCESS CRIAR UM RELATÓRIO (REPORT) � Os Relatórios (Reports) têm como função apresentarem a informação disponível nas tabelas em formato de impressão, permitindo assim listar os dados das tabelas ou o resultado das consultas. 1. No separador ‘Criar’ (Create) do Friso seleccione ‘Assistente de Relatórios’ (Report Wizard) da secção

‘Relatórios’ (Reports). � Aparece a janela ‘Assistente de Relatórios’ (Report Wizard). Seleccione a tabela ‘TRANSACÇÃO’. � Também na criação do relatório, à semelhança do formulário, tem hipótese de o relacionar com o resultado de uma consulta ou directamente com o conteúdo de uma tabela. 2. Em ‘Campos disponíveis’ (Available Fileds) seleccione um a um com o botão '>': IDtransacção, referência,

código, quantidade e preço. Os campos passam para ‘Campos seleccionados’ (Selected Fields). Clique em ‘Seguinte >’ (Next >).

3. Na janela seguinte é possível decidir corno agrupar os dados.

O Assistente sugere o campo referência para agrupar, aceite a sugestão e clique em ‘Seguinte >’ (Next >). � É possível apresentar a listagem por agrupamentos. Neste caso apresentar as várias Transacções agrupados por referência de Produto transaccionada, contudo poderíamos pretender que o relatório agrupasse os Transacções por código da Empresa, neste caso o campo seleccionado para agrupamento não seria referência mas sim código. 4. Na janela seguinte é possível decidir como ordenar os dados.

Em ‘1’ escolher o campo ‘IDtransacção’ e manter a ordem ascendente sugerida. � A ordenação dos dados é realizada dentro de cada grupo anteriormente definido e pode ser feita em função de qualquer campo, por ordem ascendente ou descendente. Clique no botão ‘Opções do sumário’ (Summary Options). � Aparece uma nova janela onde é possível indicar como queremos sumariar os dados. � Nesta opção poderemos aplicar algumas funções de cálculo para os campos numéricos, como por exemplo: Soma (Sum), Média (Avg), Mínimo (Min) e Máximo (Max), que serão apresentados para cada grupo. Poderemos ainda indicar se se pretende só o cálculo final ('Apenas resumo’ (Summary Only)) ou o cálculo com detalhe sobre as parcelas ('Detalhe e resumo’ (Detail and Summary)), e se pretende saber o peso percentual de cada grupo no montante global (‘Calcular percentagem do total para somas’ (Calculate percent o f total for sums)) Clique em ‘Soma’ (Sum) à frente da quantidade. Clique em ‘Méd’ (Avg) à frente de preço. Em ‘Mostrar’ (Show) indique ‘Detalhe e resumo’ (Detail and Summary) e clique em ‘OK’. De volta ao ‘Assistente de Relatórios’ (Report Wizard) clique em ‘Seguinte >’ (Next >).

Page 51: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 51

5. Na janela seguinte é possível escolher o ‘Esquema’ (Layout) e a ‘Orientação’ (Orientation) do relatório.

Sugestão: Esquema do tipo ‘Degrau’ (Stepped) e orientação ‘Vertical’ (Portrait). Clique em ‘Seguinte >’ (Next >).

6. Na janela seguinte é apresentado um conjunto de sugestões quanto ao estilo de apresentação do relatório.

Escolha uma delas. Clique em ‘Seguinte >’ (Next >)

7. Na janela seguinte é pedido o nome para o relatório.

Sugestão: ‘Listagem de Transacções por Produto’. Clique em ‘Concluir’ (Finish). 8. Analise o resultado. Este relatório mostra os Transacções agrupados por Produto e a quantidade

transaccionada de cada uma destas. Feche a janela. Verifique que no Painel de Navegação aparece o Relatório criado.

MODIFICAR UM RELATÓRIO (REPORT) � À semelhança do que acontecia com os formulários, também a alteração de relatórios é um processo manual que só poderá ser realizado em ‘Vista de estrutura’ (Design View). 1. No separador ‘Relatórios’ (Reports) do Painel de Navegação seleccione o relatório ‘Listagem de Transacções

por Produto’. Clique no botão ‘Vista de Estrutura’ (Design View) da secção ‘Vistas’ (Views).

� Aparece uma janela onde pode alterar manualmente a estrutura do relatório. 2. Vamos aproveitar a definição do relatório já criado para introduzir algumas modificações quanto à apresentação

do relatório. 3. Na zona ‘Rodapé referência’ (referência Footer) aparece um controlo com ‘Resumo para…’ (Summary of …)

Seleccione esse controlo e carregue na tecla ‘Delete’ para o apagar. Clique no controlo ‘Caixa de texto’ (Text Box) e faça um rectângulo à esquerda da expressão =Média([preço]) (=Avg([preço])). Clique sobre a ‘Texto X’ e escreva ‘N° de Transacções:’. Na Caixa de texto (Text Box) substitua ‘Independente’ (Unbound) por =Contar([IDtransacção]) (=Count([IDtransacção])). Esta modificação vai permitir saber quantas Transacções houve para cada Produto. Substitua ainda os rótulos ‘Média’ (Avg) por ‘Preço Médio:’ e ‘Soma’ (Sum) por ‘Quantidade Total:’.

4. Na zona do ‘Cabeçalho de página’ (Page Header) efectue as seguintes substituições: ‘referência’ por ‘Produto’, ‘IDtransacção’ por ‘Transacção’ e ‘código’ por ‘Empresa’ Introduza as modificações que considerar úteis para melhorar a leitura do relatório. Sugestão: colocar traços para separar os totais das parcelas. Pode ainda alterar tipo, cor e tamanho de letra. Veja se obteve um relatório com aspecto semelhante ao da imagem seguinte e depois feche-o.

Page 52: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 52

CRIAR UM RELATÓRIO (REPORT) A PARTIR DE OUTRO � É possível construir facilmente relatórios a partir de outros já construídos, isso deverá ser realizado em ‘Vista de estrutura’ (Design View). 1. No separador ‘Relatórios’ (Reports) do Painel de Navegação seleccione o relatório ‘Listagem de Transacções

por Produto’. Com o botão direito do rato e clique em ‘Copiar’ (Copy) e depois em ‘Colar’ (Paste). Em ‘Nome do relatório:’ escreva ‘Listagem de Transacções por Empresa’ e clique em ‘OK’. Verifique que no Painel de Navegação tem agora dois Relatórios.

2. Abra o relatório no botão ‘Listagem de Transacções por Empresa’ e clique no botão ‘Vista de Estrutura’ (Design

View) da secção ‘Vistas’ (Views). Clique no botão ‘Agrupar e Ordenar’ (Sorting and Grouping) da secção Agrupamento e Totais. Nesta janela é possível modificar os agrupamentos que foram criados. Neste momento o formulário está agrupado pelo campo ‘referência’ e ordenado pelo campo ‘IDtransacção’. Altere de forma a agrupar pelo campo ‘código’. Feche a janela ‘Grupo, Ordenação e Total’ (Sorting and Grouping).

Page 53: Bráulio Alturas (ISCTE-IUL / DCTI)home.iscte-iul.pt/~baa/maputo_ficheiros/IG_Maputo_05... · 2011. 10. 21. · Bráulio Alturas (ISCTE-IUL / DCTI) MESTRADO EM GESTÃO DE EMPRESAS

MESTRADO EM GESTÃO DE EMPRESAS – Moçambique (UP/CEPPA) -

Informática para Gestores, 2009 53

3. Altere o ‘Cabeçalho do relatório’ (Report Header) para ‘Listagem de Transacções por Empresa’. No ‘Cabeçalho

de página’ (Page Header) troque ‘Produto’ por ‘Código da Empresa’ e ‘Empresa’ por ‘Produto’. No ‘Cabeçalho código’ (código Header) troque o campo ‘referência’ pelo campo ‘código’. No ‘Detalhe’ (Detail) altere o campo ‘código’ para ‘referência’. Acedendo às propriedades do Relatório (com o botão direito do rato) deve ainda alterar a Legenda para ‘Listagem de Transacções por Empresa’. Pode introduzir outras modificações que considerar úteis para melhorar a leitura do relatório.

4. Clique no botão ‘Vista de Relatório’ (Report View) para ver o resultado das alterações.

Como pode verificar, agora as transacções estão agrupadas por Empresa, devendo o relatório ter um aspecto semelhante ao da imagem seguinte.

5. Feche o Relatório e seleccione o Formulário ‘Listar Transacções’. Altere-o incluindo dois botões, um para cada

formulário que acabou de criar. Verifique agora como funciona toda a estrutura de menus. 6. Feche a janela do Microsoft Access. Desta forma fecha a Base de Dados e sai do Access.