Du kan hjælpe brugerne med at udfylde formularer baseret på din formularskabelon ved hjælp af formler til at beregne værdien for et kontrolelement baseret på data, som brugeren indtaster i andre kontrolelementer. Beregningerne kan omfatte at addere, subtrahere, multiplicere og dividere værdier. Hvis du f.eks. designer en formularskabelon, som elektriske entreprenører skal bruge til at ansøge om tilladelse, kan du føje en formel til et kontrolelement, der automatisk beregner den samlede pris, som entreprenøren skal betale for ansøgningen, ved at multiplicere antallet af tilladelser i ansøgningen med prisen for hver tilladelse.
Denne artikel indeholder
- Hvad er en formel?
- Brug af to eller flere operatorer i en formel
- Indsætte en matematisk formel i et kontrolelement
Hvad er en formel?
En formel er et XPath-udtryk, der består af værdier, felter eller grupper, funktioner og operatorer, der bruges til at beregne og vise andre værdier. Formler kan bruges til at udføre følgende opgaver:
- Beregn matematiske værdier ud fra værdier, du angiver, når du designer formularskabelonen, eller værdier, som brugere indtaster i kontrolelementer, når de udfylder formularer baseret på din formularskabelon.
- Vise bestemte datoer og klokkeslæt.
- Vise de værdier, som brugerne indtaster i ét kontrolelement i et andet kontrolelement.
- Angiv standardværdien for et felt eller kontrolelement.
- Kør en regel, der er baseret på en værdi, der er beregnet ved hjælp af en formel.
Hvert XPath-udtryk, der bruges i en formel, er en kombination af værdier, funktioner og operatorer, der evalueres til en enkelt værdi. En formel kan indeholde flere udtryk. Du kan betragte en formel som en sætning, der består af et eller flere udtryk, hvor hvert udtryk repræsenterer ét udtryk i formlen.
Følgende illustration viser relationen mellem en formel og et udtryk.
En funktion er et udtryk, der returnerer en værdi baseret på resultaterne af en beregning. De værdier, der bruges i funktionerne, kaldes argumenter. Du kan bruge de XPath 1.0-standardfunktioner, der er inkluderet i InfoPath, samt nogle InfoPath-specifikke funktioner. Du kan finde links til flere oplysninger om InfoPath-funktioner i afsnittet Se også .
Brug af to eller flere operatorer i en formel
Når en formel indeholder to eller flere matematiske operatorer, udfører InfoPath beregningen i overensstemmelse med operatorens rangorden. Følgende liste viser den rækkefølge, som handlinger udføres i:
- Beregninger i parenteser
- Multiplikations- og divisionsberegninger
- Beregning af addition og subtraktion
Hvis formlen indeholder to operatorer, der har samme rangorden, udføres beregningerne fra venstre mod højre.
Forestil dig f.eks., at du opretter en formularskabelon til ansøgning om tilladelse, der har et tekstfelt, der viser de samlede omkostninger for alle de tilladelser, der er indsendt i en ansøgning. De værdier, der kræves af denne formel, kommer fra andre tekstfelter i formularen. Det tekstfelt, der viser de samlede omkostninger, indeholder følgende formel:
txtPermit1Qty * txtPermitCost1 + txtPermit2Qty * txtPermitCost2 /txtNumberOfPermits
Denne formel indeholder additionsoperatorer (+), multiplikationsoperatorer (*) og divisionsoperatorer (/). Ifølge operatorernes rangorden udføres multiplikations- og divisionsberegningerne før additionsberegningen. Da multiplikations- og divisionsoperatorer har samme rangorden, udføres multiplikationsberegningen før divisionsoperatoren, fordi multiplikationsoperatoren er placeret til venstre for divisionsoperatoren. Formlen beregnes på denne måde:
- Værdien i txtPermit1Qty multipliceres med værdien i txtPermitCost1.
- Værdien i txtPermit2Qty multipliceres med værdien i txtPermitCost2, og dette resultat divideres derefter med værdien i txtNumberOfPermits.
- Resultatet af beregningen i trin 1 føjes til resultaterne af beregningen i trin 2.
Hvis du vil styre beregningsrækkefølgen, skal du omslutte den beregning, du først vil udføre, i parenteser. Beregningerne i parenteserne udføres før beregninger uden for parenteserne. Placer beregninger med parenteser til venstre for beregninger uden parenteser. Beregninger i indlejrede parenteser udføres ved at arbejde fra de indre til de ydre parenteser.
Overvej f.eks. følgende formel:
((txtPermit1Qty * txtPermitCost1) + (txtPermit2Qty * txtPermitCost2))/txtNumberOfPermits
I denne beregning lægges den værdi, der er resultatet af multiplicering af værdierne i txtPermit1Qty og txtPermitCost1 , til den værdi, der er resultatet af multiplicering af værdierne i txtPermit2Qty og txtPermitCost2. Summen af denne beregning divideres derefter med værdien i txtNumberOfPermits.
Indsætte en matematisk formel i et kontrolelement
Dobbeltklik på det kontrolelement eller felt, du vil oprette formlen for.
Klik på fanen Data.
Klik på Indsæt formel
.Hvis du vil indsætte en værdi eller en matematisk operator i formlen, skal du skrive værdien eller symbolet for den matematiske handling i feltet Formel .
Liste over matematiske handlingerDrift Symbol Tilføj + Subtraher - Multiplicer * Divider / Bemærk
Hvis formlen bruger divisionsoperatoren (/), skal du kontrollere, at der er et mellemrum før og efter divisionsoperatoren. Hvis divisionsoperatoren ikke har et mellemrum før og efter, kan InfoPath fortolke '/' som en separator for XPath-placeringstrin i stedet for som en divisionsoperator.
Tip
Matematiske formler afhænger normalt af heltals- eller decimalværdier som argumenter. Hvis du vil undgå tomme værdier i formlen, skal du markere afkrydsningsfeltet Opfat tomme værdier som nul i kategorien Avanceret i dialogboksen Formularindstillinger .
Hvis du vil kontrollere formlen for den korrekte syntaks, skal du klikke på Bekræft formel i dialogboksen Indsæt formel.
Min formel indeholder fejl
Klik på Vis detaljer i dialogboksen Microsoft Office InfoPath for at se fejlene i formlen. Følgende er nogle forslag til løsning af disse fejl:- Hvis du bruger en funktion i formlen, skal du kontrollere, at du bruger de korrekte argumenter for funktionen. Nogle funktioner kræver felter eller grupper, mens andre funktioner kræver angivne værdier som argumenter. Du kan finde links til flere oplysninger om funktioner i afsnittet Se også .
- Slet og skriv formlen igen for at sikre, at den er skrevet korrekt.
Klik på Eksempel på værktøjslinjen Standard, eller tryk på Ctrl+Shift+B for at teste ændringerne.