Så här uppmanas användaren att spara ändringar i posten i ett formulär i Access

Anteckning

Office 365 ProPlus byter namn till Microsoft 365-appar för företag. Mer information om den här ändringen finns i det här blogginlägget.

Ursprungligt KB-nummer:   197103

Tips

Kräver grundläggande kunskaper i makro, kodning och interoperabilitet.

Sammanfattning

När du flyttar till nästa post i ett formulär eller stänger ett formulär sparas automatiskt alla ändringar som du har gjort i den aktuella posten. I den här artikeln visas hur du använder en BeforeUpdate-händelseprocedur för att uppmana dig att verifiera sparåtgärden innan Microsoft Access fortsätter.

Microsoft tillhandahåller programmeringsexempel enbart i förklarande syfte och gör inga utfästelser, varken uttryckligen eller underförstått. Detta omfattar men begränsas inte till underförstådd garanti för säljbarhet eller lämplighet för ett visst syfte. I denna artikel förutsätts att du känner till det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supportexperter kan hjälpa till att förklara funktionerna i en viss procedur, men de kommer inte att ändra dessa exempel för att tillhandahålla extra funktioner eller konstruera procedurer för att uppfylla dina specifika behov.

Mer information

Varning

Om du följer stegen i det här exemplet ändrar du exempeldatabasen Northwind.mdb. Du kanske vill säkerhetskopiera filen Northwind.mdb och följa dessa steg på en kopia av databasen.

I det här exemplet används händelseproceduren BeforeUpdate i formuläret Kunder för att uppmana användaren att bekräfta ändringar innan posten sparas:

  1. Öppna exempeldatabasen Northwind.mdb och öppna formuläret Kunder i designvyn.

  2. Ange formulärets BeforeUpdate egenskap till följande händelseprocedur:

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    
     ' This procedure checks to see if the data on the form has
     ' changed. If the data has changed, the procedure prompts the
     ' user to continue with the save operation or to cancel it. Then
     ' the action that triggered the BeforeUpdate event is completed.
    
     Dim ctl As Control
    
     On Error GoTo Err_BeforeUpdate
    
     ' The Dirty property is True if the record has been changed.
     If Me.Dirty Then
       ' Prompt to confirm the save operation.
       If MsgBox("Do you want to save?", vbYesNo + vbQuestion, _
               "Save Record") = vbNo Then
          Me.Undo
       End If
     End If
    
    Exit_BeforeUpdate:
     Exit Sub
    
    Err_BeforeUpdate:
     MsgBox Err.Number & " " & Err.Description
     Resume Exit_BeforeUpdate
    End Sub
    
  3. Klicka på Kompilera NorthwindFelsökningsmenyn .

  4. Klicka på Spara NordvindArkiv-menyn.

  5. Klicka på Stäng och återgå till Microsoft AccessArkiv-menyn.

När du gör en ändring i en post och sedan antingen flyttar till en annan post eller stänger formuläret uppmanas du att bekräfta att du vill spara den aktuella posten. Om du klickar på Nejåterställs posten och åtgärden fortsätter som vanligt.