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

Måttlig: Kräver grundläggande kunskaper om makron, kodning och samverkan.

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

Sammanfattning

Den här artikeln visar 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. Microsofts supporttekniker kan hjälpa till att förklara funktionerna i en viss procedur, men de ändrar inte dessa exempel för att tillhandahålla ytterligare funktioner eller konstruktionsprocedurer för att uppfylla 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 körningsprogram är det dock ofta önskvärt att inaktivera varningarna eftersom kontroller och försiktighetsåtgärder vanligtvis ligger utanför användarens kontroll.

Du kan åstadkomma detta med hjälp av metoden SetWarnings för DoCmd-objektet, men du kanske föredrar att inaktivera varningar för hela programmet. Om du vill göra det kan du använda metoden SetOption för programobjektet. Men om du gör det bör du också aktivera varningarna igen när programmet avslutas.

Gör detta i ett enkelt program i ett enda formulär genom att följa dessa steg:

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

  2. Importera tabellen Kunder från Northwind.mdb exempeldatabas.

  3. Skapa ett nytt formulär i designvyn och lägg sedan till en obundna 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 det namnet cmdDelete.

  6. Ange egenskapen OnClick 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 sedan.

  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åga på menyn Fråga .

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

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

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

    Former! [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 notera 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 eller klistrar du 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 inaktiveras programmets bekräfta-alternativ när formuläret DeleteCustomers läses in och återaktiveras när det tas bort. I ett mer detaljerat program kan du utföra samma åtgärder i ett startformulär eller ett menyformulär.