Dodawanie, odejmowanie, mnożenie i dzielenie wartości w formancie

Stosując formuły do obliczania wartości formantu na podstawie danych wprowadzonych przez użytkownika w innych formantach, można ułatwić użytkownikom wypełnianie formularzy opartych na szablonie formularza. Projektując na przykład szablon formularza, który będzie służył firmom usługowym do składania wniosków o zezwolenia, można dodać do formantu formułę, która automatycznie obliczy łączną kwotę, jaką firma będzie musiała zapłacić za wniosek, mnożąc liczbę zezwoleń we wniosku przez opłatę za każde zezwolenie.

W tym artykule


Co to jest formuła?

Formuła jest wyrażeniem XPath składającym się z wartości, pól lub grup, funkcji i operatorów użytych do obliczenia i wyświetlenia innych wartości. Przy użyciu formuł można wykonywać następujące zadania:

  • Obliczać wartości funkcji matematycznych na podstawie wartości określonych podczas projektowania szablonu formularza lub wartości wprowadzanych przez użytkowników w formantach podczas wypełniania formularza utworzonego na podstawie szablonu formularza.
  • Wyświetlać określone daty i godziny.
  • Wyświetlać w formancie wartości wprowadzone przez użytkowników w innym formancie.
  • Określać wartości domyślne dla pola lub formantu.
  • Uruchamiać regułę na podstawie wartości obliczanej przy użyciu formuły.

Każde wyrażenie XPath używane w formule jest kombinacją wartości, funkcji i operatorów, która w wyniku daje pojedynczą wartość. Formuła może zawierać kilka wyrażeń. Formuły są podobne do zdań złożonych z jednej lub kilku fraz, z których każda odpowiada jednemu wyrażeniu w formule.

Poniższa ilustracja pokazuje relację między formułą i wyrażeniem.

Diagram przedstawiający relację między formułami i wyrażeniami

Funkcja to wyrażenie, które zwraca wartość na podstawie wyników pewnych obliczeń. Wartości używane w funkcjach nazywa się argumentami. W wyrażeniach można używać standardowych funkcji XPath 1.0 dołączanych do programu InfoPath, a także niektórych funkcji właściwych dla programu InfoPath. W sekcji Zobacz też można znaleźć łącza do dodatkowych informacji na temat funkcji programu InfoPath.

Początek strony Początek strony

Używanie dwóch lub więcej operatorów w formule

Jeśli formuła zawiera kilka operatorów matematycznych, obliczenia w programie InfoPath są wykonywane zgodnie z kolejnością pierwszeństwa operatorów. Na poniższej liście przedstawiono kolejność wykonywania operacji:

  1. Obliczenia ujęte w nawiasy
  2. Mnożenie i dzielenie
  3. Dodawanie i odejmowanie

Jeśli formuła zawiera dwa operatory, z których żaden nie ma pierwszeństwa przed drugim, obliczenia są wykonywane od lewej do prawej strony.

Załóżmy, że użytkownik tworzy szablon formularza do składania wniosku o zezwolenia z polem tekstu wyświetlającym łączny koszt wszystkich zezwoleń, których dotyczy wniosek. Wartości wymagane przez tę formułę znajdują się w innych polach tekstu w formularzu. Pole tekstu wyświetlające łączny koszt zawiera następującą formułę:

txtLiczbaZezwolen1 * txtKosztZezwolenia1 + txtLiczbaZezwolen2 * txtKosztZezwolenia2 /txtLiczbaZezwoleń

W tej formule występują operatory dodawania (+), mnożenia (*) i dzielenia (/). Zgodnie z zasadą pierwszeństwa działania mnożenia i dzielenia zostaną wykonane przed dodawaniem. Ponieważ operatory mnożenia i dzielenia mają jednakowe pierwszeństwo, mnożenie zostanie wykonane przed dzieleniem, gdyż operator mnożenia znajduje się na lewo od operatora dzielenia.

  1. Wartość argumentu txtLiczbaZezwolen1 zostanie pomnożona przez wartość argumentu txtKosztZezwolenia1.
  2. Wartość argumentu txtLiczbaZezwolen2 zostanie pomnożona przez wartość argumentu txtKosztZezwolenia2, a następnie wynik mnożenia zostanie podzielony przez wartość argumentu txtLiczbaZezwoleń.
  3. Wynik obliczeń wykonanych w kroku 1 zostanie dodany do wyniku obliczeń wykonanych w kroku 2.

Na kolejność wykonywania obliczeń można wpłynąć, ujmując w nawiasy obliczenia, które mają zostać wykonane w pierwszej kolejności. Obliczenia w nawiasach są wykonywane przed obliczeniami poza nawiasami. Obliczenia w nawiasach należy umieścić na lewo od obliczeń, które nie są ujęte w nawiasy. Obliczenia w nawiasach zagnieżdżonych są wykonywane w kolejności od obliczeń w nawiasach wewnętrznych do obliczeń w nawiasach zewnętrznych.

Przyjrzyjmy się następującej formule:

((txtLiczbaZezwolen1 * txtKosztZezwolenia1) + (txtLiczbaZezwolen2 * txtKosztZezwolenia2))/txtLiczbaZezwoleń

Na podstawie tej formuły wynik mnożenia wartości argumentu txtLiczbaZezwolen1 przez wartość argumentu txtKosztZezwolenia1 zostanie dodany do wyniku mnożenia wartości argumentu txtLiczbaZezwolen2 przez wartość argumentu txtKosztZezwolenia2. Suma wyników tych obliczeń zostanie następnie podzielona przez wartość argumentu txtLiczbaZezwoleń.

Początek strony Początek strony

Wstawianie formuły matematycznej do formantu

  1. Kliknij dwukrotnie formant lub pole, dla którego chcesz utworzyć formułę.
  2. Kliknij kartę Dane.
  1. Kliknij przycisk Wstaw formułę Obraz przycisku.
  1. Aby wstawić do formuły wartość lub operator matematyczny, wpisz wartość lub symbol operatora matematycznego w polu Formuła.

PokażLista operacji matematycznych

Operacja Symbol
Dodaj +
Odejmowanie -
Mnożenie *
Dzielenie /

 Uwaga   Jeśli w formule występuje operator dzielenia (/), przed nim i po nim musi być spacja. W przeciwnym razie program InfoPath może zinterpretować symbol „/” jako separator kroków położenia XPath, a nie jako operator dzielenia.

 Porada   Formuły matematyczne są zazwyczaj oparte na argumentach będących wartościami całkowitymi lub dziesiętnymi. Aby uniknąć pustych wartości w formule, w oknie dialogowym Opcje formularza na karcie Zaawansowane zaznacz pole wyboru Traktuj puste wartości jako zero.

  1. Aby sprawdzić poprawność składni formuły, w oknie dialogowym Wstaw formułę kliknij przycisk Weryfikuj formułę.

PokażFormuła zawiera błędy

Aby wyświetlić błędy w formule, kliknij przycisk Pokaż szczegóły w oknie dialogowym Microsoft Office InfoPath. Oto kilka sugestii na temat naprawiania takich błędów:

  • Jeśli w formule jest używana funkcja, sprawdź, czy stosujesz odpowiednie dla funkcji argumenty. Niektóre funkcje wymagają pól lub grup, natomiast inne funkcje wymagają określonych wartości jako argumentów. W sekcji Zobacz też znajdują się łącza do artykułów zawierających więcej informacji na temat funkcji.
  • Usuń formułę i wpisz ją ponownie, aby mieć pewność, że została wpisana poprawnie.
  1. Aby przetestować zmiany, kliknij przycisk Podgląd na pasku narzędzi Standardowy lub naciśnij kombinację klawiszy CTRL+SHIFT+B.

Początek strony Początek strony

 
 
Dotyczy:
InfoPath 2007