# Een formulier-view aanmaken in AppSheet Een formulier-view aanmaken in AppSheet is essentieel zodra gebruikers data moeten invoeren of bewerken. Het formulier is het scherm waarop iemand een nieuw record toevoegt of een bestaand record bijwerkt. Een goed formulier maakt invoer snel en foutloos. In dit artikel leer je stap voor stap hoe je een formulier-view bouwt en verfijnt. [[TOC]] ## Wat is een formulier-view? Een formulier-view is een van de weergavetypes in AppSheet, naast lijsten, kaarten en tabellen. Waar lijsten data tonen, is het formulier bedoeld voor invoer. AppSheet maakt automatisch een formulier voor elke tabel, maar je kunt eigen formulieren aanmaken en die volledig naar wens inrichten. Een formulier toont de kolommen van een tabel als invoervelden. Het type van de kolom bepaalt hoe het veld eruitziet: een datumkolom krijgt een kalender, een Enum-kolom een keuzelijst en een tekstkolom een gewoon invoervak. :::info title="Stel kolomtypes eerst goed in" Het loont om kolomtypes goed in te stellen voordat je het formulier maakt. Een telefoonkolom van type Phone toont een nummerblok op de telefoon, terwijl dezelfde kolom als gewone tekst geen geoptimaliseerd toetsenbord geeft. ::: ## Een formulier-view aanmaken :::howto title="Formulier-view toevoegen" 1. Open je app in de AppSheet-editor en ga naar het tabblad **UX**. 2. Klik op **New View** en geef de view een herkenbare naam. 3. Kies bij **For this data** de tabel waarvoor het formulier is. 4. Selecteer bij **View type** de optie **form**. 5. Stel bij **Position** in waar de view in de navigatie verschijnt. 6. Sla op en test het formulier in het voorbeeldscherm. ::: Na het aanmaken kun je de volgorde van de velden aanpassen. Sleep velden naar boven of beneden zodat de meest logische volgorde ontstaat. Begin met de belangrijkste velden bovenaan, zodat gebruikers niet hoeven te scrollen voor wat ze het vaakst invullen. ## Velden slim laten verschijnen Een sterk formulier toont alleen wat relevant is. Met de eigenschap **Show If** laat je een veld alleen verschijnen onder bepaalde voorwaarden. Vraag je bijvoorbeeld naar een reden bij de status Afgewezen, dan toon je dat reden-veld alleen als de status daadwerkelijk Afgewezen is. AppSheet kent drie voorwaardelijke eigenschappen die je per kolom instelt. Samen bepalen ze wanneer een veld verschijnt, wanneer het verplicht is en welke waarden geldig zijn. | Eigenschap | Wat je ermee doet | Voorbeeld | | --- | --- | --- | | `Show If` | Een veld alleen tonen als de voorwaarde waar is | Het reden-veld verschijnt alleen als de status gelijk is aan Afgewezen, zodat het formulier overzichtelijk blijft. | | `Required If` | Een veld alleen verplicht maken onder voorwaarden | Een handtekening is pas verplicht als een inspectie is afgerond, niet bij een concept. | | `Valid If` | Controleren of een ingevoerde waarde klopt | Je dwingt af dat een aantal groter dan nul is of dat een einddatum na de startdatum ligt. | :::tip title="Voorkom fouten bij de bron" Gebruik **Valid If** om fouten te voorkomen voordat ze in je data komen. Een melding bij het invoeren is veel goedkoper dan een verkeerde waarde die je later moet opsporen en corrigeren. ::: ## Het formulier afronden en bevestigen Na het opslaan van een record kun je instellen wat er gebeurt. Standaard keert de gebruiker terug naar het overzicht, maar je kunt een bevestiging tonen of doorsturen naar een andere view. Onder de instellingen **Finish view** en **Save behavior** regel je dit gedrag. Met **Auto save** sla je automatisch op zodra het laatste veld is ingevuld, en met **Auto re-open** opent het formulier zich opnieuw na opslaan, handig bij veel achtereenvolgende invoer. :::warn title="Houd je data compleet" Zet bij velden die je data compleet houden de eigenschap **Require** op true. Een formulier dat lege belangrijke velden toelaat, levert onbruikbare records op die je later handmatig moet aanvullen. Verplicht stellen is de goedkoopste manier om datakwaliteit te bewaken. ::: :::faq ### Kan ik velden groeperen in een formulier? Ja. Met een kolom van type Show en subtype Section maak je koppen die velden visueel groeperen, zodat een lang formulier overzichtelijk blijft. ### Hoe maak ik een veld alleen-lezen? Stel de eigenschap Editable If in op false, of gebruik een voorwaarde zodat het veld alleen bewerkbaar is in bepaalde situaties. ### Kan ik een standaardwaarde instellen? Ja. Met de eigenschap Initial value geef je een veld een beginwaarde, bijvoorbeeld de datum van vandaag of de naam van de huidige gebruiker. ### Kan ik een formulier over meerdere pagina's verdelen? Ja. Bij Page style kies je Page Count of Tabs om een lang formulier op te splitsen in meerdere stappen of tabbladen, zodat invullen overzichtelijker wordt. ### Werkt een formulier-view ook offline? Ja. Formulieren werken offline als je app daarvoor is ingesteld. De ingevoerde records synchroniseren zodra er weer verbinding is. Lees meer over [[appsheet-offline-modus|offline gebruik]]. ::: ## Volgende stappen Met een goed formulier staat de basis van je app. Combineer het met [[appsheet-workflow-acties|automatische acties]] zodat er na het opslaan iets gebeurt, bijvoorbeeld een [[appsheet-email-notificatie|e-mailmelding]] naar een collega. Zo wordt invoer niet alleen makkelijk, maar ook het startpunt van een soepel proces.