Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Segurança e Consultas Básicas no Microsoft Access, Notas de estudo de Engenharia de Produção

Este documento aborda os conceitos básicos de segurança e consultas no microsoft access. Ele explica a importância de criar uma cópia de reserva do banco de dados, como proteger o banco de dados, criar grupos de usuários e atribuir permissões. Além disso, o documento aborda as consultas, incluindo objetos de controle e a linguagem sql. O texto também inclui um exercício para criar uma consulta e uma tabela.

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 05/02/2009

washington-andrade-6
washington-andrade-6 🇧🇷

3 documentos

1 / 53

Documentos relacionados


Pré-visualização parcial do texto

Baixe Segurança e Consultas Básicas no Microsoft Access e outras Notas de estudo em PDF para Engenharia de Produção, somente na Docsity! Índice Introdução ao MS-Access: Recapitulação: Tabelas: Uma coleção de dados de mesmo assunto ou tópico, uma tabela armazena os dados em Registros (linhas) e Campos (colunas) Consultas: Objeto que seleciona registros e campos armazenados nas tabelas. Você pode pensar numa consulta como uma pesquisa num conjunto particular de dados. Formulários: Objeto no qual você coloca controles para a entrada, exibição e edição de dados nos campos. Relatórios: Objeto que apresenta os dados formatados e organizados segundo as especificações do usuário. Consultas: Usando SQL no MS-Access A Structured Query Language SQL é uma linguagem muito usada na consulta, atualização e gerenciamento de banco de dados relacionais. Cada consulta criada no MS- Access tem uma instrução SQL associada que define as ações daquela consulta. Normalmente é mais conveniente usar a grade QBE e as ferramentas gráficas de estruturação de consulta do Access para criar e modificar consultas. Mas se você está familiarizado com SQL, pode usar instruções SQL para: Consultas União É uma consulta específica SQL que cria um resultado contendo dados de todos os registros especificados em duas ou mais tabelas. Pelo contrário, uma consulta baseada em uma associação cria um dynaset contendo dados somente de registros cujos campos relacionados encontram uma condição especificada. Por exemplo, uma consulta união da tabela clientes e data da tabela fornecedores resulta um Resultado que contém todos os registros especificados em ambas as tabelas, a de clientes e a de fornecedores. A consulta união a seguir, consiste de duas instruções SELECT que retornam os nomes de empresa e cidades que estejam tanto na tabela Fornecedores como na tabela Clientes, e sejam do Brasil. A seguinte consulta união consiste de duas instruções SQL SELECT que retornam os nomes de companhias e cidades que estão nas tabelas Fornecedores e Clientes e são do Brasil. SELECT [Nome da empresa], [Cidade] FROM [Fornecedores] WHERE Pais="Brasil" UNION SELECT [Nome da empresa], [Cidade] FROM [Clientes] WHERE Pais="Brasil"; A seguinte consulta união seleciona o nome de todas as empresas e cidades que estejam nas tabelas Fornecedores e Clientes e classifica alfabeticamente os dados por cidade. SELECT [Nome da empresa], [Cidade] FROM [Fornecedores] UNION SELECT [Nome da empresa], [Cidade] FROM [Clientes] ORDER BY [Fornecedores], [Cidade]; A consulta união a seguir renomeia o campo "Nome da empresa" para "Nome do cliente/fornecedor" na saída da consulta; SELECT [Nome da empresa] AS [Nome do cliente/fornecedor], [Cidade] FROM [Fornecedores] UNION SELECT [Nome da empresa] AS [Nome do cliente/fornecedor], [Cidade] FROM [Clientes]; A consulta união a seguir utiliza a instrução UNION ALL para recuperar registros duplicados: SELECT [Nome da empresa], [Cidade] FROM [Fornecedores] UNION ALL SELECT [Nome da empresa], [Cidade] FROM [Clientes]; Tipo de dado Tam anho Descrição DATETIME(Consulte DOUBLE) 8 bytes Um valor data ou hora entre os anos 100 e 9999. SINGLE 4 bytes Um valor ponto flutuante de precisão simples com um intervalo de -3,402823E38 a -1,401298E-45 para valores negativos, 1,401298E-45 a 3,402823E38 para valores positivos e 0. DOUBLE 8 bytes Um valor ponto flutuante de precisão dupla com um intervalo de -1,79769313486232E308 a -4,94065645841247E-324 para valores negativos, 4,94065645841247E-324 a 1,79769313486232E308 para valores positivos e 0. SHORT 2 bytes Um inteiro curto entre -32.768 e 32.767 LONG 4 bytes Um inteiro longo entre -2.147.483.648 e 2.147.483.647. LONGTEXT 1 byte por caracter Zero até um máximo de 1,2 gigabytes. (Consulte Text.) LONGBINARY Com o definido Zero a um máximo de aproximadamente 1 gigabyte. Usado para objetos OLE. TEXT 1 byte por caracter Zero a 255 caracteres. Exercício Criar uma consulta Definição de Dados para criar uma tabela com a seguinte estrutura: Nome do Campo Tipo do dado Tam anho Código do Produto Conta dor Nome do Produto Texto 40 Quantidade Por Unidade Texto 20 Preço Unitário Moed a Unidades em Estoque Núme ro Inte iro Categoria Texto 15 Fornecedor Texto 40 O nome da tabela a ser criada será Informações dos produtos. Como chave primária será utilizado o campo Código do Produto. Consulta Passo Através As consultas passo através não são executadas pelo Access, elas são executas pelo servidor SQL, por isso não é possível usar o SQL do Access, visto que ele não segue o padrão ANSI como os servidores SQL. Esta consulta manipula os dados diretamente no servidor então as tabelas utilizadas não precisam estar anexadas. Criar sub-consultas para criar uma sub-consulta, você usa a grade QBE, mas insere uma instrução SQL SELECT como critério. Para maiores informações consulte Criando uma Sub-consulta dentro de SQL: sub-consultas na ajuda do MS-Access. Diferenças entre consultas Ação e consultas seleção Quando se cria uma consulta, o MS-Access cria uma consulta seleção, a não ser que se escolha um tipo diferente no menu consulta. Quando uma consulta seleção é executada, o MS-Access exibe o Dynaset, os registros recuperados de suas tabelas. Pode-se, então, visualizar o dynaset e fazer alterações em seus dados. Entretanto, ao fazer alterações, elas são inseridas registro a registro. Caso haja um grande número de alterações similares, você pode poupar tempo usando uma consulta ação. Uma consulta ação faz quaisquer alterações em apenas uma operação. Por exemplo, caso deseje excluir todos os produtos que tenham sido descontinuados, você pode executar uma consulta ação que remova todos esses produtos. Para se garantir que alterações indesejadas não sejam feitas se você executar inadvertidamente uma consulta ação, o MS-Access exibe na janela Banco de dados, um ícone especial para identificar as quatro consultas ação. Consulta Anexação Consulta Atualização Consulta Criação de Tabela Consulta Exclusão Consulta anexação: A consulta anexação nos permite anexar dados de uma tabela a outra. Para isso devemos criar uma consulta seleção com os campos que desejamos anexar, e depois clicamos no botão da consulta anexação e está pronta a consulta anexação. Quando você clicar no botão Executar, o MS-Access informa quantas linhas ( registros ) serão anexadas da tabela, nesta mensagem, você pode confirmar a anexação ou não. Se você clicar no botão Modo Folha de Dados, a consulta seleção será executada e você verá os registros que vão ser anexados. Exercício IV Criar uma consulta para Anexar os campos para a tabela Informações do produto. Estruturando formulários Criando Controles Quando começa um formulário em branco, você mesmo adiciona todos os controles. Se criou um formulário com o assistente de formulário, pode-se também desejar adicionar controles para exibir dados adicionais ou para tornar o formulário mais atraente ou mais fácil de usar. Por exemplo, você pode desejar adicionar uma etiqueta que inclua instruções sobre como utilizar um formulário no modo formulário. Controles vinculados, não vinculados e calculados Quando se adiciona um controle a um formulário, determina-se de onde ele obtêm a informação que exibe. Por exemplo, você pode adicionar um controle caixa de texto que exibe um produto da companhia a partir do campo NomeDoProduto da tabela produtos. A caixa de texto obtém os valores a partir do campo Nome do Produto por ter sido conectado ou vinculado àquele campo. Os controles também podem exibir informações que não estejam armazenadas no banco de dados, tais como instruções, legendas e valores calculados. Conhecer a origem dos dados de um controle ajuda a decidir que tipo de controle usar e como cria-lo. Os controles podem ser vinculados, não vinculados e calculados. A ilustração seguinte mostra os três tipos de controle. Se você comparar um formulário no modo estrutura e no modo folha de dados, poderá ver a conexão entre os controles do formulário e os campos da tabela de origem do formulário. Definindo propriedades de controle No MS-Access, as propriedades são usadas para determinar as características das tabelas, consultas, campos, formulários e relatórios. Cada controle de um formulário tem também propriedades. As propriedades de controle determinam a estrutura e a aparência de um controle bem como as características do texto ou dos dados que ele contém. Por exemplo, você pode definir propriedades que formatem os valores de um controle como moeda e os exiba em negrito. Pode-se ver as propriedades de um controle exibindo sua folha de propriedade. Para exibir a folha de propriedade de um controle Clique duas vezes no controle (esse método funciona com todos os tipos de controle exceto sub-formulários, sub-relatórios e objetos OLE não vinculados). -Ou- Selecione o controle e escolha Propriedades no menu Exibir ou clique no botão “Propriedades” na barra de ferramentas. Se o controle tem uma etiqueta anexada, selecione o controle e não sua etiqueta (para exibir a folha de propriedades de uma etiqueta, selecione a etiqueta). Aqui teremos algumas propriedades, comuns para vários Objetos, essas propriedades podem ser definidas nos controles tanto para formulário quanto para relatório, visto que cada controle tem em média 20 a 30 propriedades teremos aqui somente algumas que são comuns a vários controles, como por exemplo. Propriedade Descrição Origem do Controle Nome de Campo ou Expressão para usar como fonte de dados para Controle Tabular Automaticamente Pode gerar ou não uma tabulação quando o último caracter permitido em uma máscara de entrada de uma caixa de texto é inserido. Comportamento da Tecla Enter Padrão troca de campo e Nova Linha no campo, cria uma linha em branco no mesmo campo para inserção. Visível Torna o objeto visível Ativado Habilitar controle no modo formulário Parada de Tabulação Permite tabulações no controle Índice de Tabulação Definir ordem de tabulação Pode Ampliar Controle ou seção expande automaticamente para caber no texto., Pode Reduzir Determina se o tamanho de uma sessão ou controle será Reduzido verticalmente para acomodar a quantidade de dados. Ao Entrar Macro ou função executada quando o controle recebe o primeiro foco Ao Sair Macro ou função executada quando o controle perde o foco no mesmo formulário. Para obter mais informações consulte Definindo Propriedades no Help do MS-Access. Este método é útil se você já criou um formulário e deseja inseri-lo em diversos outros formulários. Pode, também, preferir criar o seu próprio sub-formulário quando quiser criar um sub-formulário que seja diferente do formulário que o Assistente projetou. Criando um formulário e um sub-formulário Um sub-formulário é um formulário separado, que você cria e salva da mesma forma que qualquer outro formulário. Então, adiciona-o ao formulário de modo a se assegurar o seu vínculo ao formulário. Na maioria dos casos, o MS-Access vincula o formulário automaticamente quando você o adiciona. Existe, porém, situações onde você tem que definir as propriedades para vincular o formulário ao sub-formulário. Preparando o formulário 1. Crie o formulário. Deixe espaço no formulário para o sub-formulário. 2. Salve e feche o formulário. Preparando o sub-formulário 1. Crie um formulário e defina as propriedades de formulário VisualizaçãoAutorizada e ModoPadrão Apenas folha de dados: Coloque os campos no formulário na ordem que você deseja que eles apareçam na folha de dados. Você não precisa organizar os campos, já que eles sempre aparecem como uma folha de dados. Defina as propriedades VisualizaçãoAutorizada e ModoPadrão como folha de dados. Apenas formulário: Coloque os controles como você deseja que apareçam no modo formulário. Defina a propriedade VisualizaçãoAutorizada como Formulário. Defina a propriedade ModoPadrão como formulário simples ou formulários contínuos. Formulários e folha de dados: Coloque os controles como você deseja que eles apareçam no modo formulário. Defina a propriedade VisualizaçãoAutorizada para ambos. Defina a propriedade Modo Padrão para formulários Simples, formulários contínuos ou folha de dados. Dependendo de como você deseja que o sub-formulário seja visualizado quando você abre o formulário. 2. Salve e feche o sub-formulário. Para adicionar um sub-formulário a um formulário 1. Abra o formulário no modo estrutura. 2. Alterne para a janela de Banco de Dados (Pressione F11). 3. Arraste o sub-formulário que quiser da janela Banco de Dados e coloque-o onde você o deseja no formulário. O MS-Access adiciona o controle do sub-formulário a suas etiquetas anexadas ao formulário. O controle do sub-formulário está vinculado ao sub-formulário e é aproximadamente do mesmo tamanho do sub-formulário (o controle do sub- formulário inclui espaço para os seletores de registros, de forma que se torna maior). 4. Mova o controle do sub-formulário e, se necessário, ajuste o seu tamanho. 5. Alterne para o modo formulário para ver o formulário com seu sub-formulário. 6. Para fazer alterações no formulário, alterne para o modo Estrutura. Para fazer alterações no sub-formulário, consulte o seguinte procedimento. 1. No modo estrutura, clique em qualquer lugar do formulário fora do controle do sub-formulário (para ter certeza de que o controle do sub-formulário não está selecionado). 2. Clique duas vezes em qualquer dentro do sub-formulário. (O MS-Access exibe o sub-formulário no modo estrutura). 3. Faça as alterações na estrutura do sub-formulário. 4. Salve e feche o sub-formulário no modo estrutura ou no modo folha de dados. 5. Clique no botão “Modo do Formulário” na barra de ferramentas. Vinculando um formulário e um sub-formulário 1. No formulário no modo Estrutura, abra a folha de propriedades para o controle do sub-formulário. 2. Defina a propriedade VincularAPartirDe como o nome do campo vinculado no sub-formulário. Para entrar diversos campos vinculados, separe os nomes dos campos com ponto e vírgula. 3. Defina a propriedade VincularA como o nome do controle ou campo vinculado no formulário. Para entrar diversos controles ou campos vinculados, separe os nomes de campo ou controle por ponto e vírgula. 4. Salve e feche o sub-formulário. 5. Clique no botão “Modo do Formulário” na barra de ferramentas. Exercício V Crie um Formulário para mostrar os pedidos feitos por um cliente. Crie um Formulário para mostrar as informações do cliente Crie um Formulário Principal/SubFormulário colocando no Principal as informações do cliente e no subFormulário os pedidos feitos por cada cliente Calculando um total para um grupo de registros Use a função Soma para calcular o total de um grupo de registros. As sintaxe para a função Soma é: Soma(expr) O argumento expr é o nome de um campo ou de uma expressão. É possível usar nomes de campo no argumento expr da função Soma, mas não nomes de controles. Os nomes de campo podem vir de uma tabela ou de uma consulta. Pode-se até usar o nome de um campo calculado a partir de uma consulta. Entretanto, para saber o total dos valores em um controle calculado, é necessário repetir a expressão usada no controle calculado na função Soma. Exercício VI Crie um formulário tabular para mostrar todas os itens de um pedido e seus respectivos preços . No rodapé do formulário crie um campo somando todas os preços dos produtos. Seção detalhe Contém o corpo principal dos dados de um relatório. Os controles desta seção repetem-se para cada registro retirado do banco de dados. Rodapé do grupo Aparece no final de um grupo de registro. É usado para exibir itens, tais como os totais de grupo. Rodapé da página Aparece na parte inferior de todas as páginas do relatório. É usado para exibir itens tais como a numeração de páginas. Rodapé do relatório Aparece uma vez no final do relatório. É usado para exibir itens tais como totais de relatório. É a última seção na criação do relatório, mas aparece antes do rodapé da página na última página do rodapé impresso. Exercício VII Crie um relatório para mostrar uma saída como o padrão abaixo: Usando expressões em relatórios Você usa expressões para obter informações que não consegue obter diretamente das tabelas de um banco de dados. Por exemplo, uma expressão pode ser utilizada para saber quantas unidades de um produto você vendeu em um mês ou o número médio de unidades que vende todo mês. Um controle que tenha expressão igual a de sua origem de controle é um controle calculado. Se o controle é uma caixa de texto, você pode inserir a expressão diretamente na caixa de texto. De qualquer modo, pode sempre digitar a expressão diretamente na folha de propriedades ou pode definir a propriedade origem do controle com o construtor de expressões. . Macros Usando macros, você fazer seus formulários, relatórios e outros objetos de banco de dados trabalharem juntos mais eficientemente. As macros podem automatizar tarefas rotineiras ou repetitivas tais como imprimir relatórios semanais. As macros também oferecem capacidade de personalização, tais como validação de dados complexas para formulários. Você pode até usar macros para criar suas próprias barras de menu personalizadas para seus formulários. O que é uma macro? Uma macro executa automaticamente uma tarefa ou um série de tarefas. Cada tarefa que deseja que o MS-Access execute é chamada uma ação. O MS-Access proporciona uma lista de ações dentre as quais seleciona-se para criar uma macro. Quando você executa a macro, o MS-Access executa as ações na seqüência em que elas estão listadas, usando os objetos ou dados que tiver especificado. Por exemplo, você pode criar uma macro para abrir automaticamente uma tabela e um formulário usados juntos freqüentemente. Esta macro usa duas ações para dizer ao MS-Access para abrir a tabela e, então, abrir o formulário. Quando se adiciona ou altera dados no formulário, pode-se usar uma outra macro para verificar os dados e exibir uma mensagem ou para abrir um outro formulário. Porque usar macros? Qualquer tarefa repetitiva ou rotineira efetuada no MS-Access é uma boa candidata a um macro. A automatização de tarefas rotineiras traz eficiência e precisão para seu banco de dados, porque uma macro executa a tarefa sempre do mesmo modo. Usando macros, é possível: Fazer seus formulários e relatórios trabalhem juntos Muitas vezes, será interessante usar dois formulário ao mesmo tempo para procurar dados relacionados. Por exemplo, você poderá usar um formulário para visualizar informações sobre seus Fornecedores e um outro para visualizar informações sobre seus produtos. Usando macros, você poderá adicionar um botão de comando ao formulário Fornecedores de modo a abrir automaticamente o formulário Produto e, assim, apresentar apenas os produtos daquele fornecedor. Poderá, também, adicionar um botão a um formulário para imprimir um relatório como, por exemplo, para imprimir uma fatura e uma etiqueta de endereçamento de um formulário usado para registrar novos pedidos. Você pode usar uma macro para abrir automaticamente um grupo de consultas, formulários e relatórios quando você abre um banco de dados. Usando macros, você pode combinar partes individuais de um banco de dados em um aplicativo de banco de dados interativo; um programa que execute uma tarefa ou um conjunto de tarefas específicas tais como encontrar informações de vendas ou de faturas. Criando uma Macro Para criar uma macro 1. Na janela banco de dados, clique no botão “macro” (ou escolha macros no menu exibir) 2. Escolha o botão novo na janela banco de dados (ou escolha novo no menu arquivo e então escolha Macros) A Janela Macro Você usa a parte superior da janela macro para adicionar ações. Você pode incluir um comentário para explicar as razões por trás de cada ação (O MS-Access ignora comentários quando executa uma macro). Você usa a parte inferior da janela macro para especificar argumentos para uma ação. Os argumentos dão ao MS-Access informações adicionais sobre como executar uma ação, tal como qual objeto ou dados utilizar. Adicionando ações a uma Macro Existem duas maneiras de adicionar ações a uma macro. Você pode selecionar ações a partir da lista de ações da janela Macro ou, para ações comuns associadas a objetos de seu banco de dados, você pode arrastar o objeto da janela Banco de Dados para a célula ação na janela Macro. Esse método arrastar-e-soltar adiciona a ação e argumentos apropriados. Para adicionar uma ação a uma macro 1. Na janela Macro, clique na primeira célula vazia da coluna Ação. 2. Selecione a ação desejada a partir da lista de ações (clique na seta para ver esta lista) ou digite a ação diretamente na célula. Por exemplo: para que o computador execute um aviso sonoro, quando você executar uma macro, adicione a ação AvisoSonoro à macro. 3. Insira um comentário (opcional)sobre a ação. 4. Especifique os argumentos da ação, se eles forem necessários. Criando um grupo de macro Você às vezes pode achar conveniente agrupar algumas macros relacionadas em uma janela Macro. Para agrupar macros, você cria um grupo de macros. Um grupo de macro é um conjunto de uma ou mais macros que aparecem na mesma janela Macro. As próprias macros individuais são executadas independentes umas das outras. Por exemplo, suponha que você tenha seis botões de comando em um formulário, cada um abrindo um formulário diferente. Em vez de ter seis macros separadas em seu banco de dados, uma para cada botão, você pode criar um grupo de macro que contenha uma macro para cada botão. Desta forma, você tem todas as macros relacionadas ao formulário juntas em um conveniente documento. Em vez de abarrotar a lista de macros da janela banco de dados com mais de seis macros, você adiciona somente uma. Para criar um grupo de macro 1. Crie uma macro (na janela Banco de Dados, clique no botão “Macro” e, então, escolha o botão “Novo”). 2. Na janela Macro, escolha Nome da Macro no menu Exibir (ou clique no botão “Nome da Macro” na barra de ferramentas). O MS-Access exibe a coluna Nome da Macro na parte superior da janela Macro. 3. Digite um nome da macro para cada conjunto de ações que compõem uma macro. Usando condições em macros Em alguns casos, você pode querer executar uma ação ou uma série de ações em uma macro somente se um determinada condição for verdadeira. Por exemplo, se você está usando uma macro para validar dados em um formulário, você pode querer exibir uma mensagem em resposta a um conjunto de valores inseridos em um registro e uma outra mensagem em resposta a um conjunto diferente de valores. Em casos como esses, você pode usar condições para controlar o fluxo da macro. Uma condição é uma expressão lógica. A macro segue caminhos diferentes se a condição for verdadeira ou falsa. A tabela seguinte mostra exemplos de condições de macros. Condição Resultado Formulários![Estudantes]![Idade]>21 Se o valor no controle Idade do Formulário Estudantes for maior que 21, então... [Cidade]=“Paris” Se o valor no controle Cidade do formulário do qual a macro foi executada for Paris, então... Formulários![Clientes]![País] = “USA” E Formulários![Clientes]![Código do Cliente] <31 Se o valor no controle País do formulário Clientes for USA e o valor do controle Código do Cliente do formulário Clientes for menor que 31, então... Você insere condições na coluna Condição na janela Macro. Se uma condição for verdadeira, o MS-Access executa a ação naquela linha. Você pode fazer com que o MS- Access execute uma série de ações se a condição for verdadeira digitando elipses (...) na coluna Condições das ações que seguem imediatamente a condição. Para adicionar uma condição a uma macro 1. Na janela Macro, escolha Condição no menu Exibir (ou clique no botão “Condição” na barra de ferramentas). O MS-Access exibe a coluna Condição na janela macro. 2. Na coluna Condição, insira uma expressão condicional na linha onde você deseja definir a condição. 3. Na coluna Ação, insira a ação que você deseja que o MS-Access execute quando a condição for verdadeira. Se você quiser que o MS-Access execute mais de uma ação, adicione as ações e digite Categoria Descrição Ação Manipulação de objetos Definir o valor de um campo, controle ou propriedade Atualizar dados ou a tela Selecionar um banco de dados Copiar ou Renomear um objeto Excluir um objeto Abrir ou fechar um objeto de banco de dados Imprimir um objeto de banco de dados Mover ou redimensionar uma janela DefinirValor RedesenharObjeto, RepetirAconsulta, ExibirTodosRegistros SelecionarObjeto CopiarObjeto, Renomear ExcluirObjeto Fechar, AbrirFormulário, AbrirMódulo, AbrirConsulta, AbrirRelatório, AbrirUmaTabela AbrirFormulário, AbrirConsulta, AbrirRelatório, Imprimir Maximizar, Minimizar, MoverDimensionar, Restaurar Miscelânea Exibir informações na tela Exibir ou ocultar a barra de ferramentas Gerar pressionamento de teclas Soar um aviso Criar uma barra de menu personalizado para um formulário ou relatório Eco, Ampulheta, CaixaDeMensagem, DefinirAvisos ExibirBarraDeFerrame ntas EnviaSequênciaDeCara cteres AvisoSonoro AdicionarMenu Respondendo a eventos em formulários Quando você usa um formulário, o MS-Access reconhece certos acontecimentos no formulário como eventos. Por exemplo, mover de um registro para outro em formulários é um evento; bem como clicar duas vezes em um controle. Você pode usar uma macro para responder a um evento. Fazendo Formulários trabalharem em conjunto Se você tem um formulário com um sub-formulário em seu banco de dados, então você já viu uma maneira do MS-Access tornar possível diferentes formulários trabalharem juntos. Um sub-formulário é na realidade um formulário separado inserido em um formulário principal. Na maioria dos casos, você usa sub-formulários para mostrar registros relacionados a um registro do formulário principal. Por exemplo, um sub-formulário poderia conter uma lista de todas as partes integrantes de um produto manufaturado e o formulário principal poderia conter informações sobre o próprio produto. Quando você movesse para um novo registro no formulário principal, o sub- formulário passaria a mostrar os registros relacionados ao do formulário principal. Usando macros, você pode mostrar registros relacionados de outra forma. Você pode mostrar registros relacionados em dois formulários ao mesmo tempo, cada um em sua própria janela. Isso dá a você a conveniência adicional de poder redimensionar, mover e fechar qualquer dos formulários independentes um do outro. Exibir dados relacionados não é a única maneira de usar macros para fazer seus formulário trabalharem juntos. Você pode responder a um evento ocorrido em um formulário fazendo com que algo ocorra em outro formulário. Por exemplo, pode-se abrir um formulário, redimensioná-lo ou movê-lo, exibir ou ocultar controles e atualizar dados, entre outras coisas. É possível também abrir uma caixa de diálogo personalizada para coletar as informações necessárias para completar uma tarefa. Por exemplo, você poderia usar uma caixa de diálogo para perguntar qual dos vários relatórios diários imprimir. Observação: Você pode desejar usar a ação RepetirAConsulta em uma macro para repetir a consulta de origem de um formulário, sub-formulário ou controle. Isso garante que os registros mais recentes sejam exibidos. Atribuindo macros de validação a eventos de formulário e de controle Para usar uma macro para validação de dados, você atribui a macro à propriedade de evento apropriada do formulário ou controle. As propriedades mais comumente usadas em validação de dados são AntesDeAtulaizar e AoExcluir. AntesDeAtualizar: Se Você especifica uma macro como definição da propriedade de formulário AntesDeAtualizar, a macro é executada quando o controle em um registro que te tenha sido alterado e vai para um controle em um registro diferente, mas antes do MS-Access salvar as alterações na tela. Isso costuma ser usado quando a validação envolve valores em mais de um campo do formulário. Se você especifica uma macro como definição da propriedade de controle AntesDeAtulaizar, a macro é executada quando o foco deixa um controle cujo valor tenha sido alterado, mas antes do MS-Access aceitar a alteração. Um exemplo é quando a validação em um controle requer mais de uma condição. Os eventos AntesDeAtualizar tanto de controles como de formulários também ocorrem se você escolher o comando Salvar Registro do menu Arquivo quando o foco estiver em um registro que tenha sido alterado. AoExcluir : Se você especifica uma macro como definição da propriedade de formulário AoExcluir, a macro é executada antes do MS-Access excluir um registro de uma tabela. Isso costuma ser usado tanto em verificação de integridade referencial, como para se certificar de que um cliente não tenha pedidos abertos, antes de excluir o registro do cliente. Embora o MS-Access tenha uma opção Reforçar Integridade Referencial incorporada, você pode não querer acionar essa opção em todos as ocasiões. Em tais casos, você pode usar uma macro especificada como definição da propriedade AoExcluir e obter resultados similares É possível definir regras de validação usando macros ou definir a propriedade RegraDeValidação para controles e as propriedades RegraDeValidação para campos e registros. Estas são avaliadas na seguinte ordem quando você altera os dados em um controle de um formulário e, então, move para outro registros; CaixaDeMensagem e a ação CancelarEvento. A tabela seguinte mostra os argumentos chave para a ação CaixaDeMesagem. Argumento Definição Descrição Mensagem O código Postal precisa ser de 5 caracteres. A mensagem a exibir na caixa de mensagem Tipo Informação O tipo de ícone a exibir com a mensagem Título Erro de Código Postal O título que aparece no topo da caixa de mensagem A segunda condição na macro usa o mesmo tipo de expressão que a primeira, exceto que verifica o código postal do fornecedores localizados na Austrália e Singapura. Esses países têm códigos postais de 4 dígitos. Insira a seguinte expressão condicional: [País]Em(“Australia”;Singapura”)E Compr([Código Postal])<>4 Adicione as mesmas duas ações a serem executadas quando a condição for satisfeita mas, altere o argumento Mensagem da ação CaixaDeMensagem para que se leia: “O Código Postal precisa ser de 4 caracteres”. Finalmente, adicione uma ação IrParaControle que mova o foco para controle Código Postal, facilitando a correção do erro. Salve a macro e dê o nome Verificar Códigos Postais. Finalmente, defina a propriedade AntesDeAtulizar do formulário para Verificar Códigos Postais, o nome de sua macro. Você usa a propriedade do formulário em vez da propriedade do controle porque sua validação envolve dois controles diferentes no formulário. Agora quando você usar o formulário para adicionar um novo fornecedor, o MS- Access executará sua macro de validação depois que você terminar de inserir o novo registro, mas antes de salvá-lo na tabela Fornecedores. Se alguma condição na macro for satisfeita, o MS-Access exibirá a mensagem apropriada e não salvará o registro na tabela Fornecedores. Em vez disso, o foco continuará no registro para que você possa corrigir os dados inválidos. Criando nossos próprios menus Para criar um menu personalizado temos que utilizar pelo menos duas macros, uma para definir o menu e outra para adicionar o menu. Definição do Menu Crie uma Macro nova; Adicione a coluna de nomes à macro; Na coluna nome digite o nome do menu, se desejar que uma letra fique sublinhada para ser tecla de acesso, antes da letra coloque o símbolo &; Na coluna ação, coloque o que você deseja que a macro faça. Veja o exemplo: Nome Ação Descrição &Abrir AbrirUmaTabela Abre a tabela de Clientes &Fechar Fechar Fecha o objeto ativo - Adiciona um separador ao menu &Sair Sair Sai do Access Quando terminar, salve a macro com o nome de MENU XXXX_YYYY, onde XXXX é a barra de menu a que este menu pertence, e YYYY e o nome do menu. Vejamos o exemplo: Menu Principal_Arquivo Definição da Barra de Menu Crie uma nova macro; Adicione a coluna de nome à macro; Na coluna Ação, escolha a ação AdicionarMenu Nos argumentos da macro, coloque o nome do Menu ( que irá aparecer na tela, vale também a regra do &), e o nome da macro que será ativada quando este menu for selecionado. Salve a macro com o nome da Barra de menu que você deseja criar. Atribuindo uma Barra de Menu a um formulário Escolha o formulário que você deseja colocar a barra de menus, na Propriedade Barra de Menu, escolha o nome da macro que representa a sua barra de menus. Mude para o modo formulário e veja como ficou o menu. Descrição dos itens utilizados na página anterior: Function Declara uma função, um bloco de comandos que ao seu término retorna um valor, neste exemplo, é retornado uma seqüência de caracteres Maiúsculas Nome da função, este nome pode ser definido pelo usuário (cTexto As String) cTexto é o nome de uma variável que é passada para esta função; As String identifica o tipo de dado que esta variável contem. As String Informa o tipo de dado que é retornado pela função Dim Declara uma ou mais variáveis String Vide Tipos de Dados Ucase$() Função padrão do Access Basic, torna todos os caracteres passados a ela em caracteres Maiúsculos Para retornarmos um valor de qualquer função definida pelo usuário, devemos atribuir o valor de retorno a função, como vemos na penúltima linha deste modulo. Usando dados contidos nos Formulários A coleção Forms contém todos os objetos Formulários abertos em um banco de dados do Microsoft Access. Use a coleção Forms no Access Basic ou uma expressão para se referir a um formulário em particular. Por exemplo, você pode usar a coleção Forms para verificar ou definir o valor de um controle de formulário. O objeto Formulário contém todas as propriedades da folha de propriedades de um formulário. Você pode se referir a um formulário das seguintes maneiras: Forms![MeuFormulário] Forms("MeuFormulário") NomeEmp=Forms![Empregados]![Sobrenome] & "," & Forms![Empregados]![Primeiro nome] No exemplo acima, a variável NomeEmp recebe o conteúdo do controle Sobrenome mais o conteúdo do controle [Primeiro nome], ambos contidos no formulário Empregados. Podemos utilizar a coleção forms para testar condições em uma macro, neste caso, quando você pressionar a tecla Enter terminando a condição, a palavra Forms, será substituída pela palavra Formulário, não implicando em nenhum tipo de erro. Condição Ação Descrição Forms![Produtos]! Descontinuado=SIM CaixaDeMe nsagem Se não tiver mais produtos exibe uma mensagem de erro Objetos de Banco de Dados O Access possui vários objetos e coleções de objetos para tratamento de banco de dados, vamos discuti-los um a um. Objet o Descrição DBE ngine O DBEngine representa o sistema de recuperação e armazenamento de dados do Access, ele tem controle sobre todos os outros objetos Wor kSpace Um objeto Workspace define uma sessão para um usuário. Contém bancos de dados abertos e provém mecanismos para transações simultâneas e para um grupo de trabalho seguro. Data base Banco de Dados em si, um arquivo MDB, com suas tabelas, consultas e etc... Table Def Contem todos os itens de uma tabela, campos e índices. Field Contem as definições para um campo Inde x Contem as definições para um índice, campo, único e etc... Quer yDef Definições de uma consulta, qualquer tipo Reco rdSet Conjunto de registros de uma tabela Relat ion O objeto Relation representa um relacionamento entre duas tabelas Todos os itens em negrito representam uma coleção de objetos, a diferença é que a coleção é no plural e o objeto tem o nome no singular. Para sabermos o nome dos campos de uma tabela, devemos utilizar a coleção fields. Processo para trabalhar com o banco de dados atual: 01 Function Exemplo 02 Dim db As Database ‘Define uma variável do tipo Database 03 Dim I As Integer ‘Define uma variável do tipo inteiro 05 Set db = DBEngine(0)(0) ‘ Atribui o Banco de dados atual a db 06 For I = 0 to db.TableDefs.Count -1 ‘ conta até a última tabela 07 Debug.Print db.TableDefs(I).Name ‘Imprime o nome de cada tabela 08 Next 09 db.Close 10 End Function No exemplo da página anterior, uma variável do tipo Database é declarada (02), na linha 05 é atribuída a ela o banco de dados atual. Nas linhas seguintes é feito um laço contando todas as tabelas que existem no banco de dados atual (06), na linha 07 é utilizado o objeto Debug para imprimir na Janela Imediata, o nome da tabela atual apontada pela coleção TableDefs, TableDefs é um vetor contendo todas as tabelas do banco de dados, a linha 08 fecha o laço e a 09 fecha o banco de dados db. Experimente criar um módulo novo e digite a função acima, quando terminar, escolha no menu executar a opção Compilar módulos carregados para verificar se não existe nenhum erro de digitação. Se não houver erro, posicione o cursor na primeira linha de código após a declaração Function e pressione F9 para gerar um ponto de parada. Minimize a janela. Na janela de Banco de dados selecione o objeto Macro, crie uma nova macro para executar a nossa função. Execute-a. Quando o Access atingir o ponto de parada, a janela de código será exibida para que possamos executar a função passo-a-passo pressionando a tecla F8. No menu Exibir escolha a opção Janela imediata para podermos ver a saída da nossa função. Validação de campos com módulos Para cada campo num formulário, podemos fazer validações, utilizado o evento AntesDeAtualizar, podemos fazer validações para os campos. Veja o exemplo dado para o evento AntesDeAtualizar para o campo Nome do Contato: Sub Nome_do_contato_BeforeUpdate (Cancel As Integer) Const MB_STOP_BUTTON = 16 If IsNull([Nome do Contato]) Or IsEmpty([Nome do Contato]) Then MsgBox "Este campo não pode ficar vazio", MB_STOP_BUTTON, "Validação de Campo" Cancel = True End If End Sub
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved