Symptomen

  • De gebruiker wil snel en eenvoudig algemene formulieren voor consequente invoer ontwerpen in Office, en niet in alle onderdelen (programma’s) apart.
  • Men zoekt een korte cursus of inleiding in het gebruik van InfoPath.

Verdieping

Sinds de professionele editie van versie 2003 bestaat in de Officefamilie ook een handige ontwerptool voor formulieren: InfoPath. Dit hulpprogramma is bedoeld voor het consequente verzamelen van gegevens. Want niet alleen bij het invoeren van gegevens in databases kunnen allerlei discrepanties ontstaan, ook als u antwoorden op vragen in enquêtes of e-mails (bijvoorbeeld met behulp van stemknoppen) gaat verzamelen, kan dat behoorlijk ongestructureerde gegevensstromen opleveren. Dan zijn formulieren de meest geschikte tools om gestructureerd gegevens te verzamelen.

Maar het is toch een flinke klus om een formulier te maken met keuzelijsten, aankruisvakjes of tekstvelden waarin met behulp van validatieregels, notatiemaskers en eventuele (macro)code de invoer is te reguleren. En het wordt nog meer werk als u formulieren in alle verschillende programma’s zou moeten ontwerpen, denk aan invulvensters voor sjablonen, bij spreadsheets, in mails of speciaal voor gegevensbeheer in Access. Als in een organisatie bijvoorbeeld SharePoint als omgeving wordt gebruikt voor vergaande samenwerking, als er zwaardere databasetoepassingen of workflowsystemen in gebruik zijn of als alleen stemformuliertjes tekortschieten, is InfoPath een handiger weg om te bewandelen.

Voorbeeld

Stel, u wilt dat alle buitendienstmedewerkers in uw organisatie regelmatig rapporteren hoeveel uren en waar zij hebben gewerkt, welke klanten zij hebben bezocht, en dergelijke. Dat kan handig geregeld worden met een webformulier dat zij via de browser kunnen invullen en opsturen. En dan liefst natuurlijk een formulier waarin de meeste invoer kan plaatsvinden via handige en eenduidige elementen zoals datumkiezers, vinkjes, keuzelijsten, et cetera. Dit voorbeeld werken we hieronder ter demonstratie deels uit: we laten u het principe zien zodat u begrijpt hoe het werkt, maar werken niet alles volledig uit. We gebruiken hier InfoPath 2010 dat werkt met hulpmiddelen in een lint zoals u dat ook in de andere Officetoepassingen tegenkomt.

  1. Start InfoPath via het startmenu (in versie 2010 start u InfoPath Designer, in de oudere versies zijn Designer en Filler geïntegreerd).

Het programma start direct in de Backstage (tab Bestand) met de optie Nieuw waarmee u een aantal sjablonen voor nieuwe formulieren krijgt aangeboden.

  1. Bekijk de verschillende sjablonen even nauwkeuriger: klik ze eenmaal aan en rechts verschijnt uitleg over de mogelijkheden van een geselecteerde sjabloon.

U treft hier in ieder geval ook sjablonen aan om een formulier te ontwerpen als u in uw organisatie in SharePoint gegevens deelt met de andere medewerkers. Ook met andere gegevensbronnen zoals Access- of SQL-databases of met webservers zijn koppelingen te leggen.

  1. Selecteer de sjabloon E-mail.
  2. Klik nu op de knop Formulier ontwerpen.
    In het ontwerpvenster verschijnt nu een formulierraamwerk met enkele gebieden waarin u uw eigen elementen en teksten kunt invoegen.

  1. Klik in het bovenste vak om een titel in te voegen en geef het formulier de titel Werkbezoek buitendienst.
  2. Klik in het vak eronder en voeg er tekst naar keuze in, bijvoorbeeld instructies over hoe (en met wat) het formulier moet worden ingevuld en verstuurd.

De drie vakjes eronder waarin staat ‘Label en besturingselement toevoegen’ vormen samen een tabel met drie rijen in één kolom die de volle breedte van het formulier beslaat. Die tabelvorm – met drie cellen dus – is handig om mee te werken want die kent u vast al wel uit Word of Excel. Zo kunt u daar nieuwe rijen of kolommen invoegen, cellen samenvoegen of splitsen en randen en arceringen regelen op dezelfde manier als u dat in andere toepassingen zou doen.

Maar u kunt ook de voorgestelde indeling vervangen door andere standaardindelingen die beter aan uw wensen voldoen:

  1. Selecteer de drie rijen en verwijder ze met Delete.
  2. Ga naar de tab Invoegen en kies in de groep Tabellen de tweede: Twee kolommen 2 (dus met een kop). Dit geeft een indeling waarbij de labels in de linkerkolom en de besturingselementen rechts komen te staan. Dat scheelt een boel uitlijnwerk.
  3. Wijzig de subkop in Bezoekgegevens.
  4. Plaats in de linkerkolom de drie labels Van:, Aan: en Bezoekdatum:.
  5. Maak de linkerkolom wat smaller (versleep de kolomgrens) zodat de labels precies passen.
  6. Klik in de cel rechts naast label Van:.

Om de naam van de bezoekende buitendienstmedewerker in te voeren, kunt u kiezen uit allerlei besturingselementen, bijvoorbeeld een tekstvak, een (vervolg)keuzelijst, of een selectielijst. De laatstgenoemde elementen zouden kunnen worden gekoppeld aan bestaande databases, maar ze zijn ook te vullen met eigen keuzeopties.

  1. Voeg vanuit tab Start, groep Besturingselementen een Vervolgkeuzelijst toe.
    In het vensterpaneel rechts verschijnt een Veld1 waarin de waarden zullen worden opgeslagen. Die naam passen we natuurlijk nog aan.
  2. Klik op de hulptab Hulpmiddelen voor besturingselementen (die staat er alleen als u het besturingselement heeft geselecteerd).
  3. Verander hier in de groep Eigenschappen de naam van het veld in Bezoeker.
  4. Klik op de knop Keuzen bewerken in de groep ernaast.
    In het eigenschappenvenster dat nu verschijnt, is de naam al meeveranderd en er bevinden zich allerlei instellingsopties voor het veld.
  5. Vink onder Validatie in ieder geval aan dat het veld verplicht ingevuld moet worden (Mag niet leeg zijn). Tenslotte heeft u niets aan een bezoekrapport als u niet weet van wie het afkomstig is.
  6. Voeg met de knop Toevoegen nu enkele namen toe van de buitendienstmedewerkers om die in de lijst te kunnen kiezen. Let op: de weergavenaam en de waarde zijn aanvankelijk hetzelfde, maar dat hoeft niet. Zie bijvoorbeeld de (standaard)keuze Selecteren… waarbij de waarde ‘leeg’ is, zodat dit niet mag blijven staan vanwege de validatie.

We bekijken nu eerst eens even of en hoe het allemaal werkt.

  1. Ga naar tab Start en kies helemaal rechts de knop Voorbeeld. Het formulier verschijnt nu alsof het is gepubliceerd en u kunt uw instellingen testen.
  2. Kijk of uw namen in het keuzelijstje te kiezen zijn (merk op dat er een rood sterretje in het veld staat – ondertussen een gebruikelijk signaal voor een verplicht in te vullen veld).

  1. Sluit daarna het voorbeeldvenster weer.

U kon al in het eigenschappenvenster van het veld zien dat u de keuzeopties eventueel ook uit een bestaande database zou kunnen ophalen (door de gegevensbron op te geven). Dat zal voor het kiezen van de bezochte klant zelfs de voorkeur hebben, maar we laten dat in deze demo even voor wat het is.

  1. Voeg nu achter Bezoekdatum als besturingselement de Datumkiezer in.
  2. Verander in de eigenschappen (hulptab) de naam van het veld in Bezoekdatum.
  3. Bekijk hier ook de mogelijkheden van het veld via de knop Besturingselementeigenschappen. Stel bijvoorbeeld met de knop Notatie in dat uw datum er uitziet als ‘woensdag 14 maart 2001’.

Het ingevoegde datumveld is een mooi element om te demonstreren hoe u ‘intelligentie’ aan uw formulier kunt toevoegen. U wilt namelijk geen bezoekdata die in de toekomst liggen, dus voegen we een validatieregel in die dat controleert.

  1. Selecteer in het ontwerpvenster het veld Bezoekdatum en klik op Regel toevoegen (tab Start, groep Regels).
  2. Laat een melding weergeven als de datum in de toekomst ligt, bijvoorbeeld ‘U kunt geen bezoekdatum in de toekomst invoeren’.
  3. Bekijk in het vensterpaneel Regels rechts wat de regel doet en welke actie wordt uitgevoerd (het weergeven van de melding).
  4. Geef de Regel eventueel een naam.
  5. Test het formulier via het Voorbeeld met een datum in de toekomst
    U ziet wel de melding tevoorschijn komen, maar de toekomstige datum verschijnt daarna toch in het veld.
  6. Sluit het voorbeeld.
  7. Voeg in het paneel Regels (knop Toevoegen) een actie toe aan uw regel waarmee u de waarde van het veld leegmaakt (het vakje leeglaten dus).

  1. Test het nogmaals.

U begrijpt dat u op deze ‘simpele’ manier heel complexe formulieren kunt ontwerpen. Vooral uw denkwerk omtrent de functionaliteit is belangrijk, want programmeren komt er vooralsnog niet aan te pas. Zo zou u een tekstveld onderaan kunnen plaatsen waarin de buitendienstmedewerker zijn aantekeningen over het bezoek kwijt kan, maar dat zou evengoed een herhalende tabel kunnen zijn (zie al de mogelijke besturingselementen als u in die groep op de uitbreidingsknop linksonder klikt). Het zou zelfs een herhalende subsectie kunnen zijn waarin op zich weer allerlei besturingselementen kunnen voorkomen. Bij het invullen kan de gebruiker zo vaak als nodig rijen of subsecties toevoegen.

Andere handige elementen kunnen vinkjes of keuzerondjes zijn, al dan niet gegroepeerd, of keuzelijsten met gegevens die uit externe bronnen afkomstig zijn, om het invullen nog gemakkelijker te maken. Tel daarbij op dat elementen van elkaar afhankelijk kunnen zijn of berekeningen kunnen maken, en dat er zelfs échte programmeercode achter kan worden gestopt, bijvoorbeeld met Visual Basic of C++ (daarvoor is wel Visual Studio Tools for Applications nodig). De mogelijkheden worden zo oneindig … .

Verzenden

Nu nog een belangrijk ander aspect van het (ingevulde) formulier: het moet worden opgestuurd naar de thuisbasis: bijvoorbeeld naar de sales- of lijnmanager die de buitendienstactiviteiten verzamelt. Daarvoor gebruikt u een knop waaraan u die verzendactie koppelt.

  1. Klik in het ontwerpvenster onderaan in het formulier.
  2. Voeg hier een knop toe (u mag ook een knop met afbeelding uitproberen, maar wij gebruiken hier alleen een opschrift).
  3. Klik met de rechter muisknop op de knop en kies Eigenschappen van Knop.
  4. Kies op het tabblad Algemeen bij Actie voor Indienen.
  5. Verander daaronder de labeltekst in Verzenden.
  6. Klik op de knop Opties voor indienen. Er verschijnt een nieuw venster waarin u de gebruiker moet toestaan (met een vinkje) om het formulier ‘in te dienen’, te verzenden dus.

Nadat u de optie heeft aangevinkt, kunt u nog van alles instellen zoals naar wie het formulier moet gaan, de onderwerptekst van de mail, et cetera. Dergelijke zaken regelt u met een wizard achter de knop [Toevoegen…] (van een gegevensverbinding voor het indienen).

  1. Stel in dat u het formulier aan uzelf e-mailt met als onderwerp Werkbezoek. Geef deze verbinding dezelfde naam.

Neem vooral nog even alle andere mogelijkheden in dit venster door, zoals de keuzelijst waar nu E-mail staat en de geavanceerde opties (knop onderaan). U kunt met behulp van de keuzelijst de gegevens namelijk ook rechtstreeks naar een server of SharePoint-omgeving sturen. En via [Geavanceerd >>] regelt u eigen foutmeldingen voor als er iets misgaat, of wat er moet gebeuren als het formulier eenmaal is ingediend. Zo kunt u het formulier na verzenden bijvoorbeeld direct laten sluiten, of meteen een nieuw exemplaar laten verschijnen.

  1. Als alles naar wens is ingesteld, test u het weer via het voorbeeld.

Publiceren

Het formulier is een sjabloon, dus is het in deze vorm al bruikbaar – zeker nu u het verzenden heeft geregeld.

  1. Bewaar het formulier op een locatie naar keuze (tab Bestand, Opslaan als), bijvoorbeeld op het bureaublad en geef het de naam Werkbezoek.
    Het bestand krijgt de uitgang .xsn (het standaardformaat van InfoPath) en als u op zo’n bestand dubbelklikt, wordt er een nieuw oningevuld formulier geopend. Probeer maar.
    Deze sjablonen kunt u eventueel verspreiden onder uw buitendienstmedewerkers, maar er zijn ook andere manieren om de formulieren te verspreiden voor gebruik. InfoPath noemt dat Publiceren.
  2. Klik in het ontwerpvenster op de tab Bestand en kies Publiceren. Mocht u InfoPath Designer hebben gesloten na het opslaan, klik dan met de rechter muisknop op het pictogram van het xsn-bestand en kies Bewerken.

De diverse mogelijkheden die u achter Publiceren vindt, spreken voor zich: verstuur het formulier per mail aan een groep geadresseerden, publiceer het voor gebruik in SharePoint, en dergelijke. Voor sommige opties moet de invuller beschikken over InfoPath Filler, maar in oudere versies van het programma is dat niet aan de orde.