Access/VBA – jak usunąć komunikat z pytaniem o usunięcie rekordów

przez | 2024-01-24

Pisząc aplikację w języku VBA w programie Access czasami chcę np. usunąć tymczasowe rekordy z tabeli. Oto przykładowy kod:

Sub UsunTymczasoweDane()
    DoCmd.RunSQL ("DELETE * FROM tmp")
End Sub

Podczas wykonywania tego kodu pojawi się taki oto komunikat

Jeśli jest to aplikacja, która wykonuje pewne czynności to nie chciałbym, aby użytkownik zobaczył ten komunikat (użytkownik może kliknąć w przycisk Nie, co spowoduje wystąpienie błędu).

Jeśli chcę, aby operacja usuwania tymczasowych rekordów wykonała się bez pytania użytkownika o zgodę należy ustawić opcję SetWarings na False dodając przed zapytaniem taką oto instrukcję: DoCmd.SetWarnings False. Oczywiście po wykonaniu operacji warto przywrócić opcję wyświetlania komunikatów. Oto przykładowy kod po modyfikacjach:

Sub UsunTymczasoweDane()
    DoCmd.SetWarnings False
    DoCmd.RunSQL ("DELETE * FROM tmp")
    DoCmd.SetWarnings True
End Sub

Teraz moja procedura usunie automatycznie rekordy z tymczasowej tabeli bez pytania się użytkownika o zgodę.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.