Akademia VBA

czyli jak uzyskać władzę nad światem … danych

Jak bezpiecznie wyłączyć komunikaty ostrzegawcze w Excelu

Kategorie: Excel VBA,Ogólne — Dariusz Kolasa o 22:34, 15 Cze 2010

Z wyłączeniem komunikatów ostrzegawczych nie ma problemu. Jest to właściwość logiczna Excela. Problemem jest fakt, że pozostawienie wyłączonych komunikatów ostrzegawczych jest bardzo niebezpieczne przy późniejszej normalnej pracy użytkownika. Poniżej przykład procedury, gdzie na pewno zawsze nastąpi przywrócenie komunikatów, nawet gdy wystąpi błąd w procedurze. Jest to możliwe przy użyciu poprawnej obsługi błędów.

Private Sub UsunBiezacyArkuszBezOstrzezenia()
 
    On Error GoTo Obsluga
 
    'wyłącz komunikaty ostrzegawcze
    Application.DisplayAlerts = False 
 
    ActiveSheet.Delete
 
Czyszczenie:
    On Error Resume Next
    Application.DisplayAlerts = True 'przywróć komunikaty
    Exit Sub
 
Obsluga:
    MsgBox Err & ". " & Err.Description
    Resume Czyszczenie
 
End Sub

Jak dopisać rekord na formularzu z poziomu VBA?

Kategorie: Access VBA — Dariusz Kolasa o 18:01, 9 Cze 2010

Może to być potrzebne np przy pobieraniu danych z jakiegoś pliku. Jeżeli jest w tym momencie aktywny odpowiedni formularz (czyli taki na którym są pola tekstowe o nazwach „Imie” i „Nazwisko”), to możemy od razu zapisać pobrane dane. Procedura jest wyzwalana po kliknięciu przycisku o nazwie „przyciskDopiszRekord”, który także musi się znaleźć na formularzu.

Private Sub przyciskDopiszRekord_Click()
    Dim strImie As String, strNazwisko As String
 
    'testowe pobranie danych 
    strImie = InputBox("Podaj imię")
    strNazwisko = InputBox("Podaj nazwisko")
 
    'ustawienie się na nowym rekordzie
    DoCmd.GoToRecord , , acNewRec
 
    'wpisanie wartości do pól
    Me.Imie = strImie
    Me.Nazwisko = strNazwisko
 
    'zapisanie rekordu na fm
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
End Sub