Pode utilizar expressões para realizar todo o tipo de operações com os seus dados. Por exemplo, determine quantos dias passaram desde que uma encomenda foi enviada ou combine um NomePróprio e um Apelido num NomeCompleto. As seguintes secções mostram como pode criar uma expressão passo-a-passo.
Neste artigo
Calcular valores para controlos em formulários e relatórios
Quando utiliza uma expressão como origem de dados de um controlo, cria um controlo calculado. Por exemplo, suponha que tem um relatório que apresenta múltiplos registos de inventário e pretende criar um total no rodapé do relatório que some todos os itens de linha no relatório.
Para calcular o total, coloque um controlo de caixa de texto no rodapé do relatório e, em seguida, defina a propriedade OrigemDoControlo da caixa de texto com a seguinte expressão:
=Sum([table_field])
Neste caso, table_field é o nome do campo que contém os valores de subtotal. Esse campo pode ter origem numa tabela ou numa consulta. A função Soma calcula o total para todos os valores de table_field.
PROCEDIMENTO
-
No Painel de Navegação, clique com o botão direito do rato no formulário que pretende alterar e, em seguida, clique em Vista de Esquema ou Vista Estrutura no menu de atalho.
-
Selecione o controlo no qual pretende introduzir uma expressão.
-
Se a Folha de Propriedades ainda não tiver sido apresentada, prima F4 para a apresentar.
-
Para criar uma expressão manualmente, no separador Dados na folha de propriedades, clique na propriedade OrigemDoControlo da caixa de texto e, em seguida, escreva = seguido do resto da expressão. Por exemplo, para calcular o subtotal mostrado acima, escreva =Sum([table_field]), certificando-se de que substitui o nome do campo por table_field.
-
Para criar uma expressão com o Construtor de Expressões, clique no botão Criar na caixa de propriedades.
Depois de concluir a sua expressão, a folha de propriedades terá um aspeto semelhante ao seguinte:
Utilizar expressões como critérios de consulta
É possível utilizar os critérios de consulta para restringir os resultados de uma consulta. Introduza os critérios como uma expressão e, em seguida, o Access devolverá apenas as linhas que correspondem à expressão.
Por exemplo, suponha que pretende ver todas as encomendas cuja data de envio ocorreu nos primeiros três meses do ano de 2017. Para introduzir os critérios, escreva a seguinte expressão na célula Critério na coluna de Data/Hora na consulta. Este exemplo utiliza uma coluna de Data/Hora denominada DataDeEnvio. Para definir um intervalo de datas, introduza os critérios do seguinte modo:
Between #1/1/2017# And #3/31/2017#
A coluna DataDeEnvio terá um aspeto semelhante ao seguinte.
Para cada registo na tabela Encomendas, se o valor na coluna DataDeEnvio coincidir com o intervalo de datas especificado, o registo será incluído no resultado da consulta. Tenha em atenção que, na expressão, as datas são colocadas entre sinais de cardinal (#). O Access trata um valor colocado entre cardinais como um tipo de dados Data/Hora. Ao tratar os valores em questão como dados de data/hora, torna possível efetuar cálculos com base nesses valores, por exemplo, a subtração de uma data a outra.
PROCEDIMENTO
-
No Painel de Navegação, clique com o botão direito do rato na consulta que pretende alterar e, em seguida, clique em Vista Estrutura no menu de atalho.
-
Clique na célula Critérios na coluna para a qual pretende introduzir os critérios.
-
Para criar manualmente a sua expressão, escreva a expressão de critérios. Não coloque o operador = antes da expressão de critérios.
-
Para criar a expressão com o Construtor de Expressões, no friso, clique em Estrutura e, em seguida, no grupo Configuração da Consulta, clique em Construtor .
Se pretender uma área maior para editar a expressão, coloque o cursor na célula Critério e, em seguida, prima SHIFT+F2 para apresentar a caixa Zoom:
Sugestão Para tornar o texto mais legível, selecione Tipo de Letra.
Criar um campo calculado numa consulta
Suponha que está a estruturar uma consulta e que pretende apresentar os resultados de um cálculo utilizando outros campos na consulta. Para criar o campo calculado, introduza uma expressão numa célula em branco na linha Campo da consulta. Por exemplo, se tiver uma consulta que contenha um campo Quantidade e um campo Preço Unitário, pode multiplicar ambos para criar um campo calculado para Preço por Extenso introduzindo a seguinte expressão na linha Campo da consulta:
Extended Price: [Quantity] * [Unit Price]
Ao preceder a expressão do texto Extended Price: está a atribuir o nome Preço por Extenso à nova coluna. Este nome designa-se frequentemente por alias. Se não fornecer um alias, o Access criará um (por exemplo, Expr1.).
Ao executar a consulta, o Access efetua o cálculo com base em cada linha, conforme apresentado na seguinte ilustração:
PROCEDIMENTO
-
No Painel de Navegação, clique com o botão direito do rato na consulta que pretende alterar e, em seguida, clique em Vista Estrutura no menu de atalho.
-
Clique na célula Campo na coluna em que pretende criar o campo calculado.
-
Para criar manualmente a expressão, escreva a mesma.
Não preceda a expressão de critérios com o operador = ; em vez disso, inicie a expressão com uma etiqueta descritiva seguida de dois pontos. Por exemplo, escreva Extended Price: para fornecer a etiqueta de uma expressão que crie um campo calculado denominado Preço por Extenso. Em seguida, introduza os critérios da expressão a seguir aos dois pontos.
-
Para criar a expressão com o Construtor de Expressões, no friso, clique em Estrutura e, em seguida, no grupo Configuração da Consulta, clique em Construtor.
Criar um campo calculado numa tabela
No Access, pode criar um campo calculado numa tabela. Esta opção elimina a necessidade de uma consulta em separado para realizar cálculos. Por exemplo, se tiver uma tabela com a quantidade, preço e IVA de cada artigo de uma encomenda, pode adicionar um campo calculado que apresente o preço total, desta forma:
[Quantity]*([UnitPrice]+([UnitPrice]*[TaxRate]))
O cálculo não pode incluir campos de outras tabelas ou consultas. Além disso, os resultados dos cálculos são só de leitura.
PROCEDIMENTO
-
Abra a tabela fazendo duplo clique na mesma no Painel de Navegação.
-
Desloque-se na horizontal para a coluna mais à direita na tabela e clique no cabeçalho da coluna Clicar para Adicionar.
-
Na lista apresentada, clique em Campo Calculado e clique no tipo de dados pretendido para o resultado. O Access apresenta o Construtor de Expressões.
-
Escreva o cálculo pretendido para este campo, por exemplo:
[Quantity] * [Unit Price]
Para um campo calculado, não pode começar a expressão com um sinal de igual (=).
-
Clique em OK.
O Access adiciona o campo calculado e destaca o cabeçalho do campo de modo a poder escrever um nome de campo.
-
Escreva um nome para o campo calculado e, em seguida, prima ENTER.
Predefinir valores para um campo de tabela
É possível utilizar uma expressão para especificar um valor predefinido para um campo numa tabela, um valor que o Access utiliza para novos registos, exceto se for fornecido outro valor. Por exemplo, suponha que pretende inserir automaticamente a data e hora num campo denominado DataDaEncomenda quando alguém adiciona um novo registo. Para tal, pode utilizar as seguintes expressões:
Now()
PROCEDIMENTO
-
No Painel de Navegação, faça duplo clique na tabela que pretende alterar.
O Access abre a tabela na vista Folha de Dados.
-
Selecione o campo que pretende alterar.
-
No friso, clique em Campos de Tabela e, no grupo Propriedades , clique em Valor Predefinido. O Access apresenta o Construtor de Expressões.
-
Escreva a sua expressão na caixa, certificando-se de que inicia a expressão com um sinal de igual (=).
Nota Se vincular um controlo a um campo de tabela e tanto o controlo como o campo tiverem valores predefinidos, o valor predefinido do controlo terá precedência relativamente ao campo da tabela.
Predefinir valores para controlos
Outro local comum para utilização de uma expressão é na propriedade Valor Predefinido de um controlo. A propriedade Valor Predefinido de um controlo tem um comportamento semelhante ao da propriedade Valor Predefinido de um campo numa tabela. Por exemplo, para utilizar a data atual como valor predefinido de uma caixa de texto, poderá utilizar a seguinte expressão:
Date()
Esta expressão utiliza a função Data para devolver a data atual, mas não a hora. Se vincular a caixa de texto a um campo da tabela e o campo tiver um valor predefinido, o valor predefinido do controlo precede o campo da tabela. Faz muitas vezes sentido definir a propriedade Valor Predefinido do campo na tabela. Deste modo, se basear vários controlos de diferentes formas no mesmo campo da tabela, será aplicado o mesmo valor predefinido a cada controlo, ajudando a garantir uma introdução de dados consistente em cada formulário.
PROCEDIMENTO
-
No Painel de Navegação, clique com o botão direito do rato no formulário ou relatório que pretende alterar e, em seguida, clique em Vista Estrutura ou Vista de Esquema no menu de atalho.
-
Selecione o controlo que pretende alterar.
-
Se a folha de propriedades ainda não tiver sido apresentada, prima F4 para a apresentar.
-
Clique no separador Tudo na folha de propriedades e, em seguida, clique na caixa da propriedade Valor Predefinido.
-
Escreva a expressão ou clique no botão Criar na caixa de propriedades para criar uma expressão com o Construtor de Expressões.
Adicionar uma regra de validação a um campo de tabela ou registo
As expressões são muito úteis para validar dados introduzidos na base de dados, eliminando os dados inválidos. Em tabelas, existem dois tipos de regras de validação: regras de validação de campos (que impedem os utilizadores de introduzirem dados inválidos num único campo) e regras de validação de registos (que impedem os utilizadores de criarem registos que não cumprem os critérios introduzidos). Ambos os tipos de regras de validação são criados utilizando expressões.
Por exemplo, suponha que tem uma tabela com o nome Inventário com um campo com o nome Unidades em Stock e quer definir uma regra que force os utilizadores a introduzir um valor maior ou igual a zero. Por outras palavras, o inventário nunca pode apresentar um número negativo. Para tal, utilize a seguinte expressão como regra na validação de campos no campo Unidades em Stock:
>=0
PROCEDIMENTO: introduzir uma regra de validação de campo ou registo
-
No Painel de Navegação, faça duplo clique na tabela que pretende utilizar. O Access abre a tabela na vista Folha de Dados.
-
Para uma regra de validação de campos, selecione o campo que pretende alterar.
-
No friso, clique em Campos de Tabela e, em seguida, no grupo Validação de Campo , clique em Validação e, em seguida, clique em Regra de Validação de Campo ou Regra de Validação. O Access apresenta o Construtor de Expressões.
-
Comece a escrever os critérios pretendidos. Por exemplo, para uma regra de validação de campos que requer que todos os valores sejam superiores a ou iguais a zero, escreva o seguinte:
>=0
Não preceda a expressão com um sinal de igual (=).
As expressões de regras de validação são booleanas, ou seja, são True ou False para cada valor de entrada. Uma regra de validação tem de ser True para o valor, caso contrário, o Access não irá guardar o valor e irá apresentar uma mensagem de erro. Neste exemplo, se introduzir um valor para o campo Unidades em Stock que seja inferior a zero, a regra de validação é False e o Access não aceita o valor. Se não tiver introduzido uma mensagem de validação tal como descrito na secção seguinte, o Access apresentará a sua própria mensagem para indicar que o valor introduzido é proibido pela regra de validação do campo.
PROCEDIMENTO: introduzir uma mensagem de validação
Para tornar a sua base de dados mais fácil de utilizar, pode introduzir mensagens de validação personalizadas. Estas substituem as mensagens genéricas apresentadas pelo Access quando os dados não correspondem a uma regra de validação. Pode utilizar uma mensagem de validação personalizada para fornecer informações específicas que ajudam o utilizador a introduzir os dados corretos, por exemplo, "O valor Unidades em Stock não pode ser um número negativo".
-
No Painel de Navegação, faça duplo clique na tabela que pretende alterar.
O Access abre a tabela na vista Folha de Dados.
-
Para uma mensagem de validação de campo, selecione o campo ao qual adicionou a regra de validação.
-
No friso, clique em Campos de Tabela e, em seguida, no grupo Validação de Campo , clique em Validação e, em seguida, clique em Mensagem de Validação de Campo ou Mensagem de Validação.
-
Na caixa de diálogo Introduzir Mensagem de Validação, escreva a mensagem que pretende que seja apresentada quando os dados não correspondem à regra de validação e clique em OK.
Adicionar uma regra de validação a um controlo
Além dos campos e registos de tabela, os controlos também têm uma propriedade Regra de Validação que pode aceitar uma expressão. Por exemplo, suponha que utiliza um formulário para introduzir o intervalo de datas de um relatório e pretende certificar-se de que a data de início não é anterior a 01/01/2017. Pode definir as propriedades Regra de Validação e Texto de Validação para a caixa de texto onde introduz a data de início para o seguinte:
Propriedade |
Definição |
---|---|
Regra de Validação |
>=#1/1/2017# |
Texto de Validação |
Não é possível introduzir uma data anterior a 01/01/2017. |
Se tentar introduzir uma data anterior a 1/1/2017, é apresentada uma mensagem e apresenta o texto na propriedade Texto de Validação . Se não tiver sido introduzido texto na caixa de propriedade Texto de Validação , o Access apresenta uma mensagem genérica. Depois de clicar em OK, o Access irá regressar à caixa de texto.
A definição de uma regra de validação para um campo da tabela impõe a regra em toda a base de dados, onde quer que o campo seja modificado. Em alternativa, a definição de uma regra de validação para um controlo num formulário impõe a regra apenas quando esse formulário estiver a ser utilizado. A definição de regras de validação separadamente para campos da tabela e para controlos em formulários pode ser útil se pretender estabelecer regras de validação diferentes para diferentes utilizadores.
PROCEDIMENTO
-
No Painel de Navegação, clique com o botão direito do rato no formulário ou relatório que pretende alterar e, em seguida, clique em Vista Estrutura ou Vista de Esquema no menu de atalho.
-
Clique com o botão direito do rato no controlo que pretende alterar e, em seguida, clique em Propriedades no menu de atalho. O Access apresenta a folha de propriedades do controlo.
-
Clique no separador Tudo e clique na caixa da propriedade Regra de Validação.
-
Escreva a expressão ou clique no botão Criar na caixa de propriedades para criar uma expressão com o Construtor de Expressões.
Não coloque o operador = antes da expressão.
-
Para personalizar o texto apresentado se um utilizador introduzir dados que não correspondam à regra de validação, escreva o texto pretendido na propriedade Texto de Validação.
Agrupar e ordenar dados em relatórios
O painel Grupo, Ordenação e Total é utilizado para definir níveis de agrupamento e sequência de ordenação dos dados num relatório. Normalmente, o utilizador agrupa e ordena com base num campo selecionado numa lista. No entanto, se pretender agrupar ou ordenar com base num valor calculado, pode, em alternativa, introduzir uma expressão.
Agrupamento é o processo de combinar colunas que contenham valores duplicados. Por exemplo, suponha que a base de dados contém informações de vendas de escritórios em localidades diferentes e que um dos relatórios na base de dados se denomina "Vendas por Localidade". A consulta que fornece os dados a esse relatório agrupa os dados por valores de localidade. Este tipo de agrupamento poderá facilitar a leitura e compreensão das informações.
Em contraste, a ordenação consiste no processo de impor uma sequência de ordenação com base nas linhas (registos) nos resultados da consulta. Por exemplo, é possível ordenar registos pelos respetivos valores de chave primária (ou outro conjunto de valores noutro campo) por ordem ascendente ou descendente ou ordenar registos por um ou mais carateres de acordo com uma ordem especificada, como, por exemplo, por ordem alfabética.
PROCEDIMENTO: adicionar agrupamento e ordenação a um relatório
-
No Painel de Navegação, clique com o botão direito do rato no relatório que pretende alterar e, em seguida, clique em Vista de Esquema ou Vista Estrutura no menu de atalho.
-
No friso, clique em Estrutura do Relatório e, no grupo Agrupamento & Totais , clique em Agrupar & Ordenar. O painel Grupo, Ordenação e Total é apresentado abaixo do relatório.
-
Para adicionar um nível de agrupamento ao relatório, clique em Adicionar um grupo.
-
Para adicionar uma sequência de ordenação ao relatório, clique em Adicionar uma ordenação.
Um novo nível de grupo ou sequência de ordenação é apresentado no painel, bem como uma lista dos campos que fornecem dados ao relatório. Esta figura mostra um novo nível de grupo (agrupamento com base na Categoria) e uma nova sequência de ordenação (ordenação com base no Fabricante) típicos e ainda uma lista que contém os campos de agrupamento e ordenação disponíveis:
-
Na lista de campos disponíveis, clique em expressão para começar a utilizar o Construtor de Expressões.
-
Introduza a expressão que pretende utilizar na caixa de expressão (na caixa superior) do Construtor de Expressões. Certifique-se de que inicia a expressão com o operador de igual (=).
PROCEDIMENTO: adicionar uma expressão a um grupo ou ordenação existente
-
No Painel de Navegação, clique com o botão direito do rato no relatório que pretende alterar e, em seguida, clique em Vista de Esquema ou Vista Estrutura no menu de atalho.
-
Clique no nível de grupo ou sequência de ordenação que pretende alterar.
-
Clique na seta para baixo junto a Agrupar por (para níveis de agrupamento) ou em Ordenar por (para sequências de ordenação). É apresentada uma lista que contém os campos disponíveis.
-
Na parte inferior da lista que contém os campos, clique em expressão para começar a utilizar o Construtor de Expressões.
-
Escreva a expressão na caixa de expressão (na caixa superior) do Construtor de Expressões. Certifique-se de que inicia a expressão com o operador de igual (=).
Controlar as ações de macros executadas
Em alguns casos, poderá pretender executar uma ação ou uma série de ações numa macro apenas se uma determinada condição for verdadeira. Por exemplo, suponha que pretende que uma ação de macro só seja executada quando o valor numa caixa de texto for maior ou igual a 10. Para definir esta regra, utilize uma expressão num bloco Se na macro para definir a condição na macro.
Neste exemplo, suponha que a caixa de texto tem o nome "Itens". A expressão que define a condição é:
[Items]>=10
PROCEDIMENTO
-
No Painel de Navegação, clique com o botão direito do rato na macro que pretende alterar e, em seguida, clique em Vista Estrutura no menu de atalho.
-
Clique no bloco Se que pretende modificar ou adicione um bloco Se a partir do painel Catálogo de Ações.
-
Clique na linha superior do bloco Se.
-
Escreva a expressão condicional na caixa ou clique no botão Criar junto à caixa de expressão para começar a utilizar o Construtor de Expressões.
A expressão que escrever tem de ser booleano, ou seja, tem de ser True ou False. As ações de macro no bloco Se só são executadas se a condição for True.
Consulte Também
Utilizar o Construtor de Expressões