Visa, redigera eller skapa ett objekt, spara innehållet och återställ kontrollerna i en Redigera formulär-kontroll.

Översikt

Dessa funktioner ändrar status för kontrollen Redigera formulär. Formulärkontroll kan vara i något av följande lägen:

Läge Beskrivning
FormMode.Edit Formuläret fylls med en befintlig post och du kan ändra fältens värden. När du är klar kan du spara ändringarna i posten.
FormMode.New Formuläret fylls med standardvärden och du kan ändra fältens värden. När du är klar kan du lägga till posten till datakällan.
FormMode.View Formuläret fylls med en befintlig post, med du kan inte ändra fältens värden.

Beskrivning

Dessa funktioner anropas ofta från OnSelect-formeln för en knapp- eller bildkontroll så att användaren kan spara ändringar, avbryta ändringar eller skapa en post. Du kan använda kontroller och dessa funktioner tillsammans för att skapa en komplett lösning.

Dessa funktioner returnerar inga värden.

SubmitForm

Använd SubmitForm-funktionen i en knappkontrolls OnSelect-egenskap för att spara alla ändringar i en formulärkontroll till datakällan.

Innan några ändringar skickas kontrollerar den här funktionen om det finns valideringsproblem med några fält som har markerats som obligatoriska eller som har en eller flera begränsningar i dess värde. Det här beteendet matchar det från Validate-funktionen.

SubmitForm kontrollerar också formulärets Valid-egenskap, vilket är en sammansättning av alla Valid-egenskaper för Card-kontroller som formulärkontrollen innehåller. Om ett problem uppstår skickas inte data och egenskaperna Error och ErrorKind i formulärkontrollen anges i enlighet med detta.

Om valideringen passerar skickar SubmitForm ändringen till datakällan.

  • Om det lyckas så körs formulärets OnSuccess-beteende och egenskaperna Error och ErrorKind rensas. Om formuläret var i FormMode.New-läge returneras det till FormMode.Edit-läge.
  • Om det inte lyckas så körs formulärets OnFailure-beteende och egenskaperna Error och ErrorKind anges i enlighet med detta. Formulärets läge är oförändrat.

EditForm

Funktionen EditForm ändrar formulärkontrollens läge till FormMode.Edit. I det här läget används innehållet i formulärkontrollens Item-egenskap för att fylla formuläret. Om SubmitForm-funktionen körs när formuläret är i detta läge så ändras en post istället för att skapas. FormMode.Edit är standard för formulärkontrollen.

NewForm

Funktionen NewForm ändrar formulärkontrollens läge till FormMode.New. I det här läget ignoreras innehållet i formulärkontrollens Item-egenskap och standardvärdena för formulärets DataSource-egenskap fyller formuläret. Om SubmitForm-funktionen körs när formuläret är i detta läge så skapas en post istället för att ändras.

ResetForm

Funktionen ResetForm återställer innehållet i ett formulär till sina ursprungliga värden, innan användaren gjorde några ändringar. Om formuläret är i FormMode.New-läge återställs det till FormMode.Edit-läge. Formulärkontrollens OnReset-beteende körs också. Du kan också återställa enskilda kontroller med funktionen Reset, men endast från formuläret.

ViewForm

Funktionen ViewForm ändrar formulärkontrollens läge till FormMode.View. I det här läget används innehållet i formulärkontrollens Item-egenskap för att fylla formuläret. Funktionerna SubmitForm och RestForm har ingen effekt i detta läge.

Egeskapen DisplayMode

Det aktuella läget kan läsas via egenskapen Mode. Läget avgör också värdet för egenskapen DisplayMode, vilken kan användas av datakort och kontroller i formulärkontrollen. Datakortets egenskap DisplayMode anges ofta till Parent.DisplayMode (refererar till formuläret), liksom kontrollens egenskap DisplayMode (refererar till datakortet):

Läge DisplayMode Beskrivning
FormMode.Edit DisplayMode.Edit Datakort och kontroller är redigerbara och kan acceptera ändringar i poster.
FormMode.New DisplayMode.Edit Datakort och kontroller är redigerbara och kan acceptera nya poster.
FormMode.View DisplayMode.View Datakort och kontroller är inte redigerbara eller optimerade för visning.

Syntax

SubmitForm( FormName )

  • FormName – Krävs. Formulärkontroll för att skicka till datakällan.

EditForm( FormName )

  • FormName – Krävs. Formulärkontroll för att växla till FormMode.Edit-läge.

NewForm( FormName )

  • FormName – Krävs. Formulärkontroll för att växla till FormMode.New-läge.

ResetForm( FormName )

  • FormName – Krävs. Formulärkontroll för att återställa till ursprungliga värden. Växlar även formuläret från FormMode.New-läge till FormMode.Edit-läge.

NewForm(FormName)

  • FormName – Krävs. Formulärkontroll för att växla till läget FormMode.View.

Exempel

Se Förstå dataformulär för fullständiga exempel.

  1. Lägg till en knappkontroll och ställ in dess Text-egenskap för att visa Save samt ange dess OnSelect-egenskap enligt följande formel:

    SubmitForm( EditForm )

  2. Ställ in OnFailure-egenskapen för en formulärkontroll till tom och dess OnSuccess-egenskap enligt följande formel:

    Back()

  3. Namnge en etikettkontroll ErrorText och ställ in dess Text-egenskap enligt följande formel:

    EditForm.Error

    När användaren väljer Save-knappen skickas alla ändringar i formulärkontrollen till den underliggande datakällan.

    • Om överföringen lyckas sparas alla ändringar, om formulärkontrollen är i New-läge så skapas en post. ErrorText är tom och föregående skärm visas igen.
    • Om överföringen misslyckas visar ErrorText ett användarvänligt felmeddelande och den nuvarande skärmen fortsätter visas så att användaren kan rätta till problemet och försöka igen.
  4. Lägg till en knappkontroll, ställ in dess Text-egenskap för att visa Cancelsamt ange dess OnSelect-egenskap enligt följande formel:

    ResetForm( EditForm ); Back()

    När användaren väljer Cancel-knappen återställs värdena i formulärkontrollen till som de var innan användaren började redigera, den föregående skärmen visas igen och formulärkontrollen returneras till Edit-läge om den var i New-läge.

  5. Lägg till en knappkontroll, ställ in dess Text-egenskap för att visa Newsamt ange dess OnSelect-egenskap enligt följande formel:

    NewForm( EditForm ); Navigate( EditScreen, None )

    När användaren väljer New-knappen växlar formulärkontrollen till New-läge, standardvärdena för formulärkontrollens datakälla fyller denna kontroll och skärmen som innehåller formulärkontrollen visas. När SubmitForm-funktionen körs skapas en post i stället för att uppdateras.