Comment utiliser SetOption pour désactiver les messages d’avertissement dans une application Access

Modéré : nécessite des compétences de base en macro, en codage et en interopérabilité.

Cet article sʼapplique uniquement à une base de données Microsoft Access (.mdb ou .accdb).

Résumé

Cet article explique comment utiliser la méthode Application.SetOption pour désactiver les messages d’avertissement dans une application Access.

Informations supplémentaires

Microsoft fournit des exemples de programmation à titre d’illustration uniquement, sans garantie expresse ou implicite. Cela inclut, sans y être limité, les garanties implicites de commercialisation et d’adaptation à un but en particulier. Cet article considère que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les ingénieurs du support technique Microsoft peuvent vous aider à expliquer les fonctionnalités d’une procédure particulière, mais ils ne modifient pas ces exemples pour fournir des fonctionnalités supplémentaires ou construire des procédures pour répondre à vos besoins spécifiques. Les requêtes d’action et autres processus qui ajoutent, suppriment ou modifient des données présentent généralement à l’utilisateur un avertissement indiquant que les données sont sur le point d’être modifiées. Toutefois, dans une application d’exécution, il est souvent souhaitable de désactiver les avertissements, car les vérifications et les précautions sont généralement indépendantes du contrôle de l’utilisateur.

Pour ce faire, utilisez la méthode SetWarnings de l’objet DoCmd, mais vous préférez peut-être désactiver les avertissements pour l’ensemble de l’application. Pour ce faire, vous pouvez utiliser la méthode SetOption de l’objet Application. Toutefois, si vous le faites, vous devez également réactiver les avertissements lorsque l’application se ferme.

Pour ce faire dans une application simple à un formulaire, procédez comme suit :

  1. Démarrez Access, puis créez une base de données vide nommée TestRun.

  2. Importez la table Customers à partir de l’exemple de base de données Northwind.mdb.

  3. Créez un formulaire en mode Création, puis ajoutez une zone de liste déroulante indépendante à la section détails.

  4. Définissez les propriétés suivantes pour la zone de liste déroulante :

    Name: cboCountry
    Row Source: SELECT DISTINCT Customers.Country FROM Customers ORDER BY Customers.Country; 
    
  5. Ajoutez un bouton de commande à la section détails du formulaire et nommez-le cmdDelete.

  6. Définissez la propriété OnClick du bouton de commande sur la procédure événementielle suivante :

    DoCmd.OpenQuery « qryDeleteCustomers »

  7. Fermez Visual Basic Editor.

  8. Enregistrez le formulaire en tant que DeleteCustomers, puis fermez-le.

  9. Créez une requête en mode Création, puis ajoutez la table Customers.

  10. Dans Access 2002 ou Access 2003, cliquez sur Supprimer la requête dans le menu Requête .

    Dans Access 2007, cliquez sur Supprimer dans le groupe Type de requête sous l’onglet Création .

  11. Faites glisser l’astérisque (*) de la liste de champs vers la première colonne de la grille de conception de requête, puis faites glisser le champ Pays vers la deuxième colonne.

  12. Dans la ligne Critères de la colonne Pays, tapez ce qui suit :

    Formes! [DeleteCustomers] ! [cboCountry]

  13. Enregistrez la requête sous qryDeleteCustomers, puis fermez-la.

  14. Ouvrez le formulaire DeleteCustomers en mode Formulaire.

  15. Sélectionnez un pays dans la zone de liste déroulante, cliquez sur le bouton de commande et notez l’avertissement qui s’affiche. Cliquez sur Non dans la boîte de dialogue d’avertissement.

  16. Ouvrez le formulaire en mode Création, puis dans la barre d’outils, cliquez sur le bouton Code.

  17. Dans la fenêtre Code, tapez ou collez les procédures suivantes :

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. Fermez le Rédacteur Visual Basic, puis enregistrez et fermez le formulaire.

  2. Ouvrez le formulaire SupprimerCustomers, sélectionnez un pays, puis cliquez sur le bouton de commande.

    Notez qu’aucune boîte de dialogue d’avertissement ne s’affiche.

Dans cet exemple, les options de confirmation de l’application sont désactivées lorsque le formulaire DeleteCustomers est chargé et réactivés lorsqu’il est déchargé. Dans une application plus élaborée, vous pouvez effectuer les mêmes actions dans un formulaire de démarrage ou un standard standard.