Uruchamianie kodu SQL

Do uruchamiania  kodów SQL w VBA służy metoda docmdRunSQL

kliknij, aby powiększyć

Metoda ta ma 2 argumenty:

      • SQLStatement – kod SQL, argument wymagany
      • USE Transaction – parametr decydujący o użyciu transakcji. Argument opcjonalny, wartość domyślna True

Metody docmd.RunSQL najczęściej używam do uruchamiania kodu SQL będącego zapisem kwerend funkcjonalnych.Metoda ta ma  duże znaczenie w przypadkach, gdy sam kod SQL jest oparty na kwerendzie parametrycznej, więc trudno ją zdefiniować i zapisać na stałe jako obiekt kwerendy. 


Kurs Access 2013 od podstaw

 

Procedura VBA wyłączająca ostrzeżenia

kliknij, aby powiększyć

Każda aplikacja stworzona w Accessie powinna działać tak, żeby użytkownik  nie musiał się zastanawiać jak reagować na różnego rodzaju komunikaty systemowe bazy. Jak je wyłączyć w kodzie VBA? . Robimy to za pomocą metody obiektu docmdSetWarnings

kliknij, aby powiększyć

Metoda ta może przyjmować wartość typu Boolean:

      • False – przy wyłączeniu ostrzeżeń
      • True – przy włączeniu ostrzeżeń

Warto tu pamiętać, że jeżeli wyłączamy w kodzie ostrzeżenia, to potem należy je włączyć. Nawet wyjście z procedury nie resetuje  ustawień.

Przykładowy kod może wyglądać tak:

Public Sub MojaProcedura()
DoCmd.SetWarnings False
ciąg instrukcji np. kwerendy funkcjonalne
DoCmd.SetWarnings True
End Sub

 

Egzamin Specjalista MS Access

Uruchamianie kwerendy w kodzie VBA

Każdą kwerendę w bazie Access można oczywiście uruchomić także kodem VBA. Robimy to za pomocą metody obiektu docmd
Open Query. (bez spacji w środku, to jedno słowo, ale z przyczyn technicznych muszę zapisać tu w ten sposób).

kliknij, aby powiększyć

Parametry to:

    • QueryName – nazwa kwerendy. Jest to ciąg tekstowy oznaczający nazwę kwerendy w bazie Access. Parametr obowiązkowy;
    • View as View – tryb otwierania kwerendy, wartość domyślna to acViewNormal czyli arkusz danych;
      kliknij, aby powiększyć
    • DataMode as OpenDataMode – możliwość wprowadzania/edycji danych, wartość domyślna – acEdit;
      kliknij, aby powiększyć

Przykładowy kod może wyglądać tak:

kliknij, aby powiększyć

W praktycznych zastosowaniach nigdy nie korzystam z tej metody. Moim zdaniem użytkownik aplikacji Access nie powinien mieć dostępu do kwerend – wszystko można zrobić przecież w oparciu o formularze i/lub raporty.

 

 


 

Egzamin Specjalista MS Access

Obiekt VBA docmd

Obiekt docmd to jeden z najczęściej stosowanych obiektów w kodzie VBA. Jest obiektem wbudowanym w VBA Accessa, nie trzeba go dodatkowo instalować czy aktywować. Nie występuje w Excelu. Służy do uruchamiania wielu akcji wykonywanych w bazie, zastępując z powodzeniem zwykłe makra. 

kliknij, aby powiększyć

Obiekt docmd ma tyko metody, nie posiada właściwości.

      • AddMenu
      • AplyFilter
      • Beep
      • BrowseTo
      • CancelEvent
      • ClearMacroError
      • Close
      • CloseDatabase
      • CopyDatabaseFile
      • CopyObject
      • DeleteObject
      • DoMenuItem
      • Echo
      • FindNext
      • FindRecord
      • GoToControl
      • GoToPage
      • GoToRecord
      • Hourglass
      • LockNavigationPane
      • Maximize
      • Minimize
      • MoveSize
      • NavigateTo
      • OpenDataAccessPage
      • OpenDiagram
      • OpenForm
      • OpenFunction
      • OpenModule
      • Open_Query
      • OpenReport
      • OpenStoredProcedure
      • OpenTable
      • OpenView
      • OutputTo
      • PrintOut
      • Quit
      • RefreshRecord
      • Rename
      • RepaintObject
      • Requery
      • Restore
      • RunCommand
      • RunDataMacro
      • RunMacro
      • RunSavedImportExport
      • RunSQL
      • Save
      • SearchForRecord
      • SelectObject
      • SendObject
      • SetDisplayedCategories
      • SetFilter
      • SetMenuItem
      • SetOrderBy
      • SetParameter
      • SetProperty
      • SetWarnings
      • ShowAllRecords
      • ShowToolbar
      • SingleStep
      • TransferDatabase
      • TransferSharePointList
      • TransferSpreadsheet
      • TransferSQLDatabase
      • TransferText

Naprawdę warto się zapoznać z tymi metodami. Większość z nich jest wręcz niezbędna przy programowaniu aplikacji Access.

 


 

Kurs Access - programowanie w VBA