Somar, subtrair, multiplicar e dividir valores em um controle

Você pode auxiliar os usuários no preenchimento do formulário baseado no seu modelo de formulário ao utilizar fórmulas para cálculo de um valor no controle, com base nos dados que o usuário inserir em outros controles. Os cálculos incluem somar, subtrair, multiplicar e dividir valores. Por exemplo, se você estiver desenvolvendo um modelo de formulário que os fornecedores de eletricidade utilizarão para aplicar a permissões, é possível adicionar uma fórmula para um controle que automaticamente calcule o preço total que o fornecedor terá que pagar pelo aplicativo, multiplicando o número de permissões no aplicativo pelo preço de cada permissão.

Neste artigo


O que é uma fórmula?

Uma fórmula é uma expressão XPath constituída de valores, campos ou grupos, funções e operadores usados para calcular e exibir outros valores. Fórmulas podem ser usadas para executar as seguintes tarefas:

  • Calcular valores matemáticos a partir de valores especificados ao criar o modelo de formulário ou de valores que os usuários digitam em controles quando preenchem formulários baseados em seu modelo de formulário.
  • Exibir datas e horas específicas.
  • Exibir em um controle os valores que os usuários digitam em outro controle.
  • Definir o valor padrão de um campo ou controle.
  • Executar uma regra com base em um valor calculado usando uma fórmula.

Cada expressão XPath usada em uma fórmula é uma combinação de valores, funções e operadores que resultam em um único valor. Uma fórmula pode conter várias expressões. Você pode pensar em uma fórmula como uma sentença formada por uma ou mais frases, em que cada frase representa uma expressão na fórmula.

A seguinte ilustração mostra a relação entre uma fórmula e uma expressão.

Diagrama mostrando a relação entre fórmulas e expressões

Uma função é uma expressão que retorna um valor com base nos resultados de um cálculo. Os valores usados nas funções são chamados de argumentos. Você pode usar as funções padrão do XPath 1.0 incluídas no InfoPath, bem como algumas funções específicas do InfoPath. É possível encontrar links para mais informações sobre as funções InfoPath na seção Consulte também.

Início da página Início da página

Usando dois ou mais operadores em uma fórmula

Quando uma fórmula consiste de dois ou mais operadores matemáticos, o InfoPath realiza o cálculo de acordo com a precedência do operador. A lista a seguir mostra a ordem na qual as operações são realizadas:

  1. Cálculos em parênteses
  2. Cálculos de multiplicação e divisão
  3. Cálculos de soma e subtração

Se a fórmula tiver dois operadores com a mesma precedência, os cálculos serão realizados da esquerda para a direita.

Por exemplo, imagine que você esteja criando um modelo de formulário de aplicativo de permissão, o qual possui uma caixa de texto que exibe o custo total de todas as permissões submetidas no aplicativo. Os valores necessários para essa fórmula virão de outras caixas de texto no formulário. A caixa de texto que exibe o custo total contém a seguinte fórmula:

txtPermit1Qty * txtPermitCost1 + txtPermit2Qty * txtPermitCost2 /txtNumberOfPermits

Essa fórmula inclui operadores de soma (+), multiplicação (*) e divisão (/). De acordo com a precedência dos operadores, os cálculos de multiplicação e divisão são realizados antes do cálculo de soma. Como os operadores de multiplicação e divisão têm a mesma precedência, o cálculo de multiplicação é feito antes do operador de divisão, pois o operador de multiplicação está localizado à esquerda do operador de divisão. A fórmula é calculada da seguinte forma:

  1. O valor em txtPermit1Qty é multiplicado pelo valor em txtPermitCost1.
  2. O valor em txtPermit2Qty é multiplicado pelo valor em txtPermitCost2 e o resultado é então dividido pelo valor em txtNumberOfPermits.
  3. O resultado do cálculo na etapa 1 é adicionado aos resultados do cálculo na etapa 2.

Para controlar a ordem de cálculo, coloque o cálculo que você fez primeiro entre parênteses. Os cálculos entre parênteses são realizados antes dos cálculos fora dos parênteses. Coloque os cáclulos entre parênteses à esquerda dos cálculos sem parênteses. Os cálculos entre parênteses aninhados são realizados na ordem dos parênteses internos para os externos.

Por exemplo, considere a seguinte fórmula:

((txtPermit1Qty * txtPermitCost1) + (txtPermit2Qty * txtPermitCost2))/txtNumberOfPermits

Nesse cálculo, o valor que resultar da multiplicação dos valores em txtPermit1Qty e txtPemitCost1 será adicionado ao valor que resultar da multiplicação dos valores em txtPermit2Qty e txtPermitCost2. A soma desse cálculo é então dividida pelo valor em txtNumberOfPermits.

Início da página Início da página

Inserir uma fórmula matemática em um controle

  1. Clique duas vezes no controle ou campo no qual você deseja criar a fórmula.
  2. Clique na guia Dados.
  1. Clique em Inserir Fórmula Imagem do botão.
  1. Para inserir um valor ou operador matemático na fórmula, digite o valor ou símbolo da operação matemática na caixa Fórmula.

MostrarLista de operações matemáticas

Operação Símbolo
Adicionar +
Subtrair -
Multiplicar *
Dividir /

 Observação   Se sua fórmula utiliza o operador de divisão (/), verifique se há um espaço antes e depois do operador de divisão. Se o operador de divisão não tiver um espaço antes e depois dele, o InfoPath pode interpretar '/' como um separador de passos (location steps) do XPath e não como um operador de divisão.

 Dica   Em geral as fórmulas matemáticas dependem de valores inteiros ou decimais como argumentos. Para evitar valores em branco na sua fórmula, marque a caixa de seleção Tratar valores em branco como zero, na categoria Avançado da caixa de diálogo Opções de Formulário.

  1. Para verificar a sintaxe correta da fórmula, na caixa de diálogo Inserir Fórmula, clique em Verificar Fórmula.

MostrarMinha fórmula contém erros

Clique em Mostrar Detalhes na caixa de diálogo Microsoft Office InfoPath para visualizar os erros na fórmula. Verifique a seguir algumas sugestões para solucionar tais erros:

  • Se você estiver utilizando uma função na sua fórmula, verifique se está utilizando os argumentos corretos para a função. Algumas funções requerem campos ou grupos, enquanto outras requerem valores especificados como argumentos. Consulte outros links para obter mais informações sobre como utilizar a formatação condicional na seção Consulte também.
  • Exclua e digite novamente a fórmula para certificar-se de que ela está digitada corretamente.
  1. Para testar suas alterações, clique em Visualizar na barra de ferramentasPadrão ou pressione CTRL+SHIFT+B.

Início da página Início da página

 
 
Aplica-se a:
InfoPath 2007