Så här använder du SetOption för att inaktivera varningsmeddelanden i ett Access-program

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.

Måttlig: Kräver grundläggande makron, kodning och kompatibilitetsfärdigheter.

Den här artikeln gäller endast för Microsoft Access-databaser (.mdb eller .accdb).

Sammanfattning

I den här artikeln finns information om hur du använder metoden Application.SetOption för att inaktivera varningsmeddelanden i ett Access-program.

Mer information

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. Microsoft-supporttekniker kan förklara funktionaliteten i en viss procedur, men de ändrar inte de här exemplen för att ge ytterligare funktioner eller skapa procedurer som uppfyller dina specifika krav. Åtgärdsfrågor och andra processer som lägger till, tar bort eller ändrar data visar vanligtvis användaren en varning om att data håller på att ändras. I ett program med körning är det dock ofta ett bra sätt att inaktivera varningar eftersom kontroller och försiktighetsåtgärder vanligtvis ligger utanför användarens kontroll.

Du kan uppnå detta med metoden SetWarnings för DoCmd-objektet, men du kanske vill inaktivera varningar för hela programmet. Det gör du genom att använda metoden SetOption för objektet Application. Om du gör det bör du dock även aktivera varningarna när programmet avslutas.

Gör så här i ett enkelt program med ett enda formulär:

  1. Starta Access och skapa sedan en tom databas med namnet TestRun.

  2. Importera tabellen Kunder från Northwind.mdb-exempeldatabasen.

  3. Skapa ett nytt formulär i designvyn och lägg sedan till en obunden kombinationsruta i informationsavsnittet.

  4. Ange följande egenskaper för kombinationsrutan:

    Name: cboCountry
    Row Source: SELECT DISTINCT Customers.Country FROM Customers ORDER BY Customers.Country; 
    
  5. Lägg till en kommandoknapp i informationsavsnittet i formuläret och ge den namnet cmdDelete.

  6. Ställ in egenskapen VidKlickning för kommandoknappen till följande händelseprocedur:

    DoCmd.OpenQuery "qryDeleteCustomers"

  7. Stäng Visual Basic Editor.

  8. Spara formuläret som DeleteCustomers och stäng det.

  9. Skapa en ny fråga i designvyn och lägg sedan till tabellen Kunder.

  10. I Access 2002 eller Access 2003 klickar du på Ta bort frågaMenyn Fråga.

    I Access 2007 klickar du på Ta bort i gruppen Frågetypfliken Design.

  11. Dra asterisken (*) från fältlistan till den första kolumnen i frågerutnätet och dra sedan fältet Land till den andra kolumnen.

  12. På raden Villkor i kolumnen Land skriver du följande:

    Forms! [DeleteCustomers]! [cboCountry]

  13. Spara frågan som qryDeleteCustomers och stäng den sedan.

  14. Öppna formuläret DeleteCustomers i formulärvyn.

  15. Välj ett land i kombinationsrutan, klicka på kommandoknappen och observera varningen som visas. Klicka på Nej i varningsdialogrutan.

  16. Öppna formuläret i designvyn och klicka sedan på knappen Kod i verktygsfältet.

  17. I fönstret Kod skriver du eller klistrar in följande procedurer:

Private Sub Form_Load()

Application.SetOption "Confirm Action Queries", 0
   Application.SetOption "Confirm Document Deletions", 0
   Application.SetOption "Confirm Record Changes", 0

End Sub

Private Sub Form_Unload(Cancel As Integer)

Application.SetOption "Confirm Action Queries", 1
    Application.SetOption "Confirm Document Deletions", 1
    Application.SetOption "Confirm Record Changes", 1

End Sub

  1. Stäng Visual Basic Editor och spara och stäng sedan formuläret.

  2. Öppna formuläret DeleteCustomers, välj ett land och klicka sedan på kommandoknappen.

    Observera att ingen varningsdialogruta visas.

I det här exemplet är programmets bekräftelsealternativ inaktiverade när formuläret DeleteCustomers läses in och aktiveras på annat sätt när det inaktiveras. I ett mer avancerat program kan du utföra samma åtgärder i ett startformulär eller formulärformulär.