Verwenden von SetOption zum Deaktivieren von Warnmeldungen in einer Access-Anwendung

Moderat: Erfordert grundlegende Makro-, Programmier- und Interoperabilitätskenntnisse.

Dieser Artikel gilt nur für eine Microsoft Access-Datenbank (.mdb oder .accdb).

Zusammenfassung

In diesem Artikel erfahren Sie, wie Sie die Application.SetOption-Methode verwenden, um Warnmeldungen in einer Access-Anwendung zu deaktivieren.

Weitere Informationen

Die Verwendung der hier aufgeführten Informationen, Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionsfähigkeit sowie ohne Anspruch auf Support zur Verfügung. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen. Microsoft-Supporttechniker können ihnen helfen, die Funktionalität eines bestimmten Verfahrens zu erklären, aber sie werden diese Beispiele nicht ändern, um zusätzliche Funktionen bereitzustellen oder Verfahren zu erstellen, die Ihren spezifischen Anforderungen entsprechen. Aktionsabfragen und andere Prozesse, die Daten anfügen, löschen oder ändern, geben dem Benutzer in der Regel eine Warnung, dass die Daten gerade geändert werden sollen. In einer Laufzeitanwendung ist es jedoch häufig wünschenswert, die Warnungen zu deaktivieren, da Überprüfungen und Vorsichtsmaßnahmen in der Regel außerhalb der Kontrolle des Benutzers liegen.

Sie können dies erreichen, indem Sie die SetWarnings-Methode des DoCmd-Objekts verwenden, aber Sie können warnungen für die gesamte Anwendung deaktivieren. Dazu können Sie die SetOption-Methode des Application-Objekts verwenden. Wenn Sie dies jedoch tun, sollten Sie die Warnungen auch wieder aktivieren, wenn die Anwendung beendet wird.

Führen Sie die folgenden Schritte aus, um dies in einer einfachen, einseitigen Anwendung zu tun:

  1. Starten Sie Access, und erstellen Sie dann eine leere Datenbank mit dem Namen TestRun.

  2. Importieren Sie die Tabelle Customers aus der Northwind.mdb Beispieldatenbank.

  3. Erstellen Sie ein neues Formular in der Entwurfsansicht, und fügen Sie dann dem Detailabschnitt ein ungebundenes Kombinationsfeld hinzu.

  4. Legen Sie die folgenden Eigenschaften für das Kombinationsfeld fest:

    Name: cboCountry
    Row Source: SELECT DISTINCT Customers.Country FROM Customers ORDER BY Customers.Country; 
    
  5. Fügen Sie dem Detailabschnitt des Formulars eine Befehlsschaltfläche hinzu, und nennen Sie es cmdDelete.

  6. Legen Sie die OnClick-Eigenschaft der Befehlsschaltfläche auf die folgende Ereignisprozedur fest:

    DoCmd.OpenQuery "qryDeleteCustomers"

  7. Schließen Sie den Visual Basic-Editor.

  8. Speichern Sie das Formular als DeleteCustomers, und schließen Sie es dann.

  9. Erstellen Sie eine neue Abfrage in der Entwurfsansicht, und fügen Sie dann die Tabelle Customers hinzu.

  10. Klicken Sie in Access 2002 oder Access 2003 im Menü Abfrage auf Abfrage löschen.

    Klicken Sie in Access 2007 auf der Registerkarte Entwurf in der Gruppe Abfragetyp auf Löschen.

  11. Ziehen Sie das Sternchen (*) aus der Feldliste in die erste Spalte des Abfrageentwurfsbereichs, und ziehen Sie dann das Feld Land in die zweite Spalte.

  12. Geben Sie in der Zeile Kriterien der Spalte Land Folgendes ein:

    Formen! [DeleteCustomers]! [cboCountry]

  13. Speichern Sie die Abfrage als qryDeleteCustomers, und schließen Sie sie dann.

  14. Öffnen Sie das Formular DeleteCustomers in der Formularansicht.

  15. Wählen Sie im Kombinationsfeld ein Land aus, klicken Sie auf die Befehlsschaltfläche, und notieren Sie sich die angezeigte Warnung. Klicken Sie im Warnungsdialogfeld auf Nein.

  16. Öffnen Sie das Formular in der Entwurfsansicht, und klicken Sie dann auf der Symbolleiste auf die Schaltfläche Code.

  17. Geben Sie im Codefenster die folgenden Verfahren ein, oder fügen Sie sie ein:

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. Schließen Sie die Visual Basic-Editor, speichern und schließen Sie dann das Formular.

  2. Öffnen Sie das Formular DeleteCustomers, wählen Sie ein Land aus, und klicken Sie dann auf die Befehlsschaltfläche.

    Beachten Sie , dass kein Warnungsdialogfeld angezeigt wird.

In diesem Beispiel sind die Bestätigungsoptionen der Anwendung deaktiviert, wenn das DeleteCustomers-Formular geladen und beim Entladen wieder aktiviert wird. In einer komplexeren Anwendung können Sie die gleichen Aktionen in einem Startformular oder einer Schalttafel ausführen.