Office

InfoPath – Filteren in een functie

9 maart 2012

In deze post laat ik zien hoe in InfoPath de filter-optie werkt in een functie. Op een veld kun je in de eigenschappen als ‘Default Value’ een functie gebruiken. Bij het selecteren van een veld of groep kun je een filter toepassen. Het eindresultaat van dit voorbeeld is een veld die de maandnaam geeft van een datum die in een ander veld is opgegeven.

Het resultaat:

 

 

Toelichting A
Een tweede veld gebruik ik als tussenstap om de uitkomst van een formule te laten zien. De formule haalt uit de datum de numerieke waarde van de
maand:

number(substring-before(substring-after(date;”-“); “-“))

Toelichting B
Het derde veld filters de numerieke waarde van de maand en vervangt deze voor tekst uit een eigen lijst. Deze lijst is een xml-bestand die je hier kan bekijken en kopiëren. Plak de tekst in kladblok; sla op als txt. Verander de extensie van .txt naar .xml

Het XML-bestand moet worden toegevoegd als connectie. In de post (Weergeven van een keuzemenu..) laat ik dit stapsgewijs zien.

Bij het inregelen merk je dat er wel veel dialoogvenstersworden geopend in InfoPath. Als alles is ingevoerd moet dus elk venster gesloten worden door op OK te klikken.

 

 

 

 

 

 

 

 

Toelichting 1
Voeg een functie toe als Default Value

Toelichting 2
Voeg een veld toe

Toelichting 3
Selecteer je data bron die je hebt gemaakt van het XML-bestand

Toelichting 4  

Selecteer Name. In het XML is intM het maandnummer en Name de maandnaam.

 

 

 

 

 

Toelichting 5
Selecteer de optie Filter Data onderin. We willen het veld Name weergeven door het maandnummer (intM) te matchen met de uitkomst van de formule.

Toelichting 6 
Voeg een filter toe door op Add te klikken. In het volgende venster zorg dat in het eerste veld intM is geselecteerd. Dit is het veld uit het XML-bestand met het maandnummer. Het tweede veld gebruik ‘is equal to’

Toelichting 7
Selecteer ‘Use a formula’ Geef hier de formule op die uit de opgegeven datum de nummerieke waarde van de maand haalt. Sluit vervolgens alle vensters door op OK te klikken.

You Might Also Like

Geen reacties

Plaats een reactie