Hiermee kunt u een item bekijken, bewerken of maken, de inhoud opslaan en de besturingselementen opnieuw instellen in een besturingselement Formulier bewerken.

Overzicht

Deze functies wijzigen de status van het besturingselement Formulier bewerken. Het besturingselement kan worden gebruikt in een van deze modi:

Modus Beschrijving
FormMode.Edit Het formulier wordt gevuld met een bestaand record, en de gebruiker kan de waarden van de velden wijzigen. Als de gebruiker klaar is, kan die de wijzigingen opslaan naar het record.
FormMode.New Het formulier is gevuld met standaardwaarden en de gebruiker kan de waarden van de velden wijzigen. Als de gebruiker klaar is, kan die het record toevoegen aan de gegevensbron.
FormMode.View Het formulier wordt gevuld met een bestaand record, maar de gebruiker kan de waarden van de velden niet wijzigen.

Beschrijving

Deze functies worden vaak aangeroepen vanuit de formule OnSelect voor een besturingselement van een knop of afbeelding, zodat de gebruiker wijzigingen kan opslaan, bewerkingen kan weggooien of een record kan maken. U kunt besturingselementen en deze functies samen gebruiken om een volledige oplossing te maken.

Deze functies retourneren geen waarden.

SubmitForm

Gebruik de functie SubmitForm in de eigenschap OnSelect van een knopbesturingselement om wijzigingen in een formulierbesturingselement op te slaan naar de gegevensbron.

Voordat wijzigingen worden verzonden, controleert deze functie of er validatieproblemen zijn voor velden die als vereist zijn gemarkeerd of waarvoor een of meer beperkingen gelden op de waarde ervan. Dit gedrag komt overeen met de functie Validate.

SubmitForm controleert ook de eigenschap Valid van het formulier, die een aggregatie is van alle Valid-eigenschappen van de besturingselementen voor kaart die het formulierbesturingselement bevat. Als er een probleem optreedt, worden de gegevens niet verzonden en worden de eigenschappen Error en ErrorKind van het formulierbesturingselement dienovereenkomstig ingesteld.

Als de validatie is geslaagd, verzendt SubmitForm de wijziging naar de gegevensbron.

  • Als dit lukt, wordt het OnSuccess-gedrag van het formulier uitgevoerd, en worden de eigenschappen Error en ErrorKind uitgeschakeld. Als het formulier zich in de modus FormMode.New bevindt, wordt deze geretourneerd naar de modus FormMode.Edit.
  • Als dit niet lukt, wordt het OnFailure-gedrag van het formulier uitgevoerd en worden de eigenschappen Error en ErrorKind aan de hand hiervan ingesteld. De modus van het formulier blijft ongewijzigd.

EditForm

De functie EditForm wijzigt de modus van het formulierbesturingselement in FormMode.Edit. In deze modus wordt de inhoud van de eigenschap Item van het formulierbesturingselement gebruikt om het formulier in te vullen. Als de functie SubmitForm wordt uitgevoerd wanneer het formulier zich in deze modus bevindt, wordt er een record gewijzigd, niet een nieuwe gemaakt. FormMode.Edit is de standaardinstelling voor het formulierbesturingselement.

NewForm

De functie NewForm wijzigt de modus van het formulierbesturingselement in FormMode.New. In deze modus wordt de inhoud van de eigenschap Item van het formulierbesturingselement genegeerd, en wordt het formulier ingevuld met de standaardwaarden van de eigenschap DataSource van het formulier. Als de functie SubmitForm wordt uitgevoerd wanneer het formulier zich in deze modus bevindt, wordt er een nieuwe record gemaakt, niet een bestaande gewijzigd.

ResetForm

Met de functie ResetForm wordt de inhoud van een formulier teruggezet naar de oorspronkelijke waarden, van voordat de gebruiker wijzigingen aanbracht. Als het formulier zich in de modus FormMode.New bevindt, wordt het formulier teruggezet naar de modus FormMode.Edit. Daarnaast wordt het OnReset-gedrag van het formulierbesturingselement uitgevoerd. U kunt ook afzonderlijke besturingselementen opnieuw instellen met de functie Reset maar alleen vanuit het formulier.

ViewForm

De functie ViewForm wijzigt de modus van het formulierbesturingselement in FormMode.View. In deze modus wordt de inhoud van de eigenschap Item van het formulierbesturingselement gebruikt om het formulier in te vullen. De functies SubmitForm en RestForm hebben geen effect in deze modus.

DisplayMode Poperty

De huidige modus kan worden gelezen door de eigenschap Mode. De modus bepaalt ook de waarde van de eigenschap DisplayMode die kan worden gebruikt door gegevenskaarten en besturingselementen in het formulierbesturingselement. Vaak wordt de eigenschap DisplayMode van de gegevenskaart ingesteld op Parent.DisplayMode (refererend aan het formulier) net als de eigenschap DisplayMode van het besturingselement (refererend aan de gegevenskaart):

Modus DisplayMode Beschrijving
FormMode.Edit DisplayMode.Edit Gegevenskaarten en besturingselementen zijn bewerkbaar, klaar om wijzigingen aan een record te accepteren.
FormMode.New DisplayMode.Edit Gegevenskaarten en besturingselementen zijn bewerkbaar, klaar om een nieuw record te accepteren.
FormMode.View DisplayMode.View Gegevenskaarten en besturingselementen zijn niet bewerkbaar en geoptimaliseerd om weer te geven.

Syntaxis

SubmitForm( FormName )

  • FormName - vereist. Formulierbesturingselement dat moet worden verzonden naar de gegevensbron.

EditForm( FormName )

  • FormName - vereist. Formulierbesturingselement dat moet worden overgeschakeld naar de modus FormMode.Edit.

NewForm( FormName )

  • FormName - vereist. Formulierbesturingselement dat moet worden overgeschakeld naar de modus FormMode.New.

ResetForm( FormName )

  • FormName - vereist. Formulierbesturingselement dat moet worden teruggezet naar de beginwaarden. Daarnaast wordt het formulier overgeschakeld van de modus FormMode.New naar de modus FormMode.Edit.

ViewForm( FormName )

  • FormName - vereist. Formulierbesturingselement om over te schakelen naar de modus FormMode.View.

Voorbeelden

Zie Gegevensformulieren begrijpen voor volledige voorbeelden.

  1. Voeg een knopbesturingselement toe, stel de eigenschap Text in op de weergave van Opslaan en stel de bijbehorende eigenschap OnSelect in op deze formule:

    SubmitForm( EditForm )

  2. Maak de eigenschap OnFailure van een formulierbesturingselement leeg en stel de bijbehorende eigenschap OnSuccess in op deze formule:

    Back()

  3. Wijzig de naam van een besturingselement Label in ErrorText en stel de eigenschap Text ervan in op deze formule:

    EditForm.Error

    Wanneer de gebruiker de knop Opslaan selecteert, worden de wijzigingen in het formulierbesturingselement verzonden naar de onderliggende gegevensbron.

    • Als de verzending is geslaagd, worden alle wijzigingen opgeslagen. Als het formulierbesturingselement in de modus Nieuw staat, wordt er een record gemaakt. ErrorText is leeg en het vorige scherm wordt opnieuw weergegeven.
    • Als het verzenden is mislukt, toont ErrorText een gebruiksvriendelijk foutbericht en blijft het huidige scherm zichtbaar, zodat de gebruiker het probleem kan oplossen en het opnieuw kan proberen.
  4. Voeg een knopbesturingselement toe, stel de eigenschap Text in op de weergave van Annuleren en stel de bijbehorende eigenschap OnSelect in op deze formule:

    ResetForm( EditForm ); Back()

    Wanneer de gebruiker de knop Annuleren selecteert, worden de waarden in het formulierbesturingselement teruggezet naar de waarden van voordat de gebruiker begon met bewerken, wordt het vorige scherm opnieuw weergegeven en wordt het formulierbesturingselement teruggezet naar de modus Bewerken als deze in de modus Nieuw stond.

  5. Voeg een knopbesturingselement toe, stel de eigenschap Text in op de weergave van Nieuw en stel de bijbehorende eigenschap OnSelect in op deze formule:

    NewForm( EditForm ); Navigate( EditScreen, None )

    Wanneer de gebruiker de knop Nieuw selecteert, wordt het formulierbesturingselement overgeschakeld naar de modus Nieuw, wordt het besturingselement ingevuld met de standaardwaarden voor de gegevensbron van het formulierbesturingselement en wordt het scherm met het formulierbesturingselement weergegeven. Wanneer de functie SubmitForm wordt uitgevoerd, wordt er een nieuwe record gemaakt in plaats van dat een bestaande wordt bijgewerkt.