Come usare SetOption per disabilitare i messaggi di avviso in un'applicazione access

Moderato: richiede competenze di base di macro, codifica e interoperabilità.

Questo articolo si applica solo a un database di Microsoft Access (.mdb o .accdb).

Riepilogo

Questo articolo illustra come usare il metodo Application.SetOption per disabilitare i messaggi di avviso in un'applicazione Access.

Ulteriori informazioni

Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia di qualsiasi tipo, sia espressa che implicita, ivi incluse, senza limitazioni, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare. In questo articolo si presuppone che l'utente conosca il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire il debug delle procedure. I tecnici del supporto tecnico Microsoft possono spiegare le funzionalità di una particolare procedura, ma non modificheranno questi esempi per fornire funzionalità aggiuntive o procedure di costruzione per soddisfare i requisiti specifici. Le query di azione e altri processi che accodano, eliminano o modificano i dati in genere presentano all'utente un avviso che informa che i dati sta per essere modificati. In un'applicazione di runtime, tuttavia, è spesso consigliabile disabilitare gli avvisi perché i controlli e le precauzioni in genere esulano dal controllo dell'utente.

A tale scopo, è possibile utilizzare il metodo SetWarnings dell'oggetto DoCmd, ma potrebbe essere preferibile disabilitare gli avvisi per l'intera applicazione. A tale scopo, è possibile utilizzare il metodo SetOption dell'oggetto Application. In questo caso, tuttavia, è consigliabile riattivare gli avvisi quando l'applicazione viene chiusa.

Per eseguire questa operazione in un'applicazione semplice e un modulo, seguire questa procedura:

  1. Avviare Access e quindi creare un database vuoto denominato TestRun.

  2. Importare la tabella Customers dal database di esempio Northwind.mdb.

  3. Creare una nuova maschera in visualizzazione Struttura e quindi aggiungere una casella combinata non associata alla sezione dei dettagli.

  4. Impostare le proprietà seguenti per la casella combinata:

    Name: cboCountry
    Row Source: SELECT DISTINCT Customers.Country FROM Customers ORDER BY Customers.Country; 
    
  5. Aggiungere un pulsante di comando alla sezione dei dettagli del modulo e denominarlo cmdDelete.

  6. Impostare la proprietà OnClick del pulsante di comando sulla routine evento seguente:

    DoCmd.OpenQuery "qryDeleteCustomers"

  7. Chiudere la Editor di Visual Basic.

  8. Salvare il modulo come DeleteCustomers e quindi chiuderlo.

  9. Creare una nuova query in visualizzazione Progettazione e quindi aggiungere la tabella Customers.

  10. In Access 2002 o in Access 2003 fare clic su Elimina query dal menu Query .

    In Access 2007 fare clic su Elimina nel gruppo Tipo di query nella scheda Progettazione .

  11. Trascinare l'asterisco (*) dall'elenco dei campi alla prima colonna della griglia di progettazione della query e quindi trascinare il campo Paese nella seconda colonna.

  12. Nella riga Criteri della colonna Country digitare quanto segue:

    Forme! [DeleteCustomers]! [cboCountry]

  13. Salvare la query come qryDeleteCustomers e quindi chiuderla.

  14. Aprire la maschera DeleteCustomers nella visualizzazione Maschera.

  15. Selezionare un paese dalla casella combinata, fare clic sul pulsante di comando e prendere nota dell'avviso visualizzato. Fare clic su No nella finestra di dialogo di avviso.

  16. Aprire il modulo in visualizzazione Struttura e quindi sulla barra degli strumenti fare clic sul pulsante Codice.

  17. Nella finestra Codice digitare o incollare le procedure seguenti:

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. Chiudere la Editor di Visual Basic, quindi salvare e chiudere il modulo.

  2. Aprire il modulo DeleteCustomers, selezionare un paese e quindi fare clic sul pulsante di comando.

    Si noti che non viene visualizzata alcuna finestra di dialogo di avviso.

In questo esempio le opzioni di conferma dell'applicazione sono disabilitate quando il modulo DeleteCustomers viene caricato e riattivato quando viene scaricato. In un'applicazione più elaborata è possibile eseguire le stesse azioni in un modulo di avvio o in un pannello comandi.