Slik bruker du SetOption til å deaktivere advarsler i et Access-program

Moderat: Krever grunnleggende makro-, kodings- og interoperabilitetsferdigheter.

Denne artikkelen gjelder bare for en Microsoft Access-database (.mdb eller *.accdb).

Sammendrag

Denne artikkelen viser deg hvordan du bruker application.SetOption-metoden til å deaktivere advarsler i et Access-program.

Mer informasjon

Microsoft gir programmeringseksempler kun for illustrasjon, uten garanti hverken uttrykt eller antydet. Dette inkluderer, men er ikke begrenset til, de underforståtte garantiene for salgbarhet eller egnethet for et bestemt formål. Denne artikkelen forutsetter at du er kjent med programmeringsspråket som blir demonstrert og verktøyene som brukes til å opprette og feilsøke prosedyrer. Microsoft kundestøtteteknikere kan bidra til å forklare funksjonaliteten til en bestemt prosedyre, men de vil ikke endre disse eksemplene for å gi ekstra funksjonalitet eller konstruere prosedyrer for å oppfylle dine spesifikke krav. Redigeringsspørringer og andre prosesser som tilføyer, sletter eller endrer data, presenterer vanligvis brukeren med en advarsel om at dataene er i ferd med å bli endret. I et kjøretidsprogram er det imidlertid ofte ønskelig å deaktivere advarslene fordi kontroller og forholdsregler vanligvis er utenfor brukerens kontroll.

Du kan gjøre dette ved hjelp av SetWarnings-metoden for DoCmd-objektet, men du foretrekker kanskje å deaktivere advarsler for hele programmet. Hvis du vil gjøre dette, kan du bruke SetOption-metoden for programobjektet. Hvis du gjør dette, bør du imidlertid også aktivere advarslene igjen når programmet avsluttes.

Hvis du vil gjøre dette i et enkelt program med ett skjema, følger du disse trinnene:

  1. Start Access, og opprett deretter en tom database med navnet TestRun.

  2. Importer Kunder-tabellen fra eksempeldatabasen Northwind.mdb.

  3. Opprett et nytt skjema i utformingsvisning, og legg deretter til en ubundet kombinasjonsboks i detaljinndelingen.

  4. Angi følgende egenskaper for kombinasjonsboksen:

    Name: cboCountry
    Row Source: SELECT DISTINCT Customers.Country FROM Customers ORDER BY Customers.Country; 
    
  5. Legg til en kommandoknapp i detaljinndelingen i skjemaet, og gi den navnet cmdDelete.

  6. Angi OnClick-egenskapen for kommandoknappen til følgende hendelsesprosedyre:

    DoCmd.OpenQuery "qryDeleteCustomers"

  7. Lukk Visual Basic-Redaktør.

  8. Lagre skjemaet som DeleteCustomers, og lukk det.

  9. Opprett en ny spørring i utformingsvisning, og legg deretter til Kunder-tabellen.

  10. Klikk Slett spørringSpørring-menyen i Access 2002 eller Access 2003.

    Klikk Slett i Spørringstype-gruppen i Kategorien Utforming i Access 2007.

  11. Dra stjernen (*) fra feltlisten til den første kolonnen i utformingsrutenettet for spørringen, og dra deretter Land-feltet til den andre kolonnen.

  12. Skriv inn følgende i Vilkår-raden i Kolonnen Land:

    Skjemaer! [DeleteCustomers]! Jeg har ikke noe å si til deg.

  13. Lagre spørringen som qryDeleteCustomers, og lukk den.

  14. Åpne DeleteCustomers-skjemaet i skjemavisning.

  15. Velg et land fra kombinasjonsboksen, klikk kommandoknappen, og legg merke til advarselen som vises. Klikk Nei i advarselsdialogboksen.

  16. Åpne skjemaet i utformingsvisning, og klikk deretter Kode-knappen på verktøylinjen.

  17. Skriv eller lim inn følgende prosedyrer i Kode-vinduet:

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. Lukk Visual Basic-Redaktør, og lagre og lukk deretter skjemaet.

  2. Åpne DeleteCustomers-skjemaet, velg et land, og klikk deretter kommandoknappen.

    Vær oppmerksom på at det ikke vises noen advarselsdialogboks.

I dette eksemplet deaktiveres programmets bekreftelsesalternativer når DeleteCustomers-skjemaet lastes inn og aktiveres på nytt når det fjernes. I et mer omfattende program kan du utføre de samme handlingene i et oppstartsskjema eller sentralbord.